diff --git a/CHANGELOG.md b/CHANGELOG.md index f066dc2e18d..ccdf9f0a6bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +Release v1.13.10 (2018-03-07) +=== + +### Service Client Updates +* `aws/endpoints`: Updated Regions and Endpoints metadata. +* `service/medialive`: Updates service API and documentation + * Updates API to model required traits and minimum/maximum constraints. + Release v1.13.9 (2018-03-06) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 4940435fa61..fd0443ae2cb 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -2878,10 +2878,6 @@ var awsusgovPartition = partition{ Hostname: "s3.us-gov-west-1.amazonaws.com", Protocols: []string{"http", "https"}, }, - "us-gov-west-1-dualstack": endpoint{ - Hostname: "s3.dualstack.us-gov-west-1.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - }, }, }, "sms": service{ diff --git a/aws/version.go b/aws/version.go index 17877293614..39763b82fb4 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.13.9" +const SDKVersion = "1.13.10" diff --git a/models/apis/medialive/2017-10-14/api-2.json b/models/apis/medialive/2017-10-14/api-2.json index c720a2d0b29..80c501eaaf1 100644 --- a/models/apis/medialive/2017-10-14/api-2.json +++ b/models/apis/medialive/2017-10-14/api-2.json @@ -27,10 +27,10 @@ }, "errors": [ { - "shape": "UnprocessableEntityException" + "shape": "BadRequestException" }, { - "shape": "BadRequestException" + "shape": "UnprocessableEntityException" }, { "shape": "InternalServerErrorException" @@ -545,10 +545,10 @@ }, "errors": [ { - "shape": "UnprocessableEntityException" + "shape": "BadRequestException" }, { - "shape": "BadRequestException" + "shape": "UnprocessableEntityException" }, { "shape": "InternalServerErrorException" @@ -724,7 +724,7 @@ "locationName": "codingMode" }, "Dialnorm": { - "shape": "__integer", + "shape": "__integerMin1Max31", "locationName": "dialnorm" }, "DrcProfile": { @@ -775,10 +775,13 @@ "locationName": "destination" }, "RolloverInterval": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "rolloverInterval" } - } + }, + "required": [ + "Destination" + ] }, "ArchiveOutputSettings": { "type": "structure", @@ -795,7 +798,10 @@ "shape": "__string", "locationName": "nameModifier" } - } + }, + "required": [ + "ContainerSettings" + ] }, "AribDestinationSettings": { "type": "structure", @@ -811,14 +817,18 @@ "type": "structure", "members": { "InputChannelLevels": { - "shape": "ListOfInputChannelLevel", + "shape": "__listOfInputChannelLevel", "locationName": "inputChannelLevels" }, "OutputChannel": { - "shape": "__integer", + "shape": "__integerMin0Max7", "locationName": "outputChannel" } - } + }, + "required": [ + "OutputChannel", + "InputChannelLevels" + ] }, "AudioCodecSettings": { "type": "structure", @@ -869,7 +879,7 @@ "locationName": "codecSettings" }, "LanguageCode": { - "shape": "__string", + "shape": "__stringMin3Max3", "locationName": "languageCode" }, "LanguageCodeControl": { @@ -888,7 +898,11 @@ "shape": "__string", "locationName": "streamName" } - } + }, + "required": [ + "AudioSelectorName", + "Name" + ] }, "AudioDescriptionAudioTypeControl": { "type": "string", @@ -915,7 +929,10 @@ "shape": "AudioLanguageSelectionPolicy", "locationName": "languageSelectionPolicy" } - } + }, + "required": [ + "LanguageCode" + ] }, "AudioLanguageSelectionPolicy": { "type": "string", @@ -949,7 +966,7 @@ "locationName": "algorithmControl" }, "TargetLkfs": { - "shape": "__double", + "shape": "__doubleMinNegative59Max0", "locationName": "targetLkfs" } } @@ -984,10 +1001,13 @@ "type": "structure", "members": { "Pid": { - "shape": "__integer", + "shape": "__integerMin0Max8191", "locationName": "pid" } - } + }, + "required": [ + "Pid" + ] }, "AudioSelector": { "type": "structure", @@ -1000,7 +1020,10 @@ "shape": "AudioSelectorSettings", "locationName": "selectorSettings" } - } + }, + "required": [ + "Name" + ] }, "AudioSelectorSettings": { "type": "structure", @@ -1108,7 +1131,7 @@ "locationName": "networkEndBlackoutImage" }, "NetworkId": { - "shape": "__string", + "shape": "__stringMin34Max34", "locationName": "networkId" }, "State": { @@ -1159,7 +1182,7 @@ "locationName": "backgroundColor" }, "BackgroundOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "backgroundOpacity" }, "Font": { @@ -1171,11 +1194,11 @@ "locationName": "fontColor" }, "FontOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "fontOpacity" }, "FontResolution": { - "shape": "__integer", + "shape": "__integerMin96Max600", "locationName": "fontResolution" }, "FontSize": { @@ -1187,7 +1210,7 @@ "locationName": "outlineColor" }, "OutlineSize": { - "shape": "__integer", + "shape": "__integerMin0Max10", "locationName": "outlineSize" }, "ShadowColor": { @@ -1195,7 +1218,7 @@ "locationName": "shadowColor" }, "ShadowOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "shadowOpacity" }, "ShadowXOffset": { @@ -1211,11 +1234,11 @@ "locationName": "teletextGridControl" }, "XPosition": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "xPosition" }, "YPosition": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "yPosition" } } @@ -1280,7 +1303,11 @@ "shape": "__string", "locationName": "name" } - } + }, + "required": [ + "CaptionSelectorName", + "Name" + ] }, "CaptionDestinationSettings": { "type": "structure", @@ -1335,18 +1362,23 @@ "type": "structure", "members": { "CaptionChannel": { - "shape": "__integer", + "shape": "__integerMin1Max4", "locationName": "captionChannel" }, "LanguageCode": { - "shape": "__string", + "shape": "__stringMin3Max3", "locationName": "languageCode" }, "LanguageDescription": { - "shape": "__string", + "shape": "__stringMin1", "locationName": "languageDescription" } - } + }, + "required": [ + "LanguageCode", + "LanguageDescription", + "CaptionChannel" + ] }, "CaptionSelector": { "type": "structure", @@ -1363,7 +1395,10 @@ "shape": "CaptionSelectorSettings", "locationName": "selectorSettings" } - } + }, + "required": [ + "Name" + ] }, "CaptionSelectorSettings": { "type": "structure", @@ -1402,11 +1437,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -1418,7 +1453,7 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, "InputSpecification": { @@ -1451,7 +1486,7 @@ "locationName": "message" }, "ValidationErrors": { - "shape": "ListOfValidationError", + "shape": "__listOfValidationError", "locationName": "validationErrors" } } @@ -1487,11 +1522,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "Id": { @@ -1499,7 +1534,7 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, "InputSpecification": { @@ -1541,7 +1576,7 @@ "type": "structure", "members": { "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EncoderSettings": { @@ -1549,7 +1584,7 @@ "locationName": "encoderSettings" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, "InputSpecification": { @@ -1580,7 +1615,7 @@ "type": "structure", "members": { "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EncoderSettings": { @@ -1588,7 +1623,7 @@ "locationName": "encoderSettings" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, "InputSpecification": { @@ -1637,11 +1672,11 @@ "type": "structure", "members": { "Destinations": { - "shape": "ListOfInputDestinationRequest", + "shape": "__listOfInputDestinationRequest", "locationName": "destinations" }, "InputSecurityGroups": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "inputSecurityGroups" }, "Name": { @@ -1654,7 +1689,7 @@ "idempotencyToken": true }, "Sources": { - "shape": "ListOfInputSourceRequest", + "shape": "__listOfInputSourceRequest", "locationName": "sources" }, "Type": { @@ -1667,11 +1702,11 @@ "type": "structure", "members": { "Destinations": { - "shape": "ListOfInputDestinationRequest", + "shape": "__listOfInputDestinationRequest", "locationName": "destinations" }, "InputSecurityGroups": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "inputSecurityGroups" }, "Name": { @@ -1684,7 +1719,7 @@ "idempotencyToken": true }, "Sources": { - "shape": "ListOfInputSourceRequest", + "shape": "__listOfInputSourceRequest", "locationName": "sources" }, "Type": { @@ -1715,7 +1750,7 @@ "type": "structure", "members": { "WhitelistRules": { - "shape": "ListOfInputWhitelistRuleCidr", + "shape": "__listOfInputWhitelistRuleCidr", "locationName": "whitelistRules" } } @@ -1759,11 +1794,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -1775,7 +1810,7 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, "InputSpecification": { @@ -1857,11 +1892,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -1873,7 +1908,7 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, "InputSpecification": { @@ -1919,11 +1954,11 @@ "locationName": "arn" }, "AttachedChannels": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "attachedChannels" }, "Destinations": { - "shape": "ListOfInputDestination", + "shape": "__listOfInputDestination", "locationName": "destinations" }, "Id": { @@ -1935,11 +1970,11 @@ "locationName": "name" }, "SecurityGroups": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "securityGroups" }, "Sources": { - "shape": "ListOfInputSource", + "shape": "__listOfInputSource", "locationName": "sources" }, "State": { @@ -1977,7 +2012,7 @@ "locationName": "id" }, "WhitelistRules": { - "shape": "ListOfInputWhitelistRule", + "shape": "__listOfInputWhitelistRule", "locationName": "whitelistRules" } } @@ -1986,18 +2021,22 @@ "type": "structure", "members": { "NetworkId": { - "shape": "__integer", + "shape": "__integerMin0Max65536", "locationName": "networkId" }, "NetworkName": { - "shape": "__string", + "shape": "__stringMin1Max256", "locationName": "networkName" }, "RepInterval": { - "shape": "__integer", + "shape": "__integerMin25Max10000", "locationName": "repInterval" } - } + }, + "required": [ + "NetworkName", + "NetworkId" + ] }, "DvbSdtOutputSdt": { "type": "string", @@ -2016,15 +2055,15 @@ "locationName": "outputSdt" }, "RepInterval": { - "shape": "__integer", + "shape": "__integerMin25Max2000", "locationName": "repInterval" }, "ServiceName": { - "shape": "__string", + "shape": "__stringMin1Max256", "locationName": "serviceName" }, "ServiceProviderName": { - "shape": "__string", + "shape": "__stringMin1Max256", "locationName": "serviceProviderName" } } @@ -2079,7 +2118,7 @@ "locationName": "backgroundColor" }, "BackgroundOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "backgroundOpacity" }, "Font": { @@ -2091,11 +2130,11 @@ "locationName": "fontColor" }, "FontOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "fontOpacity" }, "FontResolution": { - "shape": "__integer", + "shape": "__integerMin96Max600", "locationName": "fontResolution" }, "FontSize": { @@ -2107,7 +2146,7 @@ "locationName": "outlineColor" }, "OutlineSize": { - "shape": "__integer", + "shape": "__integerMin0Max10", "locationName": "outlineSize" }, "ShadowColor": { @@ -2115,7 +2154,7 @@ "locationName": "shadowColor" }, "ShadowOpacity": { - "shape": "__integer", + "shape": "__integerMin0Max255", "locationName": "shadowOpacity" }, "ShadowXOffset": { @@ -2131,11 +2170,11 @@ "locationName": "teletextGridControl" }, "XPosition": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "xPosition" }, "YPosition": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "yPosition" } } @@ -2159,7 +2198,7 @@ "type": "structure", "members": { "Pid": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "pid" } } @@ -2168,7 +2207,7 @@ "type": "structure", "members": { "RepInterval": { - "shape": "__integer", + "shape": "__integerMin1000Max30000", "locationName": "repInterval" } } @@ -2286,7 +2325,7 @@ "locationName": "dcFilter" }, "Dialnorm": { - "shape": "__integer", + "shape": "__integerMin1Max31", "locationName": "dialnorm" }, "DrcLine": { @@ -2408,11 +2447,11 @@ "locationName": "scte20Detection" }, "Source608ChannelNumber": { - "shape": "__integer", + "shape": "__integerMin1Max4", "locationName": "source608ChannelNumber" }, "Source608TrackNumber": { - "shape": "__integer", + "shape": "__integerMin1Max5", "locationName": "source608TrackNumber" } } @@ -2426,7 +2465,7 @@ "type": "structure", "members": { "AudioDescriptions": { - "shape": "ListOfAudioDescription", + "shape": "__listOfAudioDescription", "locationName": "audioDescriptions" }, "AvailBlanking": { @@ -2442,7 +2481,7 @@ "locationName": "blackoutSlate" }, "CaptionDescriptions": { - "shape": "ListOfCaptionDescription", + "shape": "__listOfCaptionDescription", "locationName": "captionDescriptions" }, "GlobalConfiguration": { @@ -2450,7 +2489,7 @@ "locationName": "globalConfiguration" }, "OutputGroups": { - "shape": "ListOfOutputGroup", + "shape": "__listOfOutputGroup", "locationName": "outputGroups" }, "TimecodeConfig": { @@ -2458,10 +2497,16 @@ "locationName": "timecodeConfig" }, "VideoDescriptions": { - "shape": "ListOfVideoDescription", + "shape": "__listOfVideoDescription", "locationName": "videoDescriptions" } - } + }, + "required": [ + "VideoDescriptions", + "AudioDescriptions", + "OutputGroups", + "TimecodeConfig" + ] }, "FecOutputIncludeFec": { "type": "string", @@ -2474,7 +2519,7 @@ "type": "structure", "members": { "ColumnDepth": { - "shape": "__integer", + "shape": "__integerMin4Max20", "locationName": "columnDepth" }, "IncludeFec": { @@ -2482,7 +2527,7 @@ "locationName": "includeFec" }, "RowLength": { - "shape": "__integer", + "shape": "__integerMin1Max20", "locationName": "rowLength" } } @@ -2533,7 +2578,7 @@ "type": "structure", "members": { "InitialAudioGain": { - "shape": "__integer", + "shape": "__integerMinNegative60Max60", "locationName": "initialAudioGain" }, "InputEndAction": { @@ -2709,15 +2754,15 @@ "locationName": "afdSignaling" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin1000", "locationName": "bitrate" }, "BufFillPct": { - "shape": "__integer", + "shape": "__integerMin0Max100", "locationName": "bufFillPct" }, "BufSize": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "bufSize" }, "ColorMetadata": { @@ -2753,15 +2798,15 @@ "locationName": "gopBReference" }, "GopClosedCadence": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "gopClosedCadence" }, "GopNumBFrames": { - "shape": "__integer", + "shape": "__integerMin0Max7", "locationName": "gopNumBFrames" }, "GopSize": { - "shape": "__double", + "shape": "__doubleMin1", "locationName": "gopSize" }, "GopSizeUnits": { @@ -2777,15 +2822,15 @@ "locationName": "lookAheadRateControl" }, "MaxBitrate": { - "shape": "__integer", + "shape": "__integerMin1000", "locationName": "maxBitrate" }, "MinIInterval": { - "shape": "__integer", + "shape": "__integerMin0Max30", "locationName": "minIInterval" }, "NumRefFrames": { - "shape": "__integer", + "shape": "__integerMin1Max6", "locationName": "numRefFrames" }, "ParControl": { @@ -2793,7 +2838,7 @@ "locationName": "parControl" }, "ParDenominator": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "parDenominator" }, "ParNumerator": { @@ -2817,11 +2862,11 @@ "locationName": "sceneChangeDetect" }, "Slices": { - "shape": "__integer", + "shape": "__integerMin1Max32", "locationName": "slices" }, "Softness": { - "shape": "__integer", + "shape": "__integerMin0Max128", "locationName": "softness" }, "SpatialAq": { @@ -2889,11 +2934,11 @@ "type": "structure", "members": { "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0Max600", "locationName": "filecacheDuration" }, "HttpTransferMode": { @@ -2901,11 +2946,11 @@ "locationName": "httpTransferMode" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "restartDelay" }, "Salt": { @@ -2922,19 +2967,19 @@ "type": "structure", "members": { "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0Max600", "locationName": "filecacheDuration" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "restartDelay" } } @@ -3000,7 +3045,7 @@ "type": "structure", "members": { "AdMarkers": { - "shape": "ListOfHlsAdMarkers", + "shape": "__listOfHlsAdMarkers", "locationName": "adMarkers" }, "BaseUrlContent": { @@ -3012,7 +3057,7 @@ "locationName": "baseUrlManifest" }, "CaptionLanguageMappings": { - "shape": "ListOfCaptionLanguageMapping", + "shape": "__listOfCaptionLanguageMapping", "locationName": "captionLanguageMappings" }, "CaptionLanguageSetting": { @@ -3028,7 +3073,7 @@ "locationName": "codecSpecification" }, "ConstantIv": { - "shape": "__string", + "shape": "__stringMin32Max32", "locationName": "constantIv" }, "Destination": { @@ -3048,7 +3093,7 @@ "locationName": "hlsCdnSettings" }, "IndexNSegments": { - "shape": "__integer", + "shape": "__integerMin3", "locationName": "indexNSegments" }, "InputLossAction": { @@ -3064,7 +3109,7 @@ "locationName": "ivSource" }, "KeepSegments": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "keepSegments" }, "KeyFormat": { @@ -3088,7 +3133,7 @@ "locationName": "manifestDurationFormat" }, "MinSegmentLength": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "minSegmentLength" }, "Mode": { @@ -3104,11 +3149,11 @@ "locationName": "programDateTime" }, "ProgramDateTimePeriod": { - "shape": "__integer", + "shape": "__integerMin0Max3600", "locationName": "programDateTimePeriod" }, "SegmentLength": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "segmentLength" }, "SegmentationMode": { @@ -3116,7 +3161,7 @@ "locationName": "segmentationMode" }, "SegmentsPerSubdirectory": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "segmentsPerSubdirectory" }, "StreamInfResolution": { @@ -3128,36 +3173,39 @@ "locationName": "timedMetadataId3Frame" }, "TimedMetadataId3Period": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "timedMetadataId3Period" }, "TimestampDeltaMilliseconds": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "timestampDeltaMilliseconds" }, "TsFileMode": { "shape": "HlsTsFileMode", "locationName": "tsFileMode" } - } + }, + "required": [ + "Destination" + ] }, "HlsInputSettings": { "type": "structure", "members": { "Bandwidth": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "bandwidth" }, "BufferSegments": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "bufferSegments" }, "Retries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "retries" }, "RetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "retryInterval" } } @@ -3194,11 +3242,11 @@ "type": "structure", "members": { "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0Max600", "locationName": "filecacheDuration" }, "MediaStoreStorageClass": { @@ -3206,11 +3254,11 @@ "locationName": "mediaStoreStorageClass" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "restartDelay" } } @@ -3243,14 +3291,17 @@ "locationName": "hlsSettings" }, "NameModifier": { - "shape": "__string", + "shape": "__stringMin1", "locationName": "nameModifier" }, "SegmentModifier": { "shape": "__string", "locationName": "segmentModifier" } - } + }, + "required": [ + "HlsSettings" + ] }, "HlsProgramDateTime": { "type": "string", @@ -3312,11 +3363,11 @@ "type": "structure", "members": { "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0Max600", "locationName": "filecacheDuration" }, "HttpTransferMode": { @@ -3324,11 +3375,11 @@ "locationName": "httpTransferMode" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "restartDelay" } } @@ -3341,11 +3392,11 @@ "locationName": "arn" }, "AttachedChannels": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "attachedChannels" }, "Destinations": { - "shape": "ListOfInputDestination", + "shape": "__listOfInputDestination", "locationName": "destinations" }, "Id": { @@ -3357,11 +3408,11 @@ "locationName": "name" }, "SecurityGroups": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "securityGroups" }, "Sources": { - "shape": "ListOfInputSource", + "shape": "__listOfInputSource", "locationName": "sources" }, "State": { @@ -3391,14 +3442,18 @@ "type": "structure", "members": { "Gain": { - "shape": "__integer", + "shape": "__integerMinNegative60Max6", "locationName": "gain" }, "InputChannel": { - "shape": "__integer", + "shape": "__integerMin0Max15", "locationName": "inputChannel" } - } + }, + "required": [ + "InputChannel", + "Gain" + ] }, "InputCodec": { "type": "string", @@ -3471,7 +3526,10 @@ "shape": "__string", "locationName": "username" } - } + }, + "required": [ + "Uri" + ] }, "InputLossActionForHlsOut": { "type": "string", @@ -3499,11 +3557,11 @@ "type": "structure", "members": { "BlackFrameMsec": { - "shape": "__integer", + "shape": "__integerMin0Max1000000", "locationName": "blackFrameMsec" }, "InputLossImageColor": { - "shape": "__string", + "shape": "__stringMin6Max6", "locationName": "inputLossImageColor" }, "InputLossImageSlate": { @@ -3515,7 +3573,7 @@ "locationName": "inputLossImageType" }, "RepeatFrameMsec": { - "shape": "__integer", + "shape": "__integerMin0Max1000000", "locationName": "repeatFrameMsec" } } @@ -3555,7 +3613,7 @@ "locationName": "id" }, "WhitelistRules": { - "shape": "ListOfInputWhitelistRule", + "shape": "__listOfInputWhitelistRule", "locationName": "whitelistRules" } } @@ -3564,7 +3622,7 @@ "type": "structure", "members": { "WhitelistRules": { - "shape": "ListOfInputWhitelistRuleCidr", + "shape": "__listOfInputWhitelistRuleCidr", "locationName": "whitelistRules" } } @@ -3573,11 +3631,11 @@ "type": "structure", "members": { "AudioSelectors": { - "shape": "ListOfAudioSelector", + "shape": "__listOfAudioSelector", "locationName": "audioSelectors" }, "CaptionSelectors": { - "shape": "ListOfCaptionSelector", + "shape": "__listOfCaptionSelector", "locationName": "captionSelectors" }, "DeblockFilter": { @@ -3589,7 +3647,7 @@ "locationName": "denoiseFilter" }, "FilterStrength": { - "shape": "__integer", + "shape": "__integerMin1Max5", "locationName": "filterStrength" }, "InputFilter": { @@ -3774,7 +3832,7 @@ "type": "structure", "members": { "Channels": { - "shape": "ListOfChannelSummary", + "shape": "__listOfChannelSummary", "locationName": "channels" }, "NextToken": { @@ -3787,7 +3845,7 @@ "type": "structure", "members": { "Channels": { - "shape": "ListOfChannelSummary", + "shape": "__listOfChannelSummary", "locationName": "channels" }, "NextToken": { @@ -3815,7 +3873,7 @@ "type": "structure", "members": { "InputSecurityGroups": { - "shape": "ListOfInputSecurityGroup", + "shape": "__listOfInputSecurityGroup", "locationName": "inputSecurityGroups" }, "NextToken": { @@ -3828,7 +3886,7 @@ "type": "structure", "members": { "InputSecurityGroups": { - "shape": "ListOfInputSecurityGroup", + "shape": "__listOfInputSecurityGroup", "locationName": "inputSecurityGroups" }, "NextToken": { @@ -3856,7 +3914,7 @@ "type": "structure", "members": { "Inputs": { - "shape": "ListOfInput", + "shape": "__listOfInput", "locationName": "inputs" }, "NextToken": { @@ -3869,7 +3927,7 @@ "type": "structure", "members": { "Inputs": { - "shape": "ListOfInput", + "shape": "__listOfInput", "locationName": "inputs" }, "NextToken": { @@ -3878,224 +3936,68 @@ } } }, - "ListOfAudioChannelMapping": { - "type": "list", - "member": { - "shape": "AudioChannelMapping" - } - }, - "ListOfAudioDescription": { - "type": "list", - "member": { - "shape": "AudioDescription" - } + "M2tsAbsentInputAudioBehavior": { + "type": "string", + "enum": [ + "DROP", + "ENCODE_SILENCE" + ] }, - "ListOfAudioSelector": { - "type": "list", - "member": { - "shape": "AudioSelector" - } + "M2tsArib": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ] }, - "ListOfCaptionDescription": { - "type": "list", - "member": { - "shape": "CaptionDescription" - } + "M2tsAribCaptionsPidControl": { + "type": "string", + "enum": [ + "AUTO", + "USE_CONFIGURED" + ] }, - "ListOfCaptionLanguageMapping": { - "type": "list", - "member": { - "shape": "CaptionLanguageMapping" - } + "M2tsAudioBufferModel": { + "type": "string", + "enum": [ + "ATSC", + "DVB" + ] }, - "ListOfCaptionSelector": { - "type": "list", - "member": { - "shape": "CaptionSelector" - } + "M2tsAudioInterval": { + "type": "string", + "enum": [ + "VIDEO_AND_FIXED_INTERVALS", + "VIDEO_INTERVAL" + ] }, - "ListOfChannelEgressEndpoint": { - "type": "list", - "member": { - "shape": "ChannelEgressEndpoint" - } + "M2tsAudioStreamType": { + "type": "string", + "enum": [ + "ATSC", + "DVB" + ] }, - "ListOfChannelSummary": { - "type": "list", - "member": { - "shape": "ChannelSummary" - } + "M2tsBufferModel": { + "type": "string", + "enum": [ + "MULTIPLEX", + "NONE" + ] }, - "ListOfHlsAdMarkers": { - "type": "list", - "member": { - "shape": "HlsAdMarkers" - } + "M2tsCcDescriptor": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ] }, - "ListOfInput": { - "type": "list", - "member": { - "shape": "Input" - } - }, - "ListOfInputAttachment": { - "type": "list", - "member": { - "shape": "InputAttachment" - } - }, - "ListOfInputChannelLevel": { - "type": "list", - "member": { - "shape": "InputChannelLevel" - } - }, - "ListOfInputDestination": { - "type": "list", - "member": { - "shape": "InputDestination" - } - }, - "ListOfInputDestinationRequest": { - "type": "list", - "member": { - "shape": "InputDestinationRequest" - } - }, - "ListOfInputSecurityGroup": { - "type": "list", - "member": { - "shape": "InputSecurityGroup" - } - }, - "ListOfInputSource": { - "type": "list", - "member": { - "shape": "InputSource" - } - }, - "ListOfInputSourceRequest": { - "type": "list", - "member": { - "shape": "InputSourceRequest" - } - }, - "ListOfInputWhitelistRule": { - "type": "list", - "member": { - "shape": "InputWhitelistRule" - } - }, - "ListOfInputWhitelistRuleCidr": { - "type": "list", - "member": { - "shape": "InputWhitelistRuleCidr" - } - }, - "ListOfOutput": { - "type": "list", - "member": { - "shape": "Output" - } - }, - "ListOfOutputDestination": { - "type": "list", - "member": { - "shape": "OutputDestination" - } - }, - "ListOfOutputDestinationSettings": { - "type": "list", - "member": { - "shape": "OutputDestinationSettings" - } - }, - "ListOfOutputGroup": { - "type": "list", - "member": { - "shape": "OutputGroup" - } - }, - "ListOfValidationError": { - "type": "list", - "member": { - "shape": "ValidationError" - } - }, - "ListOfVideoDescription": { - "type": "list", - "member": { - "shape": "VideoDescription" - } - }, - "ListOf__string": { - "type": "list", - "member": { - "shape": "__string" - } - }, - "M2tsAbsentInputAudioBehavior": { - "type": "string", - "enum": [ - "DROP", - "ENCODE_SILENCE" - ] - }, - "M2tsArib": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "M2tsAribCaptionsPidControl": { - "type": "string", - "enum": [ - "AUTO", - "USE_CONFIGURED" - ] - }, - "M2tsAudioBufferModel": { - "type": "string", - "enum": [ - "ATSC", - "DVB" - ] - }, - "M2tsAudioInterval": { - "type": "string", - "enum": [ - "VIDEO_AND_FIXED_INTERVALS", - "VIDEO_INTERVAL" - ] - }, - "M2tsAudioStreamType": { - "type": "string", - "enum": [ - "ATSC", - "DVB" - ] - }, - "M2tsBufferModel": { - "type": "string", - "enum": [ - "MULTIPLEX", - "NONE" - ] - }, - "M2tsCcDescriptor": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "M2tsEbifControl": { - "type": "string", - "enum": [ - "NONE", - "PASSTHROUGH" - ] + "M2tsEbifControl": { + "type": "string", + "enum": [ + "NONE", + "PASSTHROUGH" + ] }, "M2tsEbpPlacement": { "type": "string", @@ -4181,7 +4083,7 @@ "locationName": "audioBufferModel" }, "AudioFramesPerPes": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "audioFramesPerPes" }, "AudioPids": { @@ -4193,7 +4095,7 @@ "locationName": "audioStreamType" }, "Bitrate": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "bitrate" }, "BufferModel": { @@ -4233,7 +4135,7 @@ "locationName": "ebpAudioInterval" }, "EbpLookaheadMs": { - "shape": "__integer", + "shape": "__integerMin0Max10000", "locationName": "ebpLookaheadMs" }, "EbpPlacement": { @@ -4257,7 +4159,7 @@ "locationName": "etvSignalPid" }, "FragmentTime": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "fragmentTime" }, "Klv": { @@ -4269,11 +4171,11 @@ "locationName": "klvDataPids" }, "NullPacketBitrate": { - "shape": "__double", + "shape": "__doubleMin0", "locationName": "nullPacketBitrate" }, "PatInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "patInterval" }, "PcrControl": { @@ -4281,7 +4183,7 @@ "locationName": "pcrControl" }, "PcrPeriod": { - "shape": "__integer", + "shape": "__integerMin0Max500", "locationName": "pcrPeriod" }, "PcrPid": { @@ -4289,7 +4191,7 @@ "locationName": "pcrPid" }, "PmtInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "pmtInterval" }, "PmtPid": { @@ -4297,7 +4199,7 @@ "locationName": "pmtPid" }, "ProgramNum": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "programNum" }, "RateMode": { @@ -4325,7 +4227,7 @@ "locationName": "segmentationStyle" }, "SegmentationTime": { - "shape": "__double", + "shape": "__doubleMin1", "locationName": "segmentationTime" }, "TimedMetadataBehavior": { @@ -4337,7 +4239,7 @@ "locationName": "timedMetadataPid" }, "TransportStreamId": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "transportStreamId" }, "VideoPid": { @@ -4371,7 +4273,7 @@ "type": "structure", "members": { "AudioFramesPerPes": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "audioFramesPerPes" }, "AudioPids": { @@ -4383,7 +4285,7 @@ "locationName": "ecmPid" }, "PatInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "patInterval" }, "PcrControl": { @@ -4391,7 +4293,7 @@ "locationName": "pcrControl" }, "PcrPeriod": { - "shape": "__integer", + "shape": "__integerMin0Max500", "locationName": "pcrPeriod" }, "PcrPid": { @@ -4399,7 +4301,7 @@ "locationName": "pcrPid" }, "PmtInterval": { - "shape": "__integer", + "shape": "__integerMin0Max1000", "locationName": "pmtInterval" }, "PmtPid": { @@ -4407,7 +4309,7 @@ "locationName": "pmtPid" }, "ProgramNum": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "programNum" }, "Scte35Behavior": { @@ -4423,7 +4325,7 @@ "locationName": "timedMetadataBehavior" }, "TransportStreamId": { - "shape": "__integer", + "shape": "__integerMin0Max65535", "locationName": "transportStreamId" }, "VideoPid": { @@ -4484,7 +4386,7 @@ "locationName": "certificateMode" }, "ConnectionRetryInterval": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "connectionRetryInterval" }, "Destination": { @@ -4504,11 +4406,11 @@ "locationName": "eventStopBehavior" }, "FilecacheDuration": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "filecacheDuration" }, "FragmentLength": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "fragmentLength" }, "InputLossAction": { @@ -4516,11 +4418,11 @@ "locationName": "inputLossAction" }, "NumRetries": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "numRetries" }, "RestartDelay": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "restartDelay" }, "SegmentationMode": { @@ -4528,7 +4430,7 @@ "locationName": "segmentationMode" }, "SendDelayMs": { - "shape": "__integer", + "shape": "__integerMin0Max10000", "locationName": "sendDelayMs" }, "SparseTrackType": { @@ -4547,7 +4449,10 @@ "shape": "SmoothGroupTimestampOffsetMode", "locationName": "timestampOffsetMode" } - } + }, + "required": [ + "Destination" + ] }, "MsSmoothOutputSettings": { "type": "structure", @@ -4595,15 +4500,15 @@ "type": "structure", "members": { "AudioDescriptionNames": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "audioDescriptionNames" }, "CaptionDescriptionNames": { - "shape": "ListOf__string", + "shape": "__listOf__string", "locationName": "captionDescriptionNames" }, "OutputName": { - "shape": "__string", + "shape": "__stringMin1Max255", "locationName": "outputName" }, "OutputSettings": { @@ -4614,7 +4519,10 @@ "shape": "__string", "locationName": "videoDescriptionName" } - } + }, + "required": [ + "OutputSettings" + ] }, "OutputDestination": { "type": "structure", @@ -4624,7 +4532,7 @@ "locationName": "id" }, "Settings": { - "shape": "ListOfOutputDestinationSettings", + "shape": "__listOfOutputDestinationSettings", "locationName": "settings" } } @@ -4650,7 +4558,7 @@ "type": "structure", "members": { "Name": { - "shape": "__string", + "shape": "__stringMax32", "locationName": "name" }, "OutputGroupSettings": { @@ -4658,10 +4566,14 @@ "locationName": "outputGroupSettings" }, "Outputs": { - "shape": "ListOfOutput", + "shape": "__listOfOutput", "locationName": "outputs" } - } + }, + "required": [ + "Outputs", + "OutputGroupSettings" + ] }, "OutputGroupSettings": { "type": "structure", @@ -4723,18 +4635,21 @@ "type": "structure", "members": { "ChannelMappings": { - "shape": "ListOfAudioChannelMapping", + "shape": "__listOfAudioChannelMapping", "locationName": "channelMappings" }, "ChannelsIn": { - "shape": "__integer", + "shape": "__integerMin1Max16", "locationName": "channelsIn" }, "ChannelsOut": { - "shape": "__integer", + "shape": "__integerMin1Max8", "locationName": "channelsOut" } - } + }, + "required": [ + "ChannelMappings" + ] }, "ResourceConflict": { "type": "structure", @@ -4774,7 +4689,7 @@ "locationName": "convert608To708" }, "Source608ChannelNumber": { - "shape": "__integer", + "shape": "__integerMin1Max4", "locationName": "source608ChannelNumber" } } @@ -4788,7 +4703,7 @@ "type": "structure", "members": { "Pid": { - "shape": "__integer", + "shape": "__integerMin1", "locationName": "pid" } } @@ -4811,7 +4726,7 @@ "type": "structure", "members": { "AdAvailOffset": { - "shape": "__integer", + "shape": "__integerMinNegative1000Max1000", "locationName": "adAvailOffset" }, "NoRegionalBlackoutFlag": { @@ -4842,7 +4757,7 @@ "type": "structure", "members": { "AdAvailOffset": { - "shape": "__integer", + "shape": "__integerMinNegative1000Max1000", "locationName": "adAvailOffset" }, "NoRegionalBlackoutFlag": { @@ -4928,7 +4843,10 @@ "shape": "M3u8Settings", "locationName": "m3u8Settings" } - } + }, + "required": [ + "M3u8Settings" + ] }, "StartChannelRequest": { "type": "structure", @@ -4951,11 +4869,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -4967,7 +4885,7 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, "InputSpecification": { @@ -5000,10 +4918,13 @@ "locationName": "keyProviderServer" }, "StaticKeyValue": { - "shape": "__string", + "shape": "__stringMin32Max32", "locationName": "staticKeyValue" } - } + }, + "required": [ + "StaticKeyValue" + ] }, "StopChannelRequest": { "type": "structure", @@ -5026,11 +4947,11 @@ "locationName": "arn" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EgressEndpoints": { - "shape": "ListOfChannelEgressEndpoint", + "shape": "__listOfChannelEgressEndpoint", "locationName": "egressEndpoints" }, "EncoderSettings": { @@ -5042,7 +4963,7 @@ "locationName": "id" }, "InputAttachments": { - "shape": "ListOfInputAttachment", + "shape": "__listOfInputAttachment", "locationName": "inputAttachments" }, "InputSpecification": { @@ -5089,10 +5010,13 @@ "locationName": "source" }, "SyncThreshold": { - "shape": "__integer", + "shape": "__integerMin1Max1000000", "locationName": "syncThreshold" } - } + }, + "required": [ + "Source" + ] }, "TimecodeConfigSource": { "type": "string", @@ -5152,7 +5076,7 @@ "locationName": "timedMetadataId3Frame" }, "TimedMetadataId3Period": { - "shape": "__integer", + "shape": "__integerMin0", "locationName": "timedMetadataId3Period" } } @@ -5161,7 +5085,7 @@ "type": "structure", "members": { "BufferMsec": { - "shape": "__integer", + "shape": "__integerMin0Max10000", "locationName": "bufferMsec" }, "ContainerSettings": { @@ -5176,7 +5100,11 @@ "shape": "FecOutputSettings", "locationName": "fecOutputSettings" } - } + }, + "required": [ + "Destination", + "ContainerSettings" + ] }, "UdpTimedMetadataId3Frame": { "type": "string", @@ -5194,7 +5122,7 @@ "locationName": "message" }, "ValidationErrors": { - "shape": "ListOfValidationError", + "shape": "__listOfValidationError", "locationName": "validationErrors" } }, @@ -5207,7 +5135,7 @@ "type": "structure", "members": { "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EncoderSettings": { @@ -5237,7 +5165,7 @@ "locationName": "channelId" }, "Destinations": { - "shape": "ListOfOutputDestination", + "shape": "__listOfOutputDestination", "locationName": "destinations" }, "EncoderSettings": { @@ -5325,14 +5253,17 @@ "locationName": "scalingBehavior" }, "Sharpness": { - "shape": "__integer", + "shape": "__integerMin0Max100", "locationName": "sharpness" }, "Width": { "shape": "__integer", "locationName": "width" } - } + }, + "required": [ + "Name" + ] }, "VideoDescriptionRespondToAfd": { "type": "string", @@ -5385,7 +5316,7 @@ "type": "structure", "members": { "Pid": { - "shape": "__integer", + "shape": "__integerMin0Max8191", "locationName": "pid" } } @@ -5394,7 +5325,7 @@ "type": "structure", "members": { "ProgramId": { - "shape": "__integer", + "shape": "__integerMin0Max65536", "locationName": "programId" } } @@ -5423,14 +5354,398 @@ "__double": { "type": "double" }, + "__doubleMin0": { + "type": "double" + }, + "__doubleMin1": { + "type": "double" + }, + "__doubleMinNegative59Max0": { + "type": "double" + }, "__integer": { "type": "integer" }, + "__integerMin0": { + "type": "integer", + "min": 0 + }, + "__integerMin0Max10": { + "type": "integer", + "min": 0, + "max": 10 + }, + "__integerMin0Max100": { + "type": "integer", + "min": 0, + "max": 100 + }, + "__integerMin0Max1000": { + "type": "integer", + "min": 0, + "max": 1000 + }, + "__integerMin0Max10000": { + "type": "integer", + "min": 0, + "max": 10000 + }, + "__integerMin0Max1000000": { + "type": "integer", + "min": 0, + "max": 1000000 + }, + "__integerMin0Max128": { + "type": "integer", + "min": 0, + "max": 128 + }, + "__integerMin0Max15": { + "type": "integer", + "min": 0, + "max": 15 + }, + "__integerMin0Max255": { + "type": "integer", + "min": 0, + "max": 255 + }, + "__integerMin0Max30": { + "type": "integer", + "min": 0, + "max": 30 + }, + "__integerMin0Max3600": { + "type": "integer", + "min": 0, + "max": 3600 + }, + "__integerMin0Max500": { + "type": "integer", + "min": 0, + "max": 500 + }, + "__integerMin0Max600": { + "type": "integer", + "min": 0, + "max": 600 + }, + "__integerMin0Max65535": { + "type": "integer", + "min": 0, + "max": 65535 + }, + "__integerMin0Max65536": { + "type": "integer", + "min": 0, + "max": 65536 + }, + "__integerMin0Max7": { + "type": "integer", + "min": 0, + "max": 7 + }, + "__integerMin0Max8191": { + "type": "integer", + "min": 0, + "max": 8191 + }, + "__integerMin1": { + "type": "integer", + "min": 1 + }, + "__integerMin1000": { + "type": "integer", + "min": 1000 + }, + "__integerMin1000Max30000": { + "type": "integer", + "min": 1000, + "max": 30000 + }, + "__integerMin1Max1000000": { + "type": "integer", + "min": 1, + "max": 1000000 + }, + "__integerMin1Max16": { + "type": "integer", + "min": 1, + "max": 16 + }, + "__integerMin1Max20": { + "type": "integer", + "min": 1, + "max": 20 + }, + "__integerMin1Max31": { + "type": "integer", + "min": 1, + "max": 31 + }, + "__integerMin1Max32": { + "type": "integer", + "min": 1, + "max": 32 + }, + "__integerMin1Max4": { + "type": "integer", + "min": 1, + "max": 4 + }, + "__integerMin1Max5": { + "type": "integer", + "min": 1, + "max": 5 + }, + "__integerMin1Max6": { + "type": "integer", + "min": 1, + "max": 6 + }, + "__integerMin1Max8": { + "type": "integer", + "min": 1, + "max": 8 + }, + "__integerMin25Max10000": { + "type": "integer", + "min": 25, + "max": 10000 + }, + "__integerMin25Max2000": { + "type": "integer", + "min": 25, + "max": 2000 + }, + "__integerMin3": { + "type": "integer", + "min": 3 + }, + "__integerMin4Max20": { + "type": "integer", + "min": 4, + "max": 20 + }, + "__integerMin96Max600": { + "type": "integer", + "min": 96, + "max": 600 + }, + "__integerMinNegative1000Max1000": { + "type": "integer", + "min": -1000, + "max": 1000 + }, + "__integerMinNegative60Max6": { + "type": "integer", + "min": -60, + "max": 6 + }, + "__integerMinNegative60Max60": { + "type": "integer", + "min": -60, + "max": 60 + }, + "__listOfAudioChannelMapping": { + "type": "list", + "member": { + "shape": "AudioChannelMapping" + } + }, + "__listOfAudioDescription": { + "type": "list", + "member": { + "shape": "AudioDescription" + } + }, + "__listOfAudioSelector": { + "type": "list", + "member": { + "shape": "AudioSelector" + } + }, + "__listOfCaptionDescription": { + "type": "list", + "member": { + "shape": "CaptionDescription" + } + }, + "__listOfCaptionLanguageMapping": { + "type": "list", + "member": { + "shape": "CaptionLanguageMapping" + } + }, + "__listOfCaptionSelector": { + "type": "list", + "member": { + "shape": "CaptionSelector" + } + }, + "__listOfChannelEgressEndpoint": { + "type": "list", + "member": { + "shape": "ChannelEgressEndpoint" + } + }, + "__listOfChannelSummary": { + "type": "list", + "member": { + "shape": "ChannelSummary" + } + }, + "__listOfHlsAdMarkers": { + "type": "list", + "member": { + "shape": "HlsAdMarkers" + } + }, + "__listOfInput": { + "type": "list", + "member": { + "shape": "Input" + } + }, + "__listOfInputAttachment": { + "type": "list", + "member": { + "shape": "InputAttachment" + } + }, + "__listOfInputChannelLevel": { + "type": "list", + "member": { + "shape": "InputChannelLevel" + } + }, + "__listOfInputDestination": { + "type": "list", + "member": { + "shape": "InputDestination" + } + }, + "__listOfInputDestinationRequest": { + "type": "list", + "member": { + "shape": "InputDestinationRequest" + } + }, + "__listOfInputSecurityGroup": { + "type": "list", + "member": { + "shape": "InputSecurityGroup" + } + }, + "__listOfInputSource": { + "type": "list", + "member": { + "shape": "InputSource" + } + }, + "__listOfInputSourceRequest": { + "type": "list", + "member": { + "shape": "InputSourceRequest" + } + }, + "__listOfInputWhitelistRule": { + "type": "list", + "member": { + "shape": "InputWhitelistRule" + } + }, + "__listOfInputWhitelistRuleCidr": { + "type": "list", + "member": { + "shape": "InputWhitelistRuleCidr" + } + }, + "__listOfOutput": { + "type": "list", + "member": { + "shape": "Output" + } + }, + "__listOfOutputDestination": { + "type": "list", + "member": { + "shape": "OutputDestination" + } + }, + "__listOfOutputDestinationSettings": { + "type": "list", + "member": { + "shape": "OutputDestinationSettings" + } + }, + "__listOfOutputGroup": { + "type": "list", + "member": { + "shape": "OutputGroup" + } + }, + "__listOfValidationError": { + "type": "list", + "member": { + "shape": "ValidationError" + } + }, + "__listOfVideoDescription": { + "type": "list", + "member": { + "shape": "VideoDescription" + } + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__long": { + "type": "long" + }, "__string": { "type": "string" }, - "__timestamp": { - "type": "timestamp" + "__stringMax32": { + "type": "string", + "max": 32 + }, + "__stringMin1": { + "type": "string", + "min": 1 + }, + "__stringMin1Max255": { + "type": "string", + "min": 1, + "max": 255 + }, + "__stringMin1Max256": { + "type": "string", + "min": 1, + "max": 256 + }, + "__stringMin32Max32": { + "type": "string", + "min": 32, + "max": 32 + }, + "__stringMin34Max34": { + "type": "string", + "min": 34, + "max": 34 + }, + "__stringMin3Max3": { + "type": "string", + "min": 3, + "max": 3 + }, + "__stringMin6Max6": { + "type": "string", + "min": 6, + "max": 6 } } } diff --git a/models/apis/medialive/2017-10-14/docs-2.json b/models/apis/medialive/2017-10-14/docs-2.json index 71149198a82..873ee1a0f7c 100644 --- a/models/apis/medialive/2017-10-14/docs-2.json +++ b/models/apis/medialive/2017-10-14/docs-2.json @@ -147,7 +147,7 @@ "AudioChannelMapping": { "base": null, "refs": { - "ListOfAudioChannelMapping$member": null + "__listOfAudioChannelMapping$member": null } }, "AudioCodecSettings": { @@ -159,7 +159,7 @@ "AudioDescription": { "base": null, "refs": { - "ListOfAudioDescription$member": null + "__listOfAudioDescription$member": null } }, "AudioDescriptionAudioTypeControl": { @@ -225,7 +225,7 @@ "AudioSelector": { "base": null, "refs": { - "ListOfAudioSelector$member": null + "__listOfAudioSelector$member": null } }, "AudioSelectorSettings": { @@ -264,6 +264,11 @@ "AvailConfiguration$AvailSettings": "Ad avail settings." } }, + "BadGatewayException": { + "base": null, + "refs": { + } + }, "BadRequestException": { "base": null, "refs": { @@ -332,7 +337,7 @@ "CaptionDescription": { "base": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", "refs": { - "ListOfCaptionDescription$member": null + "__listOfCaptionDescription$member": null } }, "CaptionDestinationSettings": { @@ -344,13 +349,13 @@ "CaptionLanguageMapping": { "base": "Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), with an optional description.", "refs": { - "ListOfCaptionLanguageMapping$member": null + "__listOfCaptionLanguageMapping$member": null } }, "CaptionSelector": { "base": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", "refs": { - "ListOfCaptionSelector$member": null + "__listOfCaptionSelector$member": null } }, "CaptionSelectorSettings": { @@ -374,7 +379,7 @@ "ChannelEgressEndpoint": { "base": null, "refs": { - "ListOfChannelEgressEndpoint$member": null + "__listOfChannelEgressEndpoint$member": null } }, "ChannelState": { @@ -387,7 +392,7 @@ "ChannelSummary": { "base": null, "refs": { - "ListOfChannelSummary$member": null + "__listOfChannelSummary$member": null } }, "ConflictException": { @@ -648,6 +653,11 @@ "refs": { } }, + "GatewayTimeoutException": { + "base": null, + "refs": { + } + }, "GlobalConfiguration": { "base": null, "refs": { @@ -789,7 +799,7 @@ "HlsAdMarkers": { "base": null, "refs": { - "ListOfHlsAdMarkers$member": null + "__listOfHlsAdMarkers$member": null } }, "HlsAkamaiHttpTransferMode": { @@ -964,19 +974,19 @@ "base": null, "refs": { "CreateInputResultModel$Input": null, - "ListOfInput$member": null + "__listOfInput$member": null } }, "InputAttachment": { "base": null, "refs": { - "ListOfInputAttachment$member": null + "__listOfInputAttachment$member": null } }, "InputChannelLevel": { "base": null, "refs": { - "ListOfInputChannelLevel$member": null + "__listOfInputChannelLevel$member": null } }, "InputCodec": { @@ -1000,13 +1010,13 @@ "InputDestination": { "base": "The settings for a PUSH type input.", "refs": { - "ListOfInputDestination$member": null + "__listOfInputDestination$member": null } }, "InputDestinationRequest": { "base": "Endpoint settings for a PUSH type input.", "refs": { - "ListOfInputDestinationRequest$member": null + "__listOfInputDestinationRequest$member": null } }, "InputFilter": { @@ -1074,7 +1084,7 @@ "base": "An Input Security Group", "refs": { "CreateInputSecurityGroupResultModel$SecurityGroup": null, - "ListOfInputSecurityGroup$member": null + "__listOfInputSecurityGroup$member": null } }, "InputSecurityGroupWhitelistRequest": { @@ -1091,7 +1101,7 @@ "InputSource": { "base": "The settings for a PULL type input.", "refs": { - "ListOfInputSource$member": null + "__listOfInputSource$member": null } }, "InputSourceEndBehavior": { @@ -1103,7 +1113,7 @@ "InputSourceRequest": { "base": "Settings for for a PULL type input.", "refs": { - "ListOfInputSourceRequest$member": null + "__listOfInputSourceRequest$member": null } }, "InputSpecification": { @@ -1131,13 +1141,13 @@ "InputWhitelistRule": { "base": "Whitelist rule", "refs": { - "ListOfInputWhitelistRule$member": null + "__listOfInputWhitelistRule$member": null } }, "InputWhitelistRuleCidr": { "base": "An IPv4 CIDR to whitelist.", "refs": { - "ListOfInputWhitelistRuleCidr$member": null + "__listOfInputWhitelistRuleCidr$member": null } }, "InternalServerErrorException": { @@ -1181,172 +1191,6 @@ "refs": { } }, - "ListOfAudioChannelMapping": { - "base": null, - "refs": { - "RemixSettings$ChannelMappings": "Mapping of input channels to output channels, with appropriate gain adjustments." - } - }, - "ListOfAudioDescription": { - "base": null, - "refs": { - "EncoderSettings$AudioDescriptions": null - } - }, - "ListOfAudioSelector": { - "base": null, - "refs": { - "InputSettings$AudioSelectors": "Used to select the audio stream to decode for inputs that have multiple available." - } - }, - "ListOfCaptionDescription": { - "base": null, - "refs": { - "EncoderSettings$CaptionDescriptions": "Settings for caption decriptions" - } - }, - "ListOfCaptionLanguageMapping": { - "base": null, - "refs": { - "HlsGroupSettings$CaptionLanguageMappings": "Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to \"insert\"." - } - }, - "ListOfCaptionSelector": { - "base": null, - "refs": { - "InputSettings$CaptionSelectors": "Used to select the caption input to use for inputs that have multiple available." - } - }, - "ListOfChannelEgressEndpoint": { - "base": null, - "refs": { - "Channel$EgressEndpoints": "The endpoints where outgoing connections initiate from", - "ChannelSummary$EgressEndpoints": "The endpoints where outgoing connections initiate from" - } - }, - "ListOfChannelSummary": { - "base": null, - "refs": { - "ListChannelsResultModel$Channels": null - } - }, - "ListOfHlsAdMarkers": { - "base": null, - "refs": { - "HlsGroupSettings$AdMarkers": "Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs." - } - }, - "ListOfInput": { - "base": null, - "refs": { - "ListInputsResultModel$Inputs": null - } - }, - "ListOfInputAttachment": { - "base": null, - "refs": { - "Channel$InputAttachments": "List of input attachments for channel.", - "ChannelSummary$InputAttachments": "List of input attachments for channel.", - "CreateChannel$InputAttachments": "List of input attachments for channel." - } - }, - "ListOfInputChannelLevel": { - "base": null, - "refs": { - "AudioChannelMapping$InputChannelLevels": "Indices and gain values for each input channel that should be remixed into this output channel." - } - }, - "ListOfInputDestination": { - "base": null, - "refs": { - "Input$Destinations": "A list of the destinations of the input (PUSH-type)." - } - }, - "ListOfInputDestinationRequest": { - "base": null, - "refs": { - "CreateInput$Destinations": "Destination settings for PUSH type inputs." - } - }, - "ListOfInputSecurityGroup": { - "base": null, - "refs": { - "ListInputSecurityGroupsResultModel$InputSecurityGroups": "List of input security groups" - } - }, - "ListOfInputSource": { - "base": null, - "refs": { - "Input$Sources": "A list of the sources of the input (PULL-type)." - } - }, - "ListOfInputSourceRequest": { - "base": null, - "refs": { - "CreateInput$Sources": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" - } - }, - "ListOfInputWhitelistRule": { - "base": null, - "refs": { - "InputSecurityGroup$WhitelistRules": "Whitelist rules and their sync status" - } - }, - "ListOfInputWhitelistRuleCidr": { - "base": null, - "refs": { - "InputSecurityGroupWhitelistRequest$WhitelistRules": "List of IPv4 CIDR addresses to whitelist" - } - }, - "ListOfOutput": { - "base": null, - "refs": { - "OutputGroup$Outputs": null - } - }, - "ListOfOutputDestination": { - "base": null, - "refs": { - "Channel$Destinations": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n", - "ChannelSummary$Destinations": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n", - "CreateChannel$Destinations": null, - "UpdateChannel$Destinations": "A list of output destinations for this channel." - } - }, - "ListOfOutputDestinationSettings": { - "base": null, - "refs": { - "OutputDestination$Settings": "Destination settings for output; one for each redundant encoder." - } - }, - "ListOfOutputGroup": { - "base": null, - "refs": { - "EncoderSettings$OutputGroups": null - } - }, - "ListOfValidationError": { - "base": null, - "refs": { - "ChannelConfigurationValidationError$ValidationErrors": "A collection of validation error responses from attempting to create a channel with a bouquet of settings." - } - }, - "ListOfVideoDescription": { - "base": null, - "refs": { - "EncoderSettings$VideoDescriptions": null - } - }, - "ListOf__string": { - "base": null, - "refs": { - "CreateInput$InputSecurityGroups": "A list of security groups referenced by IDs to attach to the input.", - "Input$AttachedChannels": "A list of channel IDs that that input is attached to (currently an input can only be attached to one channel).", - "Input$SecurityGroups": "A list of IDs for all the security groups attached to the input.", - "Output$AudioDescriptionNames": "The names of the AudioDescriptions used as audio sources for this output.", - "Output$CaptionDescriptionNames": "The names of the CaptionDescriptions used as caption sources for this output." - } - }, "M2tsAbsentInputAudioBehavior": { "base": null, "refs": { @@ -1530,25 +1374,25 @@ "Output": { "base": "Output settings. There can be multiple outputs within a group.", "refs": { - "ListOfOutput$member": null + "__listOfOutput$member": null } }, "OutputDestination": { "base": null, "refs": { - "ListOfOutputDestination$member": null + "__listOfOutputDestination$member": null } }, "OutputDestinationSettings": { "base": null, "refs": { - "ListOfOutputDestinationSettings$member": null + "__listOfOutputDestinationSettings$member": null } }, "OutputGroup": { "base": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", "refs": { - "ListOfOutputGroup$member": null + "__listOfOutputGroup$member": null } }, "OutputGroupSettings": { @@ -1809,7 +1653,7 @@ "ValidationError": { "base": null, "refs": { - "ListOfValidationError$member": null + "__listOfValidationError$member": null } }, "VideoCodecSettings": { @@ -1821,7 +1665,7 @@ "VideoDescription": { "base": "Video settings for this stream.", "refs": { - "ListOfVideoDescription$member": null + "__listOfVideoDescription$member": null } }, "VideoDescriptionRespondToAfd": { @@ -1884,87 +1728,65 @@ "AacSettings$Bitrate": "Average bitrate in bits/second. Valid values depend on rate control mode and profile.", "AacSettings$SampleRate": "Sample rate in Hz. Valid values depend on rate control mode and profile.", "Ac3Settings$Bitrate": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.", - "AudioNormalizationSettings$TargetLkfs": "Target LKFS(loudness) to adjust volume to. If no value is entered, a default value will be used according to the chosen algorithm. The CALM Act (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a target of -23 LKFS.", "Eac3Settings$Bitrate": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.", "Eac3Settings$LoRoCenterMixLevel": "Left only/Right only center mix level. Only used for 3/2 coding mode.", "Eac3Settings$LoRoSurroundMixLevel": "Left only/Right only surround mix level. Only used for 3/2 coding mode.", "Eac3Settings$LtRtCenterMixLevel": "Left total/Right total center mix level. Only used for 3/2 coding mode.", "Eac3Settings$LtRtSurroundMixLevel": "Left total/Right total surround mix level. Only used for 3/2 coding mode.", - "H264Settings$GopSize": "GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. Must be greater than zero.", - "M2tsSettings$FragmentTime": "The length in seconds of each fragment. Only used with EBP markers.", - "M2tsSettings$NullPacketBitrate": "Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets.", - "M2tsSettings$SegmentationTime": "The length in seconds of each segment. Required unless markers is set to None_.", "Mp2Settings$Bitrate": "Average bitrate in bits/second.", "Mp2Settings$SampleRate": "Sample rate in Hz." } }, + "__doubleMin0": { + "base": null, + "refs": { + "M2tsSettings$FragmentTime": "The length in seconds of each fragment. Only used with EBP markers.", + "M2tsSettings$NullPacketBitrate": "Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets." + } + }, + "__doubleMin1": { + "base": null, + "refs": { + "H264Settings$GopSize": "GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. Must be greater than zero.", + "M2tsSettings$SegmentationTime": "The length in seconds of each segment. Required unless markers is set to None_." + } + }, + "__doubleMinNegative59Max0": { + "base": null, + "refs": { + "AudioNormalizationSettings$TargetLkfs": "Target LKFS(loudness) to adjust volume to. If no value is entered, a default value will be used according to the chosen algorithm. The CALM Act (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a target of -23 LKFS." + } + }, "__integer": { "base": null, "refs": { - "Ac3Settings$Dialnorm": "Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, dialnorm will be passed through.", - "ArchiveGroupSettings$RolloverInterval": "Number of seconds to write to archive file before closing and starting a new one.", - "AudioChannelMapping$OutputChannel": "The index of the output channel being produced.", - "AudioPidSelection$Pid": "Selects a specific PID from within a source.", - "BurnInDestinationSettings$BackgroundOpacity": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "BurnInDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", - "BurnInDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match.", - "BurnInDestinationSettings$OutlineSize": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", - "BurnInDestinationSettings$ShadowOpacity": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", "BurnInDestinationSettings$ShadowXOffset": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match.", "BurnInDestinationSettings$ShadowYOffset": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match.", - "BurnInDestinationSettings$XPosition": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. All burn-in and DVB-Sub font settings must match.", - "BurnInDestinationSettings$YPosition": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match.", - "CaptionLanguageMapping$CaptionChannel": "The closed caption channel being described by this CaptionLanguageMapping. Each channel mapping must have a unique channel number (maximum of 4)", "Channel$PipelinesRunningCount": "The number of currently healthy pipelines.", "ChannelSummary$PipelinesRunningCount": "The number of currently healthy pipelines.", - "DvbNitSettings$NetworkId": "The numeric value placed in the Network Information Table (NIT).", - "DvbNitSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "DvbSdtSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "DvbSubDestinationSettings$BackgroundOpacity": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", - "DvbSubDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", - "DvbSubDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match.", - "DvbSubDestinationSettings$OutlineSize": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", - "DvbSubDestinationSettings$ShadowOpacity": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", "DvbSubDestinationSettings$ShadowXOffset": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match.", "DvbSubDestinationSettings$ShadowYOffset": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match.", + "H264Settings$FramerateDenominator": "Framerate denominator.", + "H264Settings$FramerateNumerator": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.", + "H264Settings$ParNumerator": "Pixel Aspect Ratio numerator.", + "VideoDescription$Height": "Output video height (in pixels). Leave blank to use source video height. If left blank, width must also be unspecified.", + "VideoDescription$Width": "Output video width (in pixels). Leave out to use source video width. If left out, height must also be left out. Display aspect ratio is always preserved by letterboxing or pillarboxing when necessary." + } + }, + "__integerMin0": { + "base": null, + "refs": { + "BurnInDestinationSettings$XPosition": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. All burn-in and DVB-Sub font settings must match.", + "BurnInDestinationSettings$YPosition": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match.", "DvbSubDestinationSettings$XPosition": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", "DvbSubDestinationSettings$YPosition": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", - "DvbSubSourceSettings$Pid": "When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, regardless of selectors.", - "DvbTdtSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream.", - "Eac3Settings$Dialnorm": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.", - "EmbeddedSourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough.", - "EmbeddedSourceSettings$Source608TrackNumber": "This field is unused and deprecated.", - "FecOutputSettings$ColumnDepth": "Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The number of transport stream packets per column error correction packet. Must be between 4 and 20, inclusive.", - "FecOutputSettings$RowLength": "Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must be between 1 and 20, inclusive. If only Column FEC is used, then larger values increase robustness. If Row FEC is used, then this is the number of transport stream packets per row error correction packet, and the value must be between 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, this value must be 1 to 20, inclusive.", - "GlobalConfiguration$InitialAudioGain": "Value to set the initial audio gain for the Live Event.", - "H264Settings$Bitrate": "Average bitrate in bits/second. Required for VBR, CBR, and ABR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000.", - "H264Settings$BufFillPct": "Percentage of the buffer that should initially be filled (HRD buffer model).", "H264Settings$BufSize": "Size of buffer (HRD buffer model) in bits/second.", - "H264Settings$FramerateDenominator": "Framerate denominator.", - "H264Settings$FramerateNumerator": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.", "H264Settings$GopClosedCadence": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting.", - "H264Settings$GopNumBFrames": "Number of B-frames between reference frames.", - "H264Settings$MaxBitrate": "Maximum bitrate in bits/second (for VBR mode only).", - "H264Settings$MinIInterval": "Only meaningful if sceneChangeDetect is set to enabled. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1", - "H264Settings$NumRefFrames": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.", - "H264Settings$ParDenominator": "Pixel Aspect Ratio denominator.", - "H264Settings$ParNumerator": "Pixel Aspect Ratio numerator.", - "H264Settings$Slices": "Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures.\nThis field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution.", - "H264Settings$Softness": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image.", "HlsAkamaiSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying connection to the CDN if the connection is lost.", - "HlsAkamaiSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", "HlsAkamaiSettings$NumRetries": "Number of retry attempts that will be made before the Live Event is put into an error state.", - "HlsAkamaiSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", "HlsBasicPutSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying connection to the CDN if the connection is lost.", - "HlsBasicPutSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", "HlsBasicPutSettings$NumRetries": "Number of retry attempts that will be made before the Live Event is put into an error state.", - "HlsBasicPutSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", - "HlsGroupSettings$IndexNSegments": "If mode is \"live\", the number of segments to retain in the manifest (.m3u8) file. This number must be less than or equal to keepSegments. If mode is \"vod\", this parameter has no effect.", - "HlsGroupSettings$KeepSegments": "If mode is \"live\", the number of TS segments to retain in the destination directory. If mode is \"vod\", this parameter has no effect.", "HlsGroupSettings$MinSegmentLength": "When set, minimumSegmentLength is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed.", - "HlsGroupSettings$ProgramDateTimePeriod": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.", - "HlsGroupSettings$SegmentLength": "Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer.", - "HlsGroupSettings$SegmentsPerSubdirectory": "Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect.", "HlsGroupSettings$TimedMetadataId3Period": "Timed Metadata interval in seconds.", "HlsGroupSettings$TimestampDeltaMilliseconds": "Provides an extra millisecond delta offset to fine tune the timestamps.", "HlsInputSettings$Bandwidth": "When specified the HLS stream with the m3u8 BANDWIDTH that most closely matches this value will be chosen, otherwise the highest bandwidth stream in the m3u8 will be chosen. The bitrate is specified in bits per second, as in an HLS manifest.", @@ -1972,75 +1794,460 @@ "HlsInputSettings$Retries": "The number of consecutive times that attempts to read a manifest or segment must fail before the input is considered unavailable.", "HlsInputSettings$RetryInterval": "The number of seconds between retries when an attempt to read a manifest or segment fails.", "HlsMediaStoreSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying connection to the CDN if the connection is lost.", - "HlsMediaStoreSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", "HlsMediaStoreSettings$NumRetries": "Number of retry attempts that will be made before the Live Event is put into an error state.", - "HlsMediaStoreSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", "HlsWebdavSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying connection to the CDN if the connection is lost.", - "HlsWebdavSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", "HlsWebdavSettings$NumRetries": "Number of retry attempts that will be made before the Live Event is put into an error state.", - "HlsWebdavSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", - "InputChannelLevel$Gain": "Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB.", - "InputChannelLevel$InputChannel": "The index of the input channel used as a source.", - "InputLossBehavior$BlackFrameMsec": "On input loss, the number of milliseconds to substitute black into the output before switching to the frame specified by inputLossImageType. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite.", - "InputLossBehavior$RepeatFrameMsec": "On input loss, the number of milliseconds to repeat the previous picture before substituting black into the output. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite.", - "InputSettings$FilterStrength": "Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest).", "M2tsSettings$AudioFramesPerPes": "The number of audio frames to insert for each PES packet.", "M2tsSettings$Bitrate": "The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate.", - "M2tsSettings$EbpLookaheadMs": "When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is \"stretched\" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate.", - "M2tsSettings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.", - "M2tsSettings$PcrPeriod": "Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream.", - "M2tsSettings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.", - "M2tsSettings$ProgramNum": "The value of the program number field in the Program Map Table.", - "M2tsSettings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", "M3u8Settings$AudioFramesPerPes": "The number of audio frames to insert for each PES packet.", - "M3u8Settings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream. A value of \\\"0\\\" writes out the PMT once per segment file.", - "M3u8Settings$PcrPeriod": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream.", - "M3u8Settings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream. A value of \\\"0\\\" writes out the PMT once per segment file.", - "M3u8Settings$ProgramNum": "The value of the program number field in the Program Map Table.", - "M3u8Settings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", "MsSmoothGroupSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying connection to the IIS server if the connection is lost. Content will be cached during this time and the cache will be be delivered to the IIS server once the connection is re-established.", "MsSmoothGroupSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", - "MsSmoothGroupSettings$FragmentLength": "Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate.", "MsSmoothGroupSettings$NumRetries": "Number of retry attempts.", "MsSmoothGroupSettings$RestartDelay": "Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration.", + "UdpGroupSettings$TimedMetadataId3Period": "Timed Metadata interval in seconds." + } + }, + "__integerMin0Max10": { + "base": null, + "refs": { + "BurnInDestinationSettings$OutlineSize": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", + "DvbSubDestinationSettings$OutlineSize": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + } + }, + "__integerMin0Max100": { + "base": null, + "refs": { + "H264Settings$BufFillPct": "Percentage of the buffer that should initially be filled (HRD buffer model).", + "VideoDescription$Sharpness": "Changes the width of the anti-alias filter kernel used for scaling. Only applies if scaling is being performed and antiAlias is set to true. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content." + } + }, + "__integerMin0Max1000": { + "base": null, + "refs": { + "M2tsSettings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.", + "M2tsSettings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.", + "M3u8Settings$PatInterval": "The number of milliseconds between instances of this table in the output transport stream. A value of \\\"0\\\" writes out the PMT once per segment file.", + "M3u8Settings$PmtInterval": "The number of milliseconds between instances of this table in the output transport stream. A value of \\\"0\\\" writes out the PMT once per segment file." + } + }, + "__integerMin0Max10000": { + "base": null, + "refs": { + "M2tsSettings$EbpLookaheadMs": "When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is \"stretched\" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate.", "MsSmoothGroupSettings$SendDelayMs": "Outputs that are \"output locked\" can use this delay. Assign a delay to the output that is \"secondary\". Do not assign a delay to the \"primary\" output. The delay means that the primary output will always reach the downstream system before the secondary, which helps ensure that the downstream system always uses the primary output. (If there were no delay, the downstream system might flip-flop between whichever output happens to arrive first.) If the primary fails, the downstream system will switch to the secondary output. When the primary is restarted, the downstream system will switch back to the primary (because once again it is always arriving first)", - "RemixSettings$ChannelsIn": "Number of input channels to be used.", - "RemixSettings$ChannelsOut": "Number of output channels to be produced.\nValid values: 1, 2, 4, 6, 8", - "Scte20SourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough.", - "Scte27SourceSettings$Pid": "The pid field is used in conjunction with the caption selector languageCode field as follows:\n - Specify PID and Language: Extracts captions from that PID; the language is \"informational\".\n - Specify PID and omit Language: Extracts the specified PID.\n - Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be.\n - Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages will be passed through.", - "Scte35SpliceInsert$AdAvailOffset": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages.", - "Scte35TimeSignalApos$AdAvailOffset": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages.", - "TimecodeConfig$SyncThreshold": "Threshold in frames beyond which output timecode is resynchronized to the input timecode. Discrepancies below this threshold are permitted to avoid unnecessary discontinuities in the output timecode. No timecode sync when this is not specified.", - "UdpGroupSettings$TimedMetadataId3Period": "Timed Metadata interval in seconds.", - "UdpOutputSettings$BufferMsec": "UDP output buffering in milliseconds. Larger values increase latency through the transcoder but simultaneously assist the transcoder in maintaining a constant, low-jitter UDP/RTP output while accommodating clock recovery, input switching, input disruptions, picture reordering, etc.", - "VideoDescription$Height": "Output video height (in pixels). Leave blank to use source video height. If left blank, width must also be unspecified.", - "VideoDescription$Sharpness": "Changes the width of the anti-alias filter kernel used for scaling. Only applies if scaling is being performed and antiAlias is set to true. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content.", - "VideoDescription$Width": "Output video width (in pixels). Leave out to use source video width. If left out, height must also be left out. Display aspect ratio is always preserved by letterboxing or pillarboxing when necessary.", - "VideoSelectorPid$Pid": "Selects a specific PID from within a video source.", - "VideoSelectorProgramId$ProgramId": "Selects a specific program from within a multi-program transport stream. If the program doesn't exist, the first program within the transport stream will be selected by default." + "UdpOutputSettings$BufferMsec": "UDP output buffering in milliseconds. Larger values increase latency through the transcoder but simultaneously assist the transcoder in maintaining a constant, low-jitter UDP/RTP output while accommodating clock recovery, input switching, input disruptions, picture reordering, etc." } }, - "__string": { + "__integerMin0Max1000000": { "base": null, "refs": { - "AccessDenied$Message": null, - "ArchiveOutputSettings$Extension": "Output file extension. If excluded, this will be auto-selected from the container type.", - "ArchiveOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type.", - "AudioDescription$AudioSelectorName": "The name of the AudioSelector used as the source for this AudioDescription.", - "AudioDescription$LanguageCode": "Indicates the language of the audio output track. Only used if languageControlMode is useConfigured, or there is no ISO 639 language code specified in the input.", - "AudioDescription$Name": "The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event.", - "AudioDescription$StreamName": "Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary).", - "AudioLanguageSelection$LanguageCode": "Selects a specific three-letter language code from within an audio source.", - "AudioOnlyHlsSettings$AudioGroupId": "Specifies the group to which the audio Rendition belongs.", - "AudioSelector$Name": "The name of this AudioSelector. AudioDescriptions will use this name to uniquely identify this Selector. Selector names should be unique per input.", - "BlackoutSlate$NetworkId": "Provides Network ID that matches EIDR ID format (e.g., \"10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C\").", - "BurnInDestinationSettings$FontSize": "When set to 'auto' fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match.", - "CaptionDescription$CaptionSelectorName": "Specifies which input caption selector to use as a caption source when generating output captions. This field should match a captionSelector name.", + "InputLossBehavior$BlackFrameMsec": "On input loss, the number of milliseconds to substitute black into the output before switching to the frame specified by inputLossImageType. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite.", + "InputLossBehavior$RepeatFrameMsec": "On input loss, the number of milliseconds to repeat the previous picture before substituting black into the output. A value x, where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as infinite." + } + }, + "__integerMin0Max128": { + "base": null, + "refs": { + "H264Settings$Softness": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image." + } + }, + "__integerMin0Max15": { + "base": null, + "refs": { + "HlsAkamaiSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", + "HlsBasicPutSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", + "HlsMediaStoreSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", + "HlsWebdavSettings$RestartDelay": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.", + "InputChannelLevel$InputChannel": "The index of the input channel used as a source." + } + }, + "__integerMin0Max255": { + "base": null, + "refs": { + "BurnInDestinationSettings$BackgroundOpacity": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", + "BurnInDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", + "BurnInDestinationSettings$ShadowOpacity": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", + "DvbSubDestinationSettings$BackgroundOpacity": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match.", + "DvbSubDestinationSettings$FontOpacity": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match.", + "DvbSubDestinationSettings$ShadowOpacity": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." + } + }, + "__integerMin0Max30": { + "base": null, + "refs": { + "H264Settings$MinIInterval": "Only meaningful if sceneChangeDetect is set to enabled. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" + } + }, + "__integerMin0Max3600": { + "base": null, + "refs": { + "HlsGroupSettings$ProgramDateTimePeriod": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds." + } + }, + "__integerMin0Max500": { + "base": null, + "refs": { + "M2tsSettings$PcrPeriod": "Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream.", + "M3u8Settings$PcrPeriod": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream." + } + }, + "__integerMin0Max600": { + "base": null, + "refs": { + "HlsAkamaiSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", + "HlsBasicPutSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", + "HlsMediaStoreSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs.", + "HlsWebdavSettings$FilecacheDuration": "Size in seconds of file cache for streaming outputs." + } + }, + "__integerMin0Max65535": { + "base": null, + "refs": { + "M2tsSettings$ProgramNum": "The value of the program number field in the Program Map Table.", + "M2tsSettings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table.", + "M3u8Settings$ProgramNum": "The value of the program number field in the Program Map Table.", + "M3u8Settings$TransportStreamId": "The value of the transport stream ID field in the Program Map Table." + } + }, + "__integerMin0Max65536": { + "base": null, + "refs": { + "DvbNitSettings$NetworkId": "The numeric value placed in the Network Information Table (NIT).", + "VideoSelectorProgramId$ProgramId": "Selects a specific program from within a multi-program transport stream. If the program doesn't exist, the first program within the transport stream will be selected by default." + } + }, + "__integerMin0Max7": { + "base": null, + "refs": { + "AudioChannelMapping$OutputChannel": "The index of the output channel being produced.", + "H264Settings$GopNumBFrames": "Number of B-frames between reference frames." + } + }, + "__integerMin0Max8191": { + "base": null, + "refs": { + "AudioPidSelection$Pid": "Selects a specific PID from within a source.", + "VideoSelectorPid$Pid": "Selects a specific PID from within a video source." + } + }, + "__integerMin1": { + "base": null, + "refs": { + "ArchiveGroupSettings$RolloverInterval": "Number of seconds to write to archive file before closing and starting a new one.", + "DvbSubSourceSettings$Pid": "When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, regardless of selectors.", + "H264Settings$ParDenominator": "Pixel Aspect Ratio denominator.", + "HlsGroupSettings$KeepSegments": "If mode is \"live\", the number of TS segments to retain in the destination directory. If mode is \"vod\", this parameter has no effect.", + "HlsGroupSettings$SegmentLength": "Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer.", + "HlsGroupSettings$SegmentsPerSubdirectory": "Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect.", + "MsSmoothGroupSettings$FragmentLength": "Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate.", + "Scte27SourceSettings$Pid": "The pid field is used in conjunction with the caption selector languageCode field as follows:\n - Specify PID and Language: Extracts captions from that PID; the language is \"informational\".\n - Specify PID and omit Language: Extracts the specified PID.\n - Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be.\n - Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages will be passed through." + } + }, + "__integerMin1000": { + "base": null, + "refs": { + "H264Settings$Bitrate": "Average bitrate in bits/second. Required for VBR, CBR, and ABR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000.", + "H264Settings$MaxBitrate": "Maximum bitrate in bits/second (for VBR mode only)." + } + }, + "__integerMin1000Max30000": { + "base": null, + "refs": { + "DvbTdtSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin1Max1000000": { + "base": null, + "refs": { + "TimecodeConfig$SyncThreshold": "Threshold in frames beyond which output timecode is resynchronized to the input timecode. Discrepancies below this threshold are permitted to avoid unnecessary discontinuities in the output timecode. No timecode sync when this is not specified." + } + }, + "__integerMin1Max16": { + "base": null, + "refs": { + "RemixSettings$ChannelsIn": "Number of input channels to be used." + } + }, + "__integerMin1Max20": { + "base": null, + "refs": { + "FecOutputSettings$RowLength": "Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must be between 1 and 20, inclusive. If only Column FEC is used, then larger values increase robustness. If Row FEC is used, then this is the number of transport stream packets per row error correction packet, and the value must be between 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, this value must be 1 to 20, inclusive." + } + }, + "__integerMin1Max31": { + "base": null, + "refs": { + "Ac3Settings$Dialnorm": "Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, dialnorm will be passed through.", + "Eac3Settings$Dialnorm": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through." + } + }, + "__integerMin1Max32": { + "base": null, + "refs": { + "H264Settings$Slices": "Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures.\nThis field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution." + } + }, + "__integerMin1Max4": { + "base": null, + "refs": { + "CaptionLanguageMapping$CaptionChannel": "The closed caption channel being described by this CaptionLanguageMapping. Each channel mapping must have a unique channel number (maximum of 4)", + "EmbeddedSourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough.", + "Scte20SourceSettings$Source608ChannelNumber": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." + } + }, + "__integerMin1Max5": { + "base": null, + "refs": { + "EmbeddedSourceSettings$Source608TrackNumber": "This field is unused and deprecated.", + "InputSettings$FilterStrength": "Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest)." + } + }, + "__integerMin1Max6": { + "base": null, + "refs": { + "H264Settings$NumRefFrames": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding." + } + }, + "__integerMin1Max8": { + "base": null, + "refs": { + "RemixSettings$ChannelsOut": "Number of output channels to be produced.\nValid values: 1, 2, 4, 6, 8" + } + }, + "__integerMin25Max10000": { + "base": null, + "refs": { + "DvbNitSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin25Max2000": { + "base": null, + "refs": { + "DvbSdtSettings$RepInterval": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "__integerMin3": { + "base": null, + "refs": { + "HlsGroupSettings$IndexNSegments": "If mode is \"live\", the number of segments to retain in the manifest (.m3u8) file. This number must be less than or equal to keepSegments. If mode is \"vod\", this parameter has no effect." + } + }, + "__integerMin4Max20": { + "base": null, + "refs": { + "FecOutputSettings$ColumnDepth": "Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The number of transport stream packets per column error correction packet. Must be between 4 and 20, inclusive." + } + }, + "__integerMin96Max600": { + "base": null, + "refs": { + "BurnInDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match.", + "DvbSubDestinationSettings$FontResolution": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match." + } + }, + "__integerMinNegative1000Max1000": { + "base": null, + "refs": { + "Scte35SpliceInsert$AdAvailOffset": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages.", + "Scte35TimeSignalApos$AdAvailOffset": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages." + } + }, + "__integerMinNegative60Max6": { + "base": null, + "refs": { + "InputChannelLevel$Gain": "Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB." + } + }, + "__integerMinNegative60Max60": { + "base": null, + "refs": { + "GlobalConfiguration$InitialAudioGain": "Value to set the initial audio gain for the Live Event." + } + }, + "__listOfAudioChannelMapping": { + "base": null, + "refs": { + "RemixSettings$ChannelMappings": "Mapping of input channels to output channels, with appropriate gain adjustments." + } + }, + "__listOfAudioDescription": { + "base": null, + "refs": { + "EncoderSettings$AudioDescriptions": null + } + }, + "__listOfAudioSelector": { + "base": null, + "refs": { + "InputSettings$AudioSelectors": "Used to select the audio stream to decode for inputs that have multiple available." + } + }, + "__listOfCaptionDescription": { + "base": null, + "refs": { + "EncoderSettings$CaptionDescriptions": "Settings for caption decriptions" + } + }, + "__listOfCaptionLanguageMapping": { + "base": null, + "refs": { + "HlsGroupSettings$CaptionLanguageMappings": "Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to \"insert\"." + } + }, + "__listOfCaptionSelector": { + "base": null, + "refs": { + "InputSettings$CaptionSelectors": "Used to select the caption input to use for inputs that have multiple available." + } + }, + "__listOfChannelEgressEndpoint": { + "base": null, + "refs": { + "Channel$EgressEndpoints": "The endpoints where outgoing connections initiate from", + "ChannelSummary$EgressEndpoints": "The endpoints where outgoing connections initiate from" + } + }, + "__listOfChannelSummary": { + "base": null, + "refs": { + "ListChannelsResultModel$Channels": null + } + }, + "__listOfHlsAdMarkers": { + "base": null, + "refs": { + "HlsGroupSettings$AdMarkers": "Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs." + } + }, + "__listOfInput": { + "base": null, + "refs": { + "ListInputsResultModel$Inputs": null + } + }, + "__listOfInputAttachment": { + "base": null, + "refs": { + "Channel$InputAttachments": "List of input attachments for channel.", + "ChannelSummary$InputAttachments": "List of input attachments for channel.", + "CreateChannel$InputAttachments": "List of input attachments for channel." + } + }, + "__listOfInputChannelLevel": { + "base": null, + "refs": { + "AudioChannelMapping$InputChannelLevels": "Indices and gain values for each input channel that should be remixed into this output channel." + } + }, + "__listOfInputDestination": { + "base": null, + "refs": { + "Input$Destinations": "A list of the destinations of the input (PUSH-type)." + } + }, + "__listOfInputDestinationRequest": { + "base": null, + "refs": { + "CreateInput$Destinations": "Destination settings for PUSH type inputs." + } + }, + "__listOfInputSecurityGroup": { + "base": null, + "refs": { + "ListInputSecurityGroupsResultModel$InputSecurityGroups": "List of input security groups" + } + }, + "__listOfInputSource": { + "base": null, + "refs": { + "Input$Sources": "A list of the sources of the input (PULL-type)." + } + }, + "__listOfInputSourceRequest": { + "base": null, + "refs": { + "CreateInput$Sources": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" + } + }, + "__listOfInputWhitelistRule": { + "base": null, + "refs": { + "InputSecurityGroup$WhitelistRules": "Whitelist rules and their sync status" + } + }, + "__listOfInputWhitelistRuleCidr": { + "base": null, + "refs": { + "InputSecurityGroupWhitelistRequest$WhitelistRules": "List of IPv4 CIDR addresses to whitelist" + } + }, + "__listOfOutput": { + "base": null, + "refs": { + "OutputGroup$Outputs": null + } + }, + "__listOfOutputDestination": { + "base": null, + "refs": { + "Channel$Destinations": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n", + "ChannelSummary$Destinations": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n", + "CreateChannel$Destinations": null, + "UpdateChannel$Destinations": "A list of output destinations for this channel." + } + }, + "__listOfOutputDestinationSettings": { + "base": null, + "refs": { + "OutputDestination$Settings": "Destination settings for output; one for each redundant encoder." + } + }, + "__listOfOutputGroup": { + "base": null, + "refs": { + "EncoderSettings$OutputGroups": null + } + }, + "__listOfValidationError": { + "base": null, + "refs": { + "ChannelConfigurationValidationError$ValidationErrors": "A collection of validation error responses from attempting to create a channel with a bouquet of settings." + } + }, + "__listOfVideoDescription": { + "base": null, + "refs": { + "EncoderSettings$VideoDescriptions": null + } + }, + "__listOf__string": { + "base": null, + "refs": { + "CreateInput$InputSecurityGroups": "A list of security groups referenced by IDs to attach to the input.", + "Input$AttachedChannels": "A list of channel IDs that that input is attached to (currently an input can only be attached to one channel).", + "Input$SecurityGroups": "A list of IDs for all the security groups attached to the input.", + "Output$AudioDescriptionNames": "The names of the AudioDescriptions used as audio sources for this output.", + "Output$CaptionDescriptionNames": "The names of the CaptionDescriptions used as caption sources for this output." + } + }, + "__string": { + "base": null, + "refs": { + "AccessDenied$Message": null, + "ArchiveOutputSettings$Extension": "Output file extension. If excluded, this will be auto-selected from the container type.", + "ArchiveOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type.", + "AudioDescription$AudioSelectorName": "The name of the AudioSelector used as the source for this AudioDescription.", + "AudioDescription$Name": "The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event.", + "AudioDescription$StreamName": "Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary).", + "AudioLanguageSelection$LanguageCode": "Selects a specific three-letter language code from within an audio source.", + "AudioOnlyHlsSettings$AudioGroupId": "Specifies the group to which the audio Rendition belongs.", + "AudioSelector$Name": "The name of this AudioSelector. AudioDescriptions will use this name to uniquely identify this Selector. Selector names should be unique per input.", + "BadGatewayException$Message": null, + "BurnInDestinationSettings$FontSize": "When set to 'auto' fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match.", + "CaptionDescription$CaptionSelectorName": "Specifies which input caption selector to use as a caption source when generating output captions. This field should match a captionSelector name.", "CaptionDescription$LanguageCode": "ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/", "CaptionDescription$LanguageDescription": "Human readable information to indicate captions available for players (eg. English, or Spanish).", "CaptionDescription$Name": "Name of the caption description. Used to associate a caption description with an output. Names must be unique within an event.", - "CaptionLanguageMapping$LanguageCode": "Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2)", - "CaptionLanguageMapping$LanguageDescription": "Textual description of language", "CaptionSelector$LanguageCode": "When specified this field indicates the three letter language code of the caption track to extract from the source.", "CaptionSelector$Name": "Name identifier for a caption selector. This name is used to associate this caption selector with one or more caption descriptions. Names must be unique within an event.", "Channel$Arn": "The unique arn of the channel.", @@ -2059,18 +2266,14 @@ "CreateChannel$RoleArn": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel.", "CreateInput$Name": "Name of the input.", "CreateInput$RequestId": "Unique identifier of the request to ensure the request is handled\nexactly once in case of retries.\n", - "DvbNitSettings$NetworkName": "The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters.", - "DvbSdtSettings$ServiceName": "The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters.", - "DvbSdtSettings$ServiceProviderName": "The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters.", "DvbSubDestinationSettings$FontSize": "When set to auto fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match.", + "GatewayTimeoutException$Message": null, "HlsAkamaiSettings$Salt": "Salt for authenticated Akamai.", "HlsAkamaiSettings$Token": "Token parameter for authenticated akamai. If not specified, _gda_ is used.", "HlsGroupSettings$BaseUrlContent": "A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file.", "HlsGroupSettings$BaseUrlManifest": "A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file.", - "HlsGroupSettings$ConstantIv": "For use with encryptionType. This is a 128-bit, 16-byte hex value represented by a 32-character text string. If ivSource is set to \"explicit\" then this parameter is required and is used as the IV for encryption.", "HlsGroupSettings$KeyFormat": "The value specifies how the key is represented in the resource identified by the URI. If parameter is absent, an implicit value of \"identity\" is used. A reverse DNS string can also be given.", "HlsGroupSettings$KeyFormatVersions": "Either a single positive integer version value or a slash delimited list of version values (1/2/3).", - "HlsOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Accepts \\\"Format Identifiers\\\":#formatIdentifierParameters.", "HlsOutputSettings$SegmentModifier": "String concatenated to end of segment filenames.", "Input$Arn": "The Unique ARN of the input (generated, immutable).", "Input$Id": "The generated ID of the input (unique for user account, immutable).", @@ -2083,7 +2286,6 @@ "InputLocation$PasswordParam": "key used to extract the password from EC2 Parameter store", "InputLocation$Uri": "Uniform Resource Identifier - This should be a path to a file accessible to the Live system (eg. a http:// URI) depending on the output type. For example, a rtmpEndpoint should have a uri simliar to: \"rtmp://fmsserver/live\".", "InputLocation$Username": "Username if credentials are required to access a file or publishing point. This can be either a plaintext username, or a reference to an AWS parameter store name from which the username can be retrieved. AWS Parameter store format: \"ssm://\"", - "InputLossBehavior$InputLossImageColor": "When input loss image type is \"color\" this field specifies the color to use. Value: 6 hex characters representing the values of RGB.", "InputSecurityGroup$Arn": "Unique ARN of Input Security Group", "InputSecurityGroup$Id": "The Id of the Input Security Group", "InputSource$PasswordParam": "The key used to extract the password from EC2 Parameter store.", @@ -2100,7 +2302,6 @@ "ListChannelsResultModel$NextToken": null, "ListInputSecurityGroupsResultModel$NextToken": null, "ListInputsResultModel$NextToken": null, - "ListOf__string$member": null, "M2tsSettings$AribCaptionsPid": "Packet Identifier (PID) for ARIB Captions in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).", "M2tsSettings$AudioPids": "Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).", "M2tsSettings$DvbSubPids": "Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).", @@ -2125,24 +2326,75 @@ "MsSmoothGroupSettings$EventId": "MS Smooth event ID to be sent to the IIS server.\n\nShould only be specified if eventIdMode is set to useConfigured.", "MsSmoothGroupSettings$TimestampOffset": "Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset.", "MsSmoothOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type.", - "Output$OutputName": "The name used to identify an output.", "Output$VideoDescriptionName": "The name of the VideoDescription used as the source for this output.", "OutputDestination$Id": "User-specified id. This is used in an output group or an output.", "OutputDestinationSettings$PasswordParam": "key used to extract the password from EC2 Parameter store", "OutputDestinationSettings$Url": "A URL specifying a destination", "OutputDestinationSettings$Username": "username for destination", - "OutputGroup$Name": "Custom output group name optionally defined by the user. Only letters, numbers, and the underscore character allowed; only 32 characters allowed.", "OutputLocationRef$DestinationRefId": null, "ResourceConflict$Message": null, "ResourceNotFound$Message": null, "StandardHlsSettings$AudioRenditionSets": "List all the audio groups that are used with the video output stream. Input all the audio GROUP-IDs that are associated to the video, separate by ','.", - "StaticKeySettings$StaticKeyValue": "Static key value as a 32 character hexadecimal string.", "TeletextSourceSettings$PageNumber": "Specifies the teletext page number within the data stream from which to extract captions. Range of 0x100 (256) to 0x8FF (2303). Unused for passthrough. Should be specified as a hexadecimal string with no \"0x\" prefix.", "UpdateChannel$Name": "The name of the channel.", "UpdateChannel$RoleArn": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed.", "ValidationError$ElementPath": null, "ValidationError$ErrorMessage": null, - "VideoDescription$Name": "The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event." + "VideoDescription$Name": "The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event.", + "__listOf__string$member": null + } + }, + "__stringMax32": { + "base": null, + "refs": { + "OutputGroup$Name": "Custom output group name optionally defined by the user. Only letters, numbers, and the underscore character allowed; only 32 characters allowed." + } + }, + "__stringMin1": { + "base": null, + "refs": { + "CaptionLanguageMapping$LanguageDescription": "Textual description of language", + "HlsOutputSettings$NameModifier": "String concatenated to the end of the destination filename. Accepts \\\"Format Identifiers\\\":#formatIdentifierParameters." + } + }, + "__stringMin1Max255": { + "base": null, + "refs": { + "Output$OutputName": "The name used to identify an output." + } + }, + "__stringMin1Max256": { + "base": null, + "refs": { + "DvbNitSettings$NetworkName": "The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters.", + "DvbSdtSettings$ServiceName": "The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters.", + "DvbSdtSettings$ServiceProviderName": "The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters." + } + }, + "__stringMin32Max32": { + "base": null, + "refs": { + "HlsGroupSettings$ConstantIv": "For use with encryptionType. This is a 128-bit, 16-byte hex value represented by a 32-character text string. If ivSource is set to \"explicit\" then this parameter is required and is used as the IV for encryption.", + "StaticKeySettings$StaticKeyValue": "Static key value as a 32 character hexadecimal string." + } + }, + "__stringMin34Max34": { + "base": null, + "refs": { + "BlackoutSlate$NetworkId": "Provides Network ID that matches EIDR ID format (e.g., \"10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C\")." + } + }, + "__stringMin3Max3": { + "base": null, + "refs": { + "AudioDescription$LanguageCode": "Indicates the language of the audio output track. Only used if languageControlMode is useConfigured, or there is no ISO 639 language code specified in the input.", + "CaptionLanguageMapping$LanguageCode": "Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2)" + } + }, + "__stringMin6Max6": { + "base": null, + "refs": { + "InputLossBehavior$InputLossImageColor": "When input loss image type is \"color\" this field specifies the color to use. Value: 6 hex characters representing the values of RGB." } } } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index ea5a6d63705..a1d902e38d8 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -2485,10 +2485,6 @@ "us-gov-west-1" : { "hostname" : "s3.us-gov-west-1.amazonaws.com", "protocols" : [ "http", "https" ] - }, - "us-gov-west-1-dualstack" : { - "hostname" : "s3.dualstack.us-gov-west-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] } } }, diff --git a/service/medialive/api.go b/service/medialive/api.go index 83bf3a3d8b1..e99fae51ec0 100644 --- a/service/medialive/api.go +++ b/service/medialive/api.go @@ -3,6 +3,8 @@ package medialive import ( + "fmt" + "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" @@ -62,10 +64,10 @@ func (c *MediaLive) CreateChannelRequest(input *CreateChannelInput) (req *reques // API operation CreateChannel for usage and error information. // // Returned Error Codes: -// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" -// // * ErrCodeBadRequestException "BadRequestException" // +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" @@ -1490,10 +1492,10 @@ func (c *MediaLive) UpdateChannelRequest(input *UpdateChannelInput) (req *reques // API operation UpdateChannel for usage and error information. // // Returned Error Codes: -// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" -// // * ErrCodeBadRequestException "BadRequestException" // +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" @@ -1648,7 +1650,7 @@ type Ac3Settings struct { // Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, // dialnorm will be passed through. - Dialnorm *int64 `locationName:"dialnorm" type:"integer"` + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` // If set to filmStandard, adds dynamic range compression signaling to the output // bitstream as defined in the Dolby Digital specification. @@ -1674,6 +1676,19 @@ func (s Ac3Settings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Ac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"} + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetBitrate sets the Bitrate field's value. func (s *Ac3Settings) SetBitrate(v float64) *Ac3Settings { s.Bitrate = &v @@ -1732,6 +1747,21 @@ func (s ArchiveContainerSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveContainerSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveContainerSettings"} + if s.M2tsSettings != nil { + if err := s.M2tsSettings.Validate(); err != nil { + invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetM2tsSettings sets the M2tsSettings field's value. func (s *ArchiveContainerSettings) SetM2tsSettings(v *M2tsSettings) *ArchiveContainerSettings { s.M2tsSettings = v @@ -1744,11 +1774,13 @@ type ArchiveGroupSettings struct { // A directory and base filename where archive files should be written. If the // base filename portion of the URI is left blank, the base filename of the // first input will be automatically inserted. - Destination *OutputLocationRef `locationName:"destination" type:"structure"` + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` // Number of seconds to write to archive file before closing and starting a // new one. - RolloverInterval *int64 `locationName:"rolloverInterval" type:"integer"` + RolloverInterval *int64 `locationName:"rolloverInterval" min:"1" type:"integer"` } // String returns the string representation @@ -1761,6 +1793,22 @@ func (s ArchiveGroupSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.RolloverInterval != nil && *s.RolloverInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("RolloverInterval", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDestination sets the Destination field's value. func (s *ArchiveGroupSettings) SetDestination(v *OutputLocationRef) *ArchiveGroupSettings { s.Destination = v @@ -1777,7 +1825,9 @@ type ArchiveOutputSettings struct { _ struct{} `type:"structure"` // Settings specific to the container type of the file. - ContainerSettings *ArchiveContainerSettings `locationName:"containerSettings" type:"structure"` + // + // ContainerSettings is a required field + ContainerSettings *ArchiveContainerSettings `locationName:"containerSettings" type:"structure" required:"true"` // Output file extension. If excluded, this will be auto-selected from the container // type. @@ -1798,6 +1848,24 @@ func (s ArchiveOutputSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveOutputSettings"} + if s.ContainerSettings == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerSettings")) + } + if s.ContainerSettings != nil { + if err := s.ContainerSettings.Validate(); err != nil { + invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetContainerSettings sets the ContainerSettings field's value. func (s *ArchiveOutputSettings) SetContainerSettings(v *ArchiveContainerSettings) *ArchiveOutputSettings { s.ContainerSettings = v @@ -1849,10 +1917,14 @@ type AudioChannelMapping struct { // Indices and gain values for each input channel that should be remixed into // this output channel. - InputChannelLevels []*InputChannelLevel `locationName:"inputChannelLevels" type:"list"` + // + // InputChannelLevels is a required field + InputChannelLevels []*InputChannelLevel `locationName:"inputChannelLevels" type:"list" required:"true"` // The index of the output channel being produced. - OutputChannel *int64 `locationName:"outputChannel" type:"integer"` + // + // OutputChannel is a required field + OutputChannel *int64 `locationName:"outputChannel" type:"integer" required:"true"` } // String returns the string representation @@ -1865,6 +1937,32 @@ func (s AudioChannelMapping) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioChannelMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioChannelMapping"} + if s.InputChannelLevels == nil { + invalidParams.Add(request.NewErrParamRequired("InputChannelLevels")) + } + if s.OutputChannel == nil { + invalidParams.Add(request.NewErrParamRequired("OutputChannel")) + } + if s.InputChannelLevels != nil { + for i, v := range s.InputChannelLevels { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputChannelLevels", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetInputChannelLevels sets the InputChannelLevels field's value. func (s *AudioChannelMapping) SetInputChannelLevels(v []*InputChannelLevel) *AudioChannelMapping { s.InputChannelLevels = v @@ -1901,6 +1999,26 @@ func (s AudioCodecSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioCodecSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"} + if s.Ac3Settings != nil { + if err := s.Ac3Settings.Validate(); err != nil { + invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams)) + } + } + if s.Eac3Settings != nil { + if err := s.Eac3Settings.Validate(); err != nil { + invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAacSettings sets the AacSettings field's value. func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings { s.AacSettings = v @@ -1938,7 +2056,9 @@ type AudioDescription struct { AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"` // The name of the AudioSelector used as the source for this AudioDescription. - AudioSelectorName *string `locationName:"audioSelectorName" type:"string"` + // + // AudioSelectorName is a required field + AudioSelectorName *string `locationName:"audioSelectorName" type:"string" required:"true"` // Applies only if audioTypeControl is useConfigured. The values for audioType // are defined in ISO-IEC 13818-1. @@ -1957,7 +2077,7 @@ type AudioDescription struct { // Indicates the language of the audio output track. Only used if languageControlMode // is useConfigured, or there is no ISO 639 language code specified in the input. - LanguageCode *string `locationName:"languageCode" type:"string"` + LanguageCode *string `locationName:"languageCode" min:"3" type:"string"` // Choosing followInput will cause the ISO 639 language code of the output to // follow the ISO 639 language code of the input. The languageCode will be used @@ -1968,7 +2088,9 @@ type AudioDescription struct { // The name of this AudioDescription. Outputs will use this name to uniquely // identify this AudioDescription. Description names should be unique within // this Live Event. - Name *string `locationName:"name" type:"string"` + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` // Settings that control how input audio channels are remixed into the output // audio channels. @@ -1989,6 +2111,35 @@ func (s AudioDescription) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioDescription"} + if s.AudioSelectorName == nil { + invalidParams.Add(request.NewErrParamRequired("AudioSelectorName")) + } + if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.CodecSettings != nil { + if err := s.CodecSettings.Validate(); err != nil { + invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) + } + } + if s.RemixSettings != nil { + if err := s.RemixSettings.Validate(); err != nil { + invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value. func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription { s.AudioNormalizationSettings = v @@ -2053,7 +2204,9 @@ type AudioLanguageSelection struct { _ struct{} `type:"structure"` // Selects a specific three-letter language code from within an audio source. - LanguageCode *string `locationName:"languageCode" type:"string"` + // + // LanguageCode is a required field + LanguageCode *string `locationName:"languageCode" type:"string" required:"true"` // When set to "strict", the transport stream demux strictly identifies audio // streams by their language descriptor. If a PMT update occurs such that an @@ -2074,6 +2227,19 @@ func (s AudioLanguageSelection) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioLanguageSelection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioLanguageSelection"} + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetLanguageCode sets the LanguageCode field's value. func (s *AudioLanguageSelection) SetLanguageCode(v string) *AudioLanguageSelection { s.LanguageCode = &v @@ -2171,6 +2337,21 @@ func (s AudioOnlyHlsSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioOnlyHlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioOnlyHlsSettings"} + if s.AudioOnlyImage != nil { + if err := s.AudioOnlyImage.Validate(); err != nil { + invalidParams.AddNested("AudioOnlyImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAudioGroupId sets the AudioGroupId field's value. func (s *AudioOnlyHlsSettings) SetAudioGroupId(v string) *AudioOnlyHlsSettings { s.AudioGroupId = &v @@ -2193,7 +2374,9 @@ type AudioPidSelection struct { _ struct{} `type:"structure"` // Selects a specific PID from within a source. - Pid *int64 `locationName:"pid" type:"integer"` + // + // Pid is a required field + Pid *int64 `locationName:"pid" type:"integer" required:"true"` } // String returns the string representation @@ -2206,6 +2389,19 @@ func (s AudioPidSelection) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioPidSelection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioPidSelection"} + if s.Pid == nil { + invalidParams.Add(request.NewErrParamRequired("Pid")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetPid sets the Pid field's value. func (s *AudioPidSelection) SetPid(v int64) *AudioPidSelection { s.Pid = &v @@ -2217,7 +2413,9 @@ type AudioSelector struct { // The name of this AudioSelector. AudioDescriptions will use this name to uniquely // identify this Selector. Selector names should be unique per input. - Name *string `locationName:"name" type:"string"` + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` // The audio selector settings. SelectorSettings *AudioSelectorSettings `locationName:"selectorSettings" type:"structure"` @@ -2233,6 +2431,24 @@ func (s AudioSelector) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSelector"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.SelectorSettings != nil { + if err := s.SelectorSettings.Validate(); err != nil { + invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetName sets the Name field's value. func (s *AudioSelector) SetName(v string) *AudioSelector { s.Name = &v @@ -2263,6 +2479,26 @@ func (s AudioSelectorSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSelectorSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSelectorSettings"} + if s.AudioLanguageSelection != nil { + if err := s.AudioLanguageSelection.Validate(); err != nil { + invalidParams.AddNested("AudioLanguageSelection", err.(request.ErrInvalidParams)) + } + } + if s.AudioPidSelection != nil { + if err := s.AudioPidSelection.Validate(); err != nil { + invalidParams.AddNested("AudioPidSelection", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAudioLanguageSelection sets the AudioLanguageSelection field's value. func (s *AudioSelectorSettings) SetAudioLanguageSelection(v *AudioLanguageSelection) *AudioSelectorSettings { s.AudioLanguageSelection = v @@ -2297,6 +2533,21 @@ func (s AvailBlanking) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailBlanking) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"} + if s.AvailBlankingImage != nil { + if err := s.AvailBlankingImage.Validate(); err != nil { + invalidParams.AddNested("AvailBlankingImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAvailBlankingImage sets the AvailBlankingImage field's value. func (s *AvailBlanking) SetAvailBlankingImage(v *InputLocation) *AvailBlanking { s.AvailBlankingImage = v @@ -2326,6 +2577,21 @@ func (s AvailConfiguration) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailConfiguration"} + if s.AvailSettings != nil { + if err := s.AvailSettings.Validate(); err != nil { + invalidParams.AddNested("AvailSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAvailSettings sets the AvailSettings field's value. func (s *AvailConfiguration) SetAvailSettings(v *AvailSettings) *AvailConfiguration { s.AvailSettings = v @@ -2350,6 +2616,26 @@ func (s AvailSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailSettings"} + if s.Scte35SpliceInsert != nil { + if err := s.Scte35SpliceInsert.Validate(); err != nil { + invalidParams.AddNested("Scte35SpliceInsert", err.(request.ErrInvalidParams)) + } + } + if s.Scte35TimeSignalApos != nil { + if err := s.Scte35TimeSignalApos.Validate(); err != nil { + invalidParams.AddNested("Scte35TimeSignalApos", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetScte35SpliceInsert sets the Scte35SpliceInsert field's value. func (s *AvailSettings) SetScte35SpliceInsert(v *Scte35SpliceInsert) *AvailSettings { s.Scte35SpliceInsert = v @@ -2382,7 +2668,7 @@ type BlackoutSlate struct { NetworkEndBlackoutImage *InputLocation `locationName:"networkEndBlackoutImage" type:"structure"` // Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). - NetworkId *string `locationName:"networkId" type:"string"` + NetworkId *string `locationName:"networkId" min:"34" type:"string"` // When set to enabled, causes video, audio and captions to be blanked when // indicated by program metadata. @@ -2399,6 +2685,29 @@ func (s BlackoutSlate) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *BlackoutSlate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BlackoutSlate"} + if s.NetworkId != nil && len(*s.NetworkId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("NetworkId", 34)) + } + if s.BlackoutSlateImage != nil { + if err := s.BlackoutSlateImage.Validate(); err != nil { + invalidParams.AddNested("BlackoutSlateImage", err.(request.ErrInvalidParams)) + } + } + if s.NetworkEndBlackoutImage != nil { + if err := s.NetworkEndBlackoutImage.Validate(); err != nil { + invalidParams.AddNested("NetworkEndBlackoutImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetBlackoutSlateImage sets the BlackoutSlateImage field's value. func (s *BlackoutSlate) SetBlackoutSlateImage(v *InputLocation) *BlackoutSlate { s.BlackoutSlateImage = v @@ -2469,7 +2778,7 @@ type BurnInDestinationSettings struct { // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and // DVB-Sub font settings must match. - FontResolution *int64 `locationName:"fontResolution" type:"integer"` + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` // When set to 'auto' fontSize will scale depending on the size of the output. // Giving a positive integer will specify the exact font size in points. All @@ -2536,6 +2845,24 @@ func (s BurnInDestinationSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *BurnInDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BurnInDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) + } + if s.Font != nil { + if err := s.Font.Validate(); err != nil { + invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAlignment sets the Alignment field's value. func (s *BurnInDestinationSettings) SetAlignment(v string) *BurnInDestinationSettings { s.Alignment = &v @@ -2645,7 +2972,9 @@ type CaptionDescription struct { // Specifies which input caption selector to use as a caption source when generating // output captions. This field should match a captionSelector name. - CaptionSelectorName *string `locationName:"captionSelectorName" type:"string"` + // + // CaptionSelectorName is a required field + CaptionSelectorName *string `locationName:"captionSelectorName" type:"string" required:"true"` // Additional settings for captions destination that depend on the destination // type. @@ -2660,7 +2989,9 @@ type CaptionDescription struct { // Name of the caption description. Used to associate a caption description // with an output. Names must be unique within an event. - Name *string `locationName:"name" type:"string"` + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` } // String returns the string representation @@ -2673,6 +3004,27 @@ func (s CaptionDescription) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"} + if s.CaptionSelectorName == nil { + invalidParams.Add(request.NewErrParamRequired("CaptionSelectorName")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.DestinationSettings != nil { + if err := s.DestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCaptionSelectorName sets the CaptionSelectorName field's value. func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription { s.CaptionSelectorName = &v @@ -2739,6 +3091,26 @@ func (s CaptionDestinationSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"} + if s.BurnInDestinationSettings != nil { + if err := s.BurnInDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("BurnInDestinationSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSubDestinationSettings != nil { + if err := s.DvbSubDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAribDestinationSettings sets the AribDestinationSettings field's value. func (s *CaptionDestinationSettings) SetAribDestinationSettings(v *AribDestinationSettings) *CaptionDestinationSettings { s.AribDestinationSettings = v @@ -2812,13 +3184,19 @@ type CaptionLanguageMapping struct { // The closed caption channel being described by this CaptionLanguageMapping. // Each channel mapping must have a unique channel number (maximum of 4) - CaptionChannel *int64 `locationName:"captionChannel" type:"integer"` + // + // CaptionChannel is a required field + CaptionChannel *int64 `locationName:"captionChannel" min:"1" type:"integer" required:"true"` // Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2) - LanguageCode *string `locationName:"languageCode" type:"string"` + // + // LanguageCode is a required field + LanguageCode *string `locationName:"languageCode" min:"3" type:"string" required:"true"` // Textual description of language - LanguageDescription *string `locationName:"languageDescription" type:"string"` + // + // LanguageDescription is a required field + LanguageDescription *string `locationName:"languageDescription" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2831,6 +3209,34 @@ func (s CaptionLanguageMapping) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionLanguageMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionLanguageMapping"} + if s.CaptionChannel == nil { + invalidParams.Add(request.NewErrParamRequired("CaptionChannel")) + } + if s.CaptionChannel != nil && *s.CaptionChannel < 1 { + invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", 1)) + } + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + } + if s.LanguageDescription == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageDescription")) + } + if s.LanguageDescription != nil && len(*s.LanguageDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LanguageDescription", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCaptionChannel sets the CaptionChannel field's value. func (s *CaptionLanguageMapping) SetCaptionChannel(v int64) *CaptionLanguageMapping { s.CaptionChannel = &v @@ -2861,7 +3267,9 @@ type CaptionSelector struct { // Name identifier for a caption selector. This name is used to associate this // caption selector with one or more caption descriptions. Names must be unique // within an event. - Name *string `locationName:"name" type:"string"` + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` // Caption selector settings. SelectorSettings *CaptionSelectorSettings `locationName:"selectorSettings" type:"structure"` @@ -2877,6 +3285,24 @@ func (s CaptionSelector) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.SelectorSettings != nil { + if err := s.SelectorSettings.Validate(); err != nil { + invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetLanguageCode sets the LanguageCode field's value. func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector { s.LanguageCode = &v @@ -2921,6 +3347,36 @@ func (s CaptionSelectorSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionSelectorSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSelectorSettings"} + if s.DvbSubSourceSettings != nil { + if err := s.DvbSubSourceSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.EmbeddedSourceSettings != nil { + if err := s.EmbeddedSourceSettings.Validate(); err != nil { + invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte20SourceSettings != nil { + if err := s.Scte20SourceSettings.Validate(); err != nil { + invalidParams.AddNested("Scte20SourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte27SourceSettings != nil { + if err := s.Scte27SourceSettings.Validate(); err != nil { + invalidParams.AddNested("Scte27SourceSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAribSourceSettings sets the AribSourceSettings field's value. func (s *CaptionSelectorSettings) SetAribSourceSettings(v *AribSourceSettings) *CaptionSelectorSettings { s.AribSourceSettings = v @@ -3226,6 +3682,31 @@ func (s CreateChannelInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"} + if s.EncoderSettings != nil { + if err := s.EncoderSettings.Validate(); err != nil { + invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams)) + } + } + if s.InputAttachments != nil { + for i, v := range s.InputAttachments { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDestinations sets the Destinations field's value. func (s *CreateChannelInput) SetDestinations(v []*OutputDestination) *CreateChannelInput { s.Destinations = v @@ -4002,15 +4483,19 @@ type DvbNitSettings struct { _ struct{} `type:"structure"` // The numeric value placed in the Network Information Table (NIT). - NetworkId *int64 `locationName:"networkId" type:"integer"` + // + // NetworkId is a required field + NetworkId *int64 `locationName:"networkId" type:"integer" required:"true"` // The network name text placed in the networkNameDescriptor inside the Network // Information Table. Maximum length is 256 characters. - NetworkName *string `locationName:"networkName" type:"string"` + // + // NetworkName is a required field + NetworkName *string `locationName:"networkName" min:"1" type:"string" required:"true"` // The number of milliseconds between instances of this table in the output // transport stream. - RepInterval *int64 `locationName:"repInterval" type:"integer"` + RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` } // String returns the string representation @@ -4023,6 +4508,28 @@ func (s DvbNitSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbNitSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"} + if s.NetworkId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkId")) + } + if s.NetworkName == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkName")) + } + if s.NetworkName != nil && len(*s.NetworkName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1)) + } + if s.RepInterval != nil && *s.RepInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetNetworkId sets the NetworkId field's value. func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings { s.NetworkId = &v @@ -4055,15 +4562,15 @@ type DvbSdtSettings struct { // The number of milliseconds between instances of this table in the output // transport stream. - RepInterval *int64 `locationName:"repInterval" type:"integer"` + RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` // The service name placed in the serviceDescriptor in the Service Description // Table. Maximum length is 256 characters. - ServiceName *string `locationName:"serviceName" type:"string"` + ServiceName *string `locationName:"serviceName" min:"1" type:"string"` // The service provider name placed in the serviceDescriptor in the Service // Description Table. Maximum length is 256 characters. - ServiceProviderName *string `locationName:"serviceProviderName" type:"string"` + ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"` } // String returns the string representation @@ -4076,6 +4583,25 @@ func (s DvbSdtSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"} + if s.RepInterval != nil && *s.RepInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetOutputSdt sets the OutputSdt field's value. func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings { s.OutputSdt = &v @@ -4142,7 +4668,7 @@ type DvbSubDestinationSettings struct { // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and // DVB-Sub font settings must match. - FontResolution *int64 `locationName:"fontResolution" type:"integer"` + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` // When set to auto fontSize will scale depending on the size of the output. // Giving a positive integer will specify the exact font size in points. All @@ -4213,6 +4739,24 @@ func (s DvbSubDestinationSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSubDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) + } + if s.Font != nil { + if err := s.Font.Validate(); err != nil { + invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAlignment sets the Alignment field's value. func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings { s.Alignment = &v @@ -4321,7 +4865,7 @@ type DvbSubSourceSettings struct { // When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source // content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, // regardless of selectors. - Pid *int64 `locationName:"pid" type:"integer"` + Pid *int64 `locationName:"pid" min:"1" type:"integer"` } // String returns the string representation @@ -4334,6 +4878,19 @@ func (s DvbSubSourceSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSubSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"} + if s.Pid != nil && *s.Pid < 1 { + invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetPid sets the Pid field's value. func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings { s.Pid = &v @@ -4346,7 +4903,7 @@ type DvbTdtSettings struct { // The number of milliseconds between instances of this table in the output // transport stream. - RepInterval *int64 `locationName:"repInterval" type:"integer"` + RepInterval *int64 `locationName:"repInterval" min:"1000" type:"integer"` } // String returns the string representation @@ -4359,6 +4916,19 @@ func (s DvbTdtSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbTdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"} + if s.RepInterval != nil && *s.RepInterval < 1000 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 1000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetRepInterval sets the RepInterval field's value. func (s *DvbTdtSettings) SetRepInterval(v int64) *DvbTdtSettings { s.RepInterval = &v @@ -4387,7 +4957,7 @@ type Eac3Settings struct { // Sets the dialnorm for the output. If blank and input audio is Dolby Digital // Plus, dialnorm will be passed through. - Dialnorm *int64 `locationName:"dialnorm" type:"integer"` + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` // Sets the Dolby dynamic range compression profile. DrcLine *string `locationName:"drcLine" type:"string" enum:"Eac3DrcLine"` @@ -4452,6 +5022,19 @@ func (s Eac3Settings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Eac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"} + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAttenuationControl sets the AttenuationControl field's value. func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings { s.AttenuationControl = &v @@ -4614,10 +5197,10 @@ type EmbeddedSourceSettings struct { // Specifies the 608/708 channel number within the video track from which to // extract captions. Unused for passthrough. - Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" type:"integer"` + Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"` // This field is unused and deprecated. - Source608TrackNumber *int64 `locationName:"source608TrackNumber" type:"integer"` + Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"` } // String returns the string representation @@ -4630,6 +5213,22 @@ func (s EmbeddedSourceSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *EmbeddedSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"} + if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1)) + } + if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetConvert608To708 sets the Convert608To708 field's value. func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings { s.Convert608To708 = &v @@ -4657,7 +5256,8 @@ func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourc type EncoderSettings struct { _ struct{} `type:"structure"` - AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list"` + // AudioDescriptions is a required field + AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list" required:"true"` // Settings for ad avail blanking. AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"` @@ -4674,12 +5274,16 @@ type EncoderSettings struct { // Configuration settings that apply to the event as a whole. GlobalConfiguration *GlobalConfiguration `locationName:"globalConfiguration" type:"structure"` - OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list"` + // OutputGroups is a required field + OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"` // Contains settings used to acquire and adjust timecode information from inputs. - TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure"` + // + // TimecodeConfig is a required field + TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure" required:"true"` - VideoDescriptions []*VideoDescription `locationName:"videoDescriptions" type:"list"` + // VideoDescriptions is a required field + VideoDescriptions []*VideoDescription `locationName:"videoDescriptions" type:"list" required:"true"` } // String returns the string representation @@ -4692,6 +5296,93 @@ func (s EncoderSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncoderSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncoderSettings"} + if s.AudioDescriptions == nil { + invalidParams.Add(request.NewErrParamRequired("AudioDescriptions")) + } + if s.OutputGroups == nil { + invalidParams.Add(request.NewErrParamRequired("OutputGroups")) + } + if s.TimecodeConfig == nil { + invalidParams.Add(request.NewErrParamRequired("TimecodeConfig")) + } + if s.VideoDescriptions == nil { + invalidParams.Add(request.NewErrParamRequired("VideoDescriptions")) + } + if s.AudioDescriptions != nil { + for i, v := range s.AudioDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.AvailBlanking != nil { + if err := s.AvailBlanking.Validate(); err != nil { + invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams)) + } + } + if s.AvailConfiguration != nil { + if err := s.AvailConfiguration.Validate(); err != nil { + invalidParams.AddNested("AvailConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.BlackoutSlate != nil { + if err := s.BlackoutSlate.Validate(); err != nil { + invalidParams.AddNested("BlackoutSlate", err.(request.ErrInvalidParams)) + } + } + if s.CaptionDescriptions != nil { + for i, v := range s.CaptionDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.GlobalConfiguration != nil { + if err := s.GlobalConfiguration.Validate(); err != nil { + invalidParams.AddNested("GlobalConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OutputGroups != nil { + for i, v := range s.OutputGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TimecodeConfig != nil { + if err := s.TimecodeConfig.Validate(); err != nil { + invalidParams.AddNested("TimecodeConfig", err.(request.ErrInvalidParams)) + } + } + if s.VideoDescriptions != nil { + for i, v := range s.VideoDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VideoDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAudioDescriptions sets the AudioDescriptions field's value. func (s *EncoderSettings) SetAudioDescriptions(v []*AudioDescription) *EncoderSettings { s.AudioDescriptions = v @@ -4752,7 +5443,7 @@ type FecOutputSettings struct { // Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The // number of transport stream packets per column error correction packet. Must // be between 4 and 20, inclusive. - ColumnDepth *int64 `locationName:"columnDepth" type:"integer"` + ColumnDepth *int64 `locationName:"columnDepth" min:"4" type:"integer"` // Enables column only or column and row based FEC IncludeFec *string `locationName:"includeFec" type:"string" enum:"FecOutputIncludeFec"` @@ -4763,7 +5454,7 @@ type FecOutputSettings struct { // stream packets per row error correction packet, and the value must be between // 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, // this value must be 1 to 20, inclusive. - RowLength *int64 `locationName:"rowLength" type:"integer"` + RowLength *int64 `locationName:"rowLength" min:"1" type:"integer"` } // String returns the string representation @@ -4776,6 +5467,22 @@ func (s FecOutputSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *FecOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FecOutputSettings"} + if s.ColumnDepth != nil && *s.ColumnDepth < 4 { + invalidParams.Add(request.NewErrParamMinValue("ColumnDepth", 4)) + } + if s.RowLength != nil && *s.RowLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("RowLength", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetColumnDepth sets the ColumnDepth field's value. func (s *FecOutputSettings) SetColumnDepth(v int64) *FecOutputSettings { s.ColumnDepth = &v @@ -4833,6 +5540,24 @@ func (s GlobalConfiguration) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *GlobalConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GlobalConfiguration"} + if s.InitialAudioGain != nil && *s.InitialAudioGain < -60 { + invalidParams.Add(request.NewErrParamMinValue("InitialAudioGain", -60)) + } + if s.InputLossBehavior != nil { + if err := s.InputLossBehavior.Validate(); err != nil { + invalidParams.AddNested("InputLossBehavior", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetInitialAudioGain sets the InitialAudioGain field's value. func (s *GlobalConfiguration) SetInitialAudioGain(v int64) *GlobalConfiguration { s.InitialAudioGain = &v @@ -4879,7 +5604,7 @@ type H264Settings struct { // Average bitrate in bits/second. Required for VBR, CBR, and ABR. For MS Smooth // outputs, bitrates must be unique when rounded down to the nearest multiple // of 1000. - Bitrate *int64 `locationName:"bitrate" type:"integer"` + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` // Percentage of the buffer that should initially be filled (HRD buffer model). BufFillPct *int64 `locationName:"bufFillPct" type:"integer"` @@ -4943,7 +5668,7 @@ type H264Settings struct { LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H264LookAheadRateControl"` // Maximum bitrate in bits/second (for VBR mode only). - MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"` + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` // Only meaningful if sceneChangeDetect is set to enabled. Enforces separation // between repeated (cadence) I-frames and I-frames inserted by Scene Change @@ -4956,7 +5681,7 @@ type H264Settings struct { // Number of reference frames to use. The encoder may use more than requested // if using B-frames and/or interlaced encoding. - NumRefFrames *int64 `locationName:"numRefFrames" type:"integer"` + NumRefFrames *int64 `locationName:"numRefFrames" min:"1" type:"integer"` // This field indicates how the output pixel aspect ratio is specified. If "specified" // is selected then the output video pixel aspect ratio is determined by parNumerator @@ -4966,7 +5691,7 @@ type H264Settings struct { ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"` // Pixel Aspect Ratio denominator. - ParDenominator *int64 `locationName:"parDenominator" type:"integer"` + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` // Pixel Aspect Ratio numerator. ParNumerator *int64 `locationName:"parNumerator" type:"integer"` @@ -4988,7 +5713,7 @@ type H264Settings struct { // the number of macroblock rows for interlaced pictures.This field is optional; // when no value is specified the encoder will choose the number of slices based // on encode resolution. - Slices *int64 `locationName:"slices" type:"integer"` + Slices *int64 `locationName:"slices" min:"1" type:"integer"` // Softness. Selects quantizer matrix, larger values reduce high-frequency content // in the encoded image. @@ -5021,6 +5746,31 @@ func (s H264Settings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *H264Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H264Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.NumRefFrames != nil && *s.NumRefFrames < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumRefFrames", 1)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.Slices != nil && *s.Slices < 1 { + invalidParams.Add(request.NewErrParamMinValue("Slices", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAdaptiveQuantization sets the AdaptiveQuantization field's value. func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings { s.AdaptiveQuantization = &v @@ -5454,11 +6204,13 @@ type HlsGroupSettings struct { // For use with encryptionType. This is a 128-bit, 16-byte hex value represented // by a 32-character text string. If ivSource is set to "explicit" then this // parameter is required and is used as the IV for encryption. - ConstantIv *string `locationName:"constantIv" type:"string"` + ConstantIv *string `locationName:"constantIv" min:"32" type:"string"` // A directory or HTTP destination for the HLS segments, manifest files, and // encryption keys (if enabled). - Destination *OutputLocationRef `locationName:"destination" type:"structure"` + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` // Place segments in subdirectories. DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"` @@ -5473,7 +6225,7 @@ type HlsGroupSettings struct { // If mode is "live", the number of segments to retain in the manifest (.m3u8) // file. This number must be less than or equal to keepSegments. If mode is // "vod", this parameter has no effect. - IndexNSegments *int64 `locationName:"indexNSegments" type:"integer"` + IndexNSegments *int64 `locationName:"indexNSegments" min:"3" type:"integer"` // Parameter that control output group behavior on input loss. InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForHlsOut"` @@ -5492,7 +6244,7 @@ type HlsGroupSettings struct { // If mode is "live", the number of TS segments to retain in the destination // directory. If mode is "vod", this parameter has no effect. - KeepSegments *int64 `locationName:"keepSegments" type:"integer"` + KeepSegments *int64 `locationName:"keepSegments" min:"1" type:"integer"` // The value specifies how the key is represented in the resource identified // by the URI. If parameter is absent, an implicit value of "identity" is used. @@ -5542,7 +6294,7 @@ type HlsGroupSettings struct { // Length of MPEG-2 Transport Stream segments to create (in seconds). Note that // segments will end on the next keyframe after this number of seconds, so actual // segment length may be longer. - SegmentLength *int64 `locationName:"segmentLength" type:"integer"` + SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` // When set to useInputSegmentation, the output segment or fragment points are // set by the RAI markers from the input streams. @@ -5551,7 +6303,7 @@ type HlsGroupSettings struct { // Number of segments to write to a subdirectory before starting a new one. // directoryStructure must be subdirectoryPerStream for this setting to have // an effect. - SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" type:"integer"` + SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"` // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag // of variant manifest. @@ -5582,6 +6334,49 @@ func (s HlsGroupSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"} + if s.ConstantIv != nil && len(*s.ConstantIv) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ConstantIv", 32)) + } + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.IndexNSegments != nil && *s.IndexNSegments < 3 { + invalidParams.Add(request.NewErrParamMinValue("IndexNSegments", 3)) + } + if s.KeepSegments != nil && *s.KeepSegments < 1 { + invalidParams.Add(request.NewErrParamMinValue("KeepSegments", 1)) + } + if s.SegmentLength != nil && *s.SegmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1)) + } + if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1)) + } + if s.CaptionLanguageMappings != nil { + for i, v := range s.CaptionLanguageMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.KeyProviderSettings != nil { + if err := s.KeyProviderSettings.Validate(); err != nil { + invalidParams.AddNested("KeyProviderSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAdMarkers sets the AdMarkers field's value. func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings { s.AdMarkers = v @@ -5917,11 +6712,13 @@ type HlsOutputSettings struct { // Settings regarding the underlying stream. These settings are different for // audio-only outputs. - HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure"` + // + // HlsSettings is a required field + HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure" required:"true"` // String concatenated to the end of the destination filename. Accepts \"Format // Identifiers\":#formatIdentifierParameters. - NameModifier *string `locationName:"nameModifier" type:"string"` + NameModifier *string `locationName:"nameModifier" min:"1" type:"string"` // String concatenated to end of segment filenames. SegmentModifier *string `locationName:"segmentModifier" type:"string"` @@ -5937,6 +6734,27 @@ func (s HlsOutputSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsOutputSettings"} + if s.HlsSettings == nil { + invalidParams.Add(request.NewErrParamRequired("HlsSettings")) + } + if s.NameModifier != nil && len(*s.NameModifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1)) + } + if s.HlsSettings != nil { + if err := s.HlsSettings.Validate(); err != nil { + invalidParams.AddNested("HlsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetHlsSettings sets the HlsSettings field's value. func (s *HlsOutputSettings) SetHlsSettings(v *HlsSettings) *HlsOutputSettings { s.HlsSettings = v @@ -5973,6 +6791,26 @@ func (s HlsSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsSettings"} + if s.AudioOnlyHlsSettings != nil { + if err := s.AudioOnlyHlsSettings.Validate(); err != nil { + invalidParams.AddNested("AudioOnlyHlsSettings", err.(request.ErrInvalidParams)) + } + } + if s.StandardHlsSettings != nil { + if err := s.StandardHlsSettings.Validate(); err != nil { + invalidParams.AddNested("StandardHlsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAudioOnlyHlsSettings sets the AudioOnlyHlsSettings field's value. func (s *HlsSettings) SetAudioOnlyHlsSettings(v *AudioOnlyHlsSettings) *HlsSettings { s.AudioOnlyHlsSettings = v @@ -6161,6 +6999,21 @@ func (s InputAttachment) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputAttachment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputAttachment"} + if s.InputSettings != nil { + if err := s.InputSettings.Validate(); err != nil { + invalidParams.AddNested("InputSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetInputId sets the InputId field's value. func (s *InputAttachment) SetInputId(v string) *InputAttachment { s.InputId = &v @@ -6178,10 +7031,14 @@ type InputChannelLevel struct { // Remixing value. Units are in dB and acceptable values are within the range // from -60 (mute) and 6 dB. - Gain *int64 `locationName:"gain" type:"integer"` + // + // Gain is a required field + Gain *int64 `locationName:"gain" type:"integer" required:"true"` // The index of the input channel used as a source. - InputChannel *int64 `locationName:"inputChannel" type:"integer"` + // + // InputChannel is a required field + InputChannel *int64 `locationName:"inputChannel" type:"integer" required:"true"` } // String returns the string representation @@ -6194,6 +7051,25 @@ func (s InputChannelLevel) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputChannelLevel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputChannelLevel"} + if s.Gain == nil { + invalidParams.Add(request.NewErrParamRequired("Gain")) + } + if s.Gain != nil && *s.Gain < -60 { + invalidParams.Add(request.NewErrParamMinValue("Gain", -60)) + } + if s.InputChannel == nil { + invalidParams.Add(request.NewErrParamRequired("InputChannel")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetGain sets the Gain field's value. func (s *InputChannelLevel) SetGain(v int64) *InputChannelLevel { s.Gain = &v @@ -6282,7 +7158,9 @@ type InputLocation struct { // Uniform Resource Identifier - This should be a path to a file accessible // to the Live system (eg. a http:// URI) depending on the output type. For // example, a rtmpEndpoint should have a uri simliar to: "rtmp://fmsserver/live". - Uri *string `locationName:"uri" type:"string"` + // + // Uri is a required field + Uri *string `locationName:"uri" type:"string" required:"true"` // Username if credentials are required to access a file or publishing point. // This can be either a plaintext username, or a reference to an AWS parameter @@ -6301,6 +7179,19 @@ func (s InputLocation) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLocation"} + if s.Uri == nil { + invalidParams.Add(request.NewErrParamRequired("Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetPasswordParam sets the PasswordParam field's value. func (s *InputLocation) SetPasswordParam(v string) *InputLocation { s.PasswordParam = &v @@ -6330,7 +7221,7 @@ type InputLossBehavior struct { // When input loss image type is "color" this field specifies the color to use. // Value: 6 hex characters representing the values of RGB. - InputLossImageColor *string `locationName:"inputLossImageColor" type:"string"` + InputLossImageColor *string `locationName:"inputLossImageColor" min:"6" type:"string"` // When input loss image type is "slate" these fields specify the parameters // for accessing the slate. @@ -6356,6 +7247,24 @@ func (s InputLossBehavior) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLossBehavior) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLossBehavior"} + if s.InputLossImageColor != nil && len(*s.InputLossImageColor) < 6 { + invalidParams.Add(request.NewErrParamMinLen("InputLossImageColor", 6)) + } + if s.InputLossImageSlate != nil { + if err := s.InputLossImageSlate.Validate(); err != nil { + invalidParams.AddNested("InputLossImageSlate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetBlackFrameMsec sets the BlackFrameMsec field's value. func (s *InputLossBehavior) SetBlackFrameMsec(v int64) *InputLossBehavior { s.BlackFrameMsec = &v @@ -6446,7 +7355,7 @@ type InputSettings struct { DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"` // Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). - FilterStrength *int64 `locationName:"filterStrength" type:"integer"` + FilterStrength *int64 `locationName:"filterStrength" min:"1" type:"integer"` // Turns on the filter for this input. MPEG-2 inputs have the deblocking filter // enabled by default.1) auto - filtering will be applied depending on input @@ -6475,6 +7384,39 @@ func (s InputSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputSettings"} + if s.FilterStrength != nil && *s.FilterStrength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FilterStrength", 1)) + } + if s.AudioSelectors != nil { + for i, v := range s.AudioSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CaptionSelectors != nil { + for i, v := range s.CaptionSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAudioSelectors sets the AudioSelectors field's value. func (s *InputSettings) SetAudioSelectors(v []*AudioSelector) *InputSettings { s.AudioSelectors = v @@ -6718,6 +7660,21 @@ func (s KeyProviderSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *KeyProviderSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"} + if s.StaticKeySettings != nil { + if err := s.StaticKeySettings.Validate(); err != nil { + invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetStaticKeySettings sets the StaticKeySettings field's value. func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings { s.StaticKeySettings = v @@ -7178,6 +8135,31 @@ func (s M2tsSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *M2tsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"} + if s.DvbNitSettings != nil { + if err := s.DvbNitSettings.Validate(); err != nil { + invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSdtSettings != nil { + if err := s.DvbSdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbTdtSettings != nil { + if err := s.DvbTdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAbsentInputAudioBehavior sets the AbsentInputAudioBehavior field's value. func (s *M2tsSettings) SetAbsentInputAudioBehavior(v string) *M2tsSettings { s.AbsentInputAudioBehavior = &v @@ -7684,7 +8666,9 @@ type MsSmoothGroupSettings struct { // Smooth Streaming publish point on an IIS server. Elemental Live acts as a // "Push" encoder to IIS. - Destination *OutputLocationRef `locationName:"destination" type:"structure"` + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` // MS Smooth event ID to be sent to the IIS server.Should only be specified // if eventIdMode is set to useConfigured. @@ -7706,7 +8690,7 @@ type MsSmoothGroupSettings struct { // Length of mp4 fragments to generate (in seconds). Fragment length must be // compatible with GOP size and framerate. - FragmentLength *int64 `locationName:"fragmentLength" type:"integer"` + FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"` // Parameter that control output group behavior on input loss. InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForMsSmoothOut"` @@ -7761,6 +8745,22 @@ func (s MsSmoothGroupSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *MsSmoothGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.FragmentLength != nil && *s.FragmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAcquisitionPointId sets the AcquisitionPointId field's value. func (s *MsSmoothGroupSettings) SetAcquisitionPointId(v string) *MsSmoothGroupSettings { s.AcquisitionPointId = &v @@ -7949,10 +8949,12 @@ type Output struct { CaptionDescriptionNames []*string `locationName:"captionDescriptionNames" type:"list"` // The name used to identify an output. - OutputName *string `locationName:"outputName" type:"string"` + OutputName *string `locationName:"outputName" min:"1" type:"string"` // Output type-specific settings. - OutputSettings *OutputSettings `locationName:"outputSettings" type:"structure"` + // + // OutputSettings is a required field + OutputSettings *OutputSettings `locationName:"outputSettings" type:"structure" required:"true"` // The name of the VideoDescription used as the source for this output. VideoDescriptionName *string `locationName:"videoDescriptionName" type:"string"` @@ -7968,6 +8970,27 @@ func (s Output) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Output) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Output"} + if s.OutputName != nil && len(*s.OutputName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputName", 1)) + } + if s.OutputSettings == nil { + invalidParams.Add(request.NewErrParamRequired("OutputSettings")) + } + if s.OutputSettings != nil { + if err := s.OutputSettings.Validate(); err != nil { + invalidParams.AddNested("OutputSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAudioDescriptionNames sets the AudioDescriptionNames field's value. func (s *Output) SetAudioDescriptionNames(v []*string) *Output { s.AudioDescriptionNames = v @@ -8081,9 +9104,12 @@ type OutputGroup struct { Name *string `locationName:"name" type:"string"` // Settings associated with the output group. - OutputGroupSettings *OutputGroupSettings `locationName:"outputGroupSettings" type:"structure"` + // + // OutputGroupSettings is a required field + OutputGroupSettings *OutputGroupSettings `locationName:"outputGroupSettings" type:"structure" required:"true"` - Outputs []*Output `locationName:"outputs" type:"list"` + // Outputs is a required field + Outputs []*Output `locationName:"outputs" type:"list" required:"true"` } // String returns the string representation @@ -8096,6 +9122,37 @@ func (s OutputGroup) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputGroup"} + if s.OutputGroupSettings == nil { + invalidParams.Add(request.NewErrParamRequired("OutputGroupSettings")) + } + if s.Outputs == nil { + invalidParams.Add(request.NewErrParamRequired("Outputs")) + } + if s.OutputGroupSettings != nil { + if err := s.OutputGroupSettings.Validate(); err != nil { + invalidParams.AddNested("OutputGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.Outputs != nil { + for i, v := range s.Outputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetName sets the Name field's value. func (s *OutputGroup) SetName(v string) *OutputGroup { s.Name = &v @@ -8136,6 +9193,31 @@ func (s OutputGroupSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputGroupSettings"} + if s.ArchiveGroupSettings != nil { + if err := s.ArchiveGroupSettings.Validate(); err != nil { + invalidParams.AddNested("ArchiveGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.HlsGroupSettings != nil { + if err := s.HlsGroupSettings.Validate(); err != nil { + invalidParams.AddNested("HlsGroupSettings", err.(request.ErrInvalidParams)) + } + } + if s.MsSmoothGroupSettings != nil { + if err := s.MsSmoothGroupSettings.Validate(); err != nil { + invalidParams.AddNested("MsSmoothGroupSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetArchiveGroupSettings sets the ArchiveGroupSettings field's value. func (s *OutputGroupSettings) SetArchiveGroupSettings(v *ArchiveGroupSettings) *OutputGroupSettings { s.ArchiveGroupSettings = v @@ -8205,6 +9287,31 @@ func (s OutputSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputSettings"} + if s.ArchiveOutputSettings != nil { + if err := s.ArchiveOutputSettings.Validate(); err != nil { + invalidParams.AddNested("ArchiveOutputSettings", err.(request.ErrInvalidParams)) + } + } + if s.HlsOutputSettings != nil { + if err := s.HlsOutputSettings.Validate(); err != nil { + invalidParams.AddNested("HlsOutputSettings", err.(request.ErrInvalidParams)) + } + } + if s.UdpOutputSettings != nil { + if err := s.UdpOutputSettings.Validate(); err != nil { + invalidParams.AddNested("UdpOutputSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetArchiveOutputSettings sets the ArchiveOutputSettings field's value. func (s *OutputSettings) SetArchiveOutputSettings(v *ArchiveOutputSettings) *OutputSettings { s.ArchiveOutputSettings = v @@ -8247,13 +9354,15 @@ type RemixSettings struct { _ struct{} `type:"structure"` // Mapping of input channels to output channels, with appropriate gain adjustments. - ChannelMappings []*AudioChannelMapping `locationName:"channelMappings" type:"list"` + // + // ChannelMappings is a required field + ChannelMappings []*AudioChannelMapping `locationName:"channelMappings" type:"list" required:"true"` // Number of input channels to be used. - ChannelsIn *int64 `locationName:"channelsIn" type:"integer"` + ChannelsIn *int64 `locationName:"channelsIn" min:"1" type:"integer"` // Number of output channels to be produced.Valid values: 1, 2, 4, 6, 8 - ChannelsOut *int64 `locationName:"channelsOut" type:"integer"` + ChannelsOut *int64 `locationName:"channelsOut" min:"1" type:"integer"` } // String returns the string representation @@ -8266,6 +9375,35 @@ func (s RemixSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemixSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemixSettings"} + if s.ChannelMappings == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelMappings")) + } + if s.ChannelsIn != nil && *s.ChannelsIn < 1 { + invalidParams.Add(request.NewErrParamMinValue("ChannelsIn", 1)) + } + if s.ChannelsOut != nil && *s.ChannelsOut < 1 { + invalidParams.Add(request.NewErrParamMinValue("ChannelsOut", 1)) + } + if s.ChannelMappings != nil { + for i, v := range s.ChannelMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ChannelMappings", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetChannelMappings sets the ChannelMappings field's value. func (s *RemixSettings) SetChannelMappings(v []*AudioChannelMapping) *RemixSettings { s.ChannelMappings = v @@ -8308,7 +9446,7 @@ type Scte20SourceSettings struct { // Specifies the 608/708 channel number within the video track from which to // extract captions. Unused for passthrough. - Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" type:"integer"` + Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"` } // String returns the string representation @@ -8321,6 +9459,19 @@ func (s Scte20SourceSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte20SourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte20SourceSettings"} + if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetConvert608To708 sets the Convert608To708 field's value. func (s *Scte20SourceSettings) SetConvert608To708(v string) *Scte20SourceSettings { s.Convert608To708 = &v @@ -8357,7 +9508,7 @@ type Scte27SourceSettings struct { // language, whichever PID that happens to be. - Omit PID and omit Language: // Valid only if source is DVB-Sub that is being passed through; all languages // will be passed through. - Pid *int64 `locationName:"pid" type:"integer"` + Pid *int64 `locationName:"pid" min:"1" type:"integer"` } // String returns the string representation @@ -8370,6 +9521,19 @@ func (s Scte27SourceSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte27SourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte27SourceSettings"} + if s.Pid != nil && *s.Pid < 1 { + invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetPid sets the Pid field's value. func (s *Scte27SourceSettings) SetPid(v int64) *Scte27SourceSettings { s.Pid = &v @@ -8403,6 +9567,19 @@ func (s Scte35SpliceInsert) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35SpliceInsert) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35SpliceInsert"} + if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 { + invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAdAvailOffset sets the AdAvailOffset field's value. func (s *Scte35SpliceInsert) SetAdAvailOffset(v int64) *Scte35SpliceInsert { s.AdAvailOffset = &v @@ -8448,6 +9625,19 @@ func (s Scte35TimeSignalApos) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Scte35TimeSignalApos) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Scte35TimeSignalApos"} + if s.AdAvailOffset != nil && *s.AdAvailOffset < -1000 { + invalidParams.Add(request.NewErrParamMinValue("AdAvailOffset", -1000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAdAvailOffset sets the AdAvailOffset field's value. func (s *Scte35TimeSignalApos) SetAdAvailOffset(v int64) *Scte35TimeSignalApos { s.AdAvailOffset = &v @@ -8488,7 +9678,9 @@ type StandardHlsSettings struct { AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"` // Settings information for the .m3u8 container - M3u8Settings *M3u8Settings `locationName:"m3u8Settings" type:"structure"` + // + // M3u8Settings is a required field + M3u8Settings *M3u8Settings `locationName:"m3u8Settings" type:"structure" required:"true"` } // String returns the string representation @@ -8501,6 +9693,19 @@ func (s StandardHlsSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *StandardHlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StandardHlsSettings"} + if s.M3u8Settings == nil { + invalidParams.Add(request.NewErrParamRequired("M3u8Settings")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAudioRenditionSets sets the AudioRenditionSets field's value. func (s *StandardHlsSettings) SetAudioRenditionSets(v string) *StandardHlsSettings { s.AudioRenditionSets = &v @@ -8658,7 +9863,9 @@ type StaticKeySettings struct { KeyProviderServer *InputLocation `locationName:"keyProviderServer" type:"structure"` // Static key value as a 32 character hexadecimal string. - StaticKeyValue *string `locationName:"staticKeyValue" type:"string"` + // + // StaticKeyValue is a required field + StaticKeyValue *string `locationName:"staticKeyValue" min:"32" type:"string" required:"true"` } // String returns the string representation @@ -8671,6 +9878,27 @@ func (s StaticKeySettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *StaticKeySettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StaticKeySettings"} + if s.StaticKeyValue == nil { + invalidParams.Add(request.NewErrParamRequired("StaticKeyValue")) + } + if s.StaticKeyValue != nil && len(*s.StaticKeyValue) < 32 { + invalidParams.Add(request.NewErrParamMinLen("StaticKeyValue", 32)) + } + if s.KeyProviderServer != nil { + if err := s.KeyProviderServer.Validate(); err != nil { + invalidParams.AddNested("KeyProviderServer", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetKeyProviderServer sets the KeyProviderServer field's value. func (s *StaticKeySettings) SetKeyProviderServer(v *InputLocation) *StaticKeySettings { s.KeyProviderServer = v @@ -8869,13 +10097,15 @@ type TimecodeConfig struct { // system falls back to using "Start at 0" (zerobased).-System Clock (systemclock): // Use the UTC time.-Start at 0 (zerobased): The time of the first frame of // the event will be 00:00:00:00. - Source *string `locationName:"source" type:"string" enum:"TimecodeConfigSource"` + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true" enum:"TimecodeConfigSource"` // Threshold in frames beyond which output timecode is resynchronized to the // input timecode. Discrepancies below this threshold are permitted to avoid // unnecessary discontinuities in the output timecode. No timecode sync when // this is not specified. - SyncThreshold *int64 `locationName:"syncThreshold" type:"integer"` + SyncThreshold *int64 `locationName:"syncThreshold" min:"1" type:"integer"` } // String returns the string representation @@ -8888,6 +10118,22 @@ func (s TimecodeConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *TimecodeConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TimecodeConfig"} + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.SyncThreshold != nil && *s.SyncThreshold < 1 { + invalidParams.Add(request.NewErrParamMinValue("SyncThreshold", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetSource sets the Source field's value. func (s *TimecodeConfig) SetSource(v string) *TimecodeConfig { s.Source = &v @@ -8941,6 +10187,21 @@ func (s UdpContainerSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *UdpContainerSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UdpContainerSettings"} + if s.M2tsSettings != nil { + if err := s.M2tsSettings.Validate(); err != nil { + invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetM2tsSettings sets the M2tsSettings field's value. func (s *UdpContainerSettings) SetM2tsSettings(v *M2tsSettings) *UdpContainerSettings { s.M2tsSettings = v @@ -9003,11 +10264,14 @@ type UdpOutputSettings struct { // switching, input disruptions, picture reordering, etc. BufferMsec *int64 `locationName:"bufferMsec" type:"integer"` - ContainerSettings *UdpContainerSettings `locationName:"containerSettings" type:"structure"` + // ContainerSettings is a required field + ContainerSettings *UdpContainerSettings `locationName:"containerSettings" type:"structure" required:"true"` // Destination address and port number for RTP or UDP packets. Can be unicast // or multicast RTP or UDP (eg. rtp://239.10.10.10:5001 or udp://10.100.100.100:5002). - Destination *OutputLocationRef `locationName:"destination" type:"structure"` + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` // Settings for enabling and adjusting Forward Error Correction on UDP outputs. FecOutputSettings *FecOutputSettings `locationName:"fecOutputSettings" type:"structure"` @@ -9023,6 +10287,32 @@ func (s UdpOutputSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *UdpOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UdpOutputSettings"} + if s.ContainerSettings == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerSettings")) + } + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.ContainerSettings != nil { + if err := s.ContainerSettings.Validate(); err != nil { + invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + } + } + if s.FecOutputSettings != nil { + if err := s.FecOutputSettings.Validate(); err != nil { + invalidParams.AddNested("FecOutputSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetBufferMsec sets the BufferMsec field's value. func (s *UdpOutputSettings) SetBufferMsec(v int64) *UdpOutputSettings { s.BufferMsec = &v @@ -9080,6 +10370,11 @@ func (s *UpdateChannelInput) Validate() error { if s.ChannelId == nil { invalidParams.Add(request.NewErrParamRequired("ChannelId")) } + if s.EncoderSettings != nil { + if err := s.EncoderSettings.Validate(); err != nil { + invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -9191,6 +10486,21 @@ func (s VideoCodecSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *VideoCodecSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VideoCodecSettings"} + if s.H264Settings != nil { + if err := s.H264Settings.Validate(); err != nil { + invalidParams.AddNested("H264Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetH264Settings sets the H264Settings field's value. func (s *VideoCodecSettings) SetH264Settings(v *H264Settings) *VideoCodecSettings { s.H264Settings = v @@ -9211,7 +10521,9 @@ type VideoDescription struct { // The name of this VideoDescription. Outputs will use this name to uniquely // identify this Description. Description names should be unique within this // Live Event. - Name *string `locationName:"name" type:"string"` + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` // Indicates how to respond to the AFD values in the input stream. Setting to // "respond" causes input video to be clipped, depending on AFD value, input @@ -9244,6 +10556,24 @@ func (s VideoDescription) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *VideoDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VideoDescription"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.CodecSettings != nil { + if err := s.CodecSettings.Validate(); err != nil { + invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCodecSettings sets the CodecSettings field's value. func (s *VideoDescription) SetCodecSettings(v *VideoCodecSettings) *VideoDescription { s.CodecSettings = v