in service/medialive/deserializers.go [18721:19149]
func awsRestjson1_deserializeDocumentHlsGroupSettings(v **types.HlsGroupSettings, value interface{}) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
if value == nil {
return nil
}
shape, ok := value.(map[string]interface{})
if !ok {
return fmt.Errorf("unexpected JSON type %v", value)
}
var sv *types.HlsGroupSettings
if *v == nil {
sv = &types.HlsGroupSettings{}
} else {
sv = *v
}
for key, value := range shape {
switch key {
case "adMarkers":
if err := awsRestjson1_deserializeDocument__listOfHlsAdMarkers(&sv.AdMarkers, value); err != nil {
return err
}
case "baseUrlContent":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected __string to be of type string, got %T instead", value)
}
sv.BaseUrlContent = ptr.String(jtv)
}
case "baseUrlContent1":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected __string to be of type string, got %T instead", value)
}
sv.BaseUrlContent1 = ptr.String(jtv)
}
case "baseUrlManifest":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected __string to be of type string, got %T instead", value)
}
sv.BaseUrlManifest = ptr.String(jtv)
}
case "baseUrlManifest1":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected __string to be of type string, got %T instead", value)
}
sv.BaseUrlManifest1 = ptr.String(jtv)
}
case "captionLanguageMappings":
if err := awsRestjson1_deserializeDocument__listOfCaptionLanguageMapping(&sv.CaptionLanguageMappings, value); err != nil {
return err
}
case "captionLanguageSetting":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsCaptionLanguageSetting to be of type string, got %T instead", value)
}
sv.CaptionLanguageSetting = types.HlsCaptionLanguageSetting(jtv)
}
case "clientCache":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsClientCache to be of type string, got %T instead", value)
}
sv.ClientCache = types.HlsClientCache(jtv)
}
case "codecSpecification":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsCodecSpecification to be of type string, got %T instead", value)
}
sv.CodecSpecification = types.HlsCodecSpecification(jtv)
}
case "constantIv":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected __stringMin32Max32 to be of type string, got %T instead", value)
}
sv.ConstantIv = ptr.String(jtv)
}
case "destination":
if err := awsRestjson1_deserializeDocumentOutputLocationRef(&sv.Destination, value); err != nil {
return err
}
case "directoryStructure":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsDirectoryStructure to be of type string, got %T instead", value)
}
sv.DirectoryStructure = types.HlsDirectoryStructure(jtv)
}
case "discontinuityTags":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsDiscontinuityTags to be of type string, got %T instead", value)
}
sv.DiscontinuityTags = types.HlsDiscontinuityTags(jtv)
}
case "encryptionType":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsEncryptionType to be of type string, got %T instead", value)
}
sv.EncryptionType = types.HlsEncryptionType(jtv)
}
case "hlsCdnSettings":
if err := awsRestjson1_deserializeDocumentHlsCdnSettings(&sv.HlsCdnSettings, value); err != nil {
return err
}
case "hlsId3SegmentTagging":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsId3SegmentTaggingState to be of type string, got %T instead", value)
}
sv.HlsId3SegmentTagging = types.HlsId3SegmentTaggingState(jtv)
}
case "iFrameOnlyPlaylists":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected IFrameOnlyPlaylistType to be of type string, got %T instead", value)
}
sv.IFrameOnlyPlaylists = types.IFrameOnlyPlaylistType(jtv)
}
case "incompleteSegmentBehavior":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsIncompleteSegmentBehavior to be of type string, got %T instead", value)
}
sv.IncompleteSegmentBehavior = types.HlsIncompleteSegmentBehavior(jtv)
}
case "indexNSegments":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin3 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.IndexNSegments = int32(i64)
}
case "inputLossAction":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected InputLossActionForHlsOut to be of type string, got %T instead", value)
}
sv.InputLossAction = types.InputLossActionForHlsOut(jtv)
}
case "ivInManifest":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsIvInManifest to be of type string, got %T instead", value)
}
sv.IvInManifest = types.HlsIvInManifest(jtv)
}
case "ivSource":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsIvSource to be of type string, got %T instead", value)
}
sv.IvSource = types.HlsIvSource(jtv)
}
case "keepSegments":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin1 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.KeepSegments = int32(i64)
}
case "keyFormat":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected __string to be of type string, got %T instead", value)
}
sv.KeyFormat = ptr.String(jtv)
}
case "keyFormatVersions":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected __string to be of type string, got %T instead", value)
}
sv.KeyFormatVersions = ptr.String(jtv)
}
case "keyProviderSettings":
if err := awsRestjson1_deserializeDocumentKeyProviderSettings(&sv.KeyProviderSettings, value); err != nil {
return err
}
case "manifestCompression":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsManifestCompression to be of type string, got %T instead", value)
}
sv.ManifestCompression = types.HlsManifestCompression(jtv)
}
case "manifestDurationFormat":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsManifestDurationFormat to be of type string, got %T instead", value)
}
sv.ManifestDurationFormat = types.HlsManifestDurationFormat(jtv)
}
case "minSegmentLength":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.MinSegmentLength = int32(i64)
}
case "mode":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsMode to be of type string, got %T instead", value)
}
sv.Mode = types.HlsMode(jtv)
}
case "outputSelection":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsOutputSelection to be of type string, got %T instead", value)
}
sv.OutputSelection = types.HlsOutputSelection(jtv)
}
case "programDateTime":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsProgramDateTime to be of type string, got %T instead", value)
}
sv.ProgramDateTime = types.HlsProgramDateTime(jtv)
}
case "programDateTimeClock":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsProgramDateTimeClock to be of type string, got %T instead", value)
}
sv.ProgramDateTimeClock = types.HlsProgramDateTimeClock(jtv)
}
case "programDateTimePeriod":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0Max3600 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.ProgramDateTimePeriod = int32(i64)
}
case "redundantManifest":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsRedundantManifest to be of type string, got %T instead", value)
}
sv.RedundantManifest = types.HlsRedundantManifest(jtv)
}
case "segmentationMode":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsSegmentationMode to be of type string, got %T instead", value)
}
sv.SegmentationMode = types.HlsSegmentationMode(jtv)
}
case "segmentLength":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin1 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.SegmentLength = int32(i64)
}
case "segmentsPerSubdirectory":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin1 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.SegmentsPerSubdirectory = int32(i64)
}
case "streamInfResolution":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsStreamInfResolution to be of type string, got %T instead", value)
}
sv.StreamInfResolution = types.HlsStreamInfResolution(jtv)
}
case "timedMetadataId3Frame":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsTimedMetadataId3Frame to be of type string, got %T instead", value)
}
sv.TimedMetadataId3Frame = types.HlsTimedMetadataId3Frame(jtv)
}
case "timedMetadataId3Period":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.TimedMetadataId3Period = int32(i64)
}
case "timestampDeltaMilliseconds":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.TimestampDeltaMilliseconds = int32(i64)
}
case "tsFileMode":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected HlsTsFileMode to be of type string, got %T instead", value)
}
sv.TsFileMode = types.HlsTsFileMode(jtv)
}
default:
_, _ = key, value
}
}
*v = sv
return nil
}