diff --git a/clients/client-medialive/src/auth/httpAuthSchemeProvider.ts b/clients/client-medialive/src/auth/httpAuthSchemeProvider.ts index 927f5dce1fec..12dfb2264896 100644 --- a/clients/client-medialive/src/auth/httpAuthSchemeProvider.ts +++ b/clients/client-medialive/src/auth/httpAuthSchemeProvider.ts @@ -60,7 +60,7 @@ function createAwsAuthSigv4HttpAuthOption(authParameters: MediaLiveHttpAuthSchem name: "medialive", region: authParameters.region, }, - propertiesExtractor: (config: MediaLiveClientConfig, context) => ({ + propertiesExtractor: (config: Partial, context) => ({ /** * @internal */ diff --git a/clients/client-medialive/src/commands/CreateInputCommand.ts b/clients/client-medialive/src/commands/CreateInputCommand.ts index 088da7f635f9..d67703969e07 100644 --- a/clients/client-medialive/src/commands/CreateInputCommand.ts +++ b/clients/client-medialive/src/commands/CreateInputCommand.ts @@ -67,7 +67,7 @@ export interface CreateInputCommandOutput extends CreateInputResponse, __Metadat * Tags: { // Tags * "": "STRING_VALUE", * }, - * Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE", + * Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER", * Vpc: { // InputVpcRequest * SecurityGroupIds: [ * "STRING_VALUE", @@ -76,6 +76,20 @@ export interface CreateInputCommandOutput extends CreateInputResponse, __Metadat * "STRING_VALUE", * ], * }, + * SrtSettings: { // SrtSettingsRequest + * SrtCallerSources: [ // __listOfSrtCallerSourceRequest + * { // SrtCallerSourceRequest + * Decryption: { // SrtCallerDecryptionRequest + * Algorithm: "AES128" || "AES192" || "AES256", + * PassphraseSecretArn: "STRING_VALUE", + * }, + * MinimumLatency: Number("int"), + * SrtListenerAddress: "STRING_VALUE", + * SrtListenerPort: "STRING_VALUE", + * StreamId: "STRING_VALUE", + * }, + * ], + * }, * }; * const command = new CreateInputCommand(input); * const response = await client.send(command); @@ -128,7 +142,21 @@ export interface CreateInputCommandOutput extends CreateInputResponse, __Metadat * // Tags: { // Tags * // "": "STRING_VALUE", * // }, - * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER", + * // SrtSettings: { // SrtSettings + * // SrtCallerSources: [ // __listOfSrtCallerSource + * // { // SrtCallerSource + * // Decryption: { // SrtCallerDecryption + * // Algorithm: "AES128" || "AES192" || "AES256", + * // PassphraseSecretArn: "STRING_VALUE", + * // }, + * // MinimumLatency: Number("int"), + * // SrtListenerAddress: "STRING_VALUE", + * // SrtListenerPort: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // }, + * // ], + * // }, * // }, * // }; * diff --git a/clients/client-medialive/src/commands/CreatePartnerInputCommand.ts b/clients/client-medialive/src/commands/CreatePartnerInputCommand.ts index ad2c46621b90..337f7660ecc2 100644 --- a/clients/client-medialive/src/commands/CreatePartnerInputCommand.ts +++ b/clients/client-medialive/src/commands/CreatePartnerInputCommand.ts @@ -93,7 +93,21 @@ export interface CreatePartnerInputCommandOutput extends CreatePartnerInputRespo * // Tags: { // Tags * // "": "STRING_VALUE", * // }, - * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER", + * // SrtSettings: { // SrtSettings + * // SrtCallerSources: [ // __listOfSrtCallerSource + * // { // SrtCallerSource + * // Decryption: { // SrtCallerDecryption + * // Algorithm: "AES128" || "AES192" || "AES256", + * // PassphraseSecretArn: "STRING_VALUE", + * // }, + * // MinimumLatency: Number("int"), + * // SrtListenerAddress: "STRING_VALUE", + * // SrtListenerPort: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // }, + * // ], + * // }, * // }, * // }; * diff --git a/clients/client-medialive/src/commands/CreateSignalMapCommand.ts b/clients/client-medialive/src/commands/CreateSignalMapCommand.ts index cef6b6efb92a..4659b37d0d84 100644 --- a/clients/client-medialive/src/commands/CreateSignalMapCommand.ts +++ b/clients/client-medialive/src/commands/CreateSignalMapCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreateSignalMapRequest, CreateSignalMapResponse } from "../models/models_1"; +import { CreateSignalMapRequest, CreateSignalMapResponse } from "../models/models_2"; import { de_CreateSignalMapCommand, se_CreateSignalMapCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-medialive/src/commands/CreateTagsCommand.ts b/clients/client-medialive/src/commands/CreateTagsCommand.ts index 28018ae73927..f6abdba68925 100644 --- a/clients/client-medialive/src/commands/CreateTagsCommand.ts +++ b/clients/client-medialive/src/commands/CreateTagsCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreateTagsRequest } from "../models/models_1"; +import { CreateTagsRequest } from "../models/models_2"; import { de_CreateTagsCommand, se_CreateTagsCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-medialive/src/commands/DeleteChannelCommand.ts b/clients/client-medialive/src/commands/DeleteChannelCommand.ts index 56d4e709be3a..d68b58f1036f 100644 --- a/clients/client-medialive/src/commands/DeleteChannelCommand.ts +++ b/clients/client-medialive/src/commands/DeleteChannelCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { DeleteChannelRequest } from "../models/models_1"; -import { DeleteChannelResponse } from "../models/models_2"; +import { DeleteChannelRequest, DeleteChannelResponse } from "../models/models_2"; import { de_DeleteChannelCommand, se_DeleteChannelCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-medialive/src/commands/DescribeInputCommand.ts b/clients/client-medialive/src/commands/DescribeInputCommand.ts index 2b51c86df9fe..078829bc9e88 100644 --- a/clients/client-medialive/src/commands/DescribeInputCommand.ts +++ b/clients/client-medialive/src/commands/DescribeInputCommand.ts @@ -88,7 +88,21 @@ export interface DescribeInputCommandOutput extends DescribeInputResponse, __Met * // Tags: { // Tags * // "": "STRING_VALUE", * // }, - * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER", + * // SrtSettings: { // SrtSettings + * // SrtCallerSources: [ // __listOfSrtCallerSource + * // { // SrtCallerSource + * // Decryption: { // SrtCallerDecryption + * // Algorithm: "AES128" || "AES192" || "AES256", + * // PassphraseSecretArn: "STRING_VALUE", + * // }, + * // MinimumLatency: Number("int"), + * // SrtListenerAddress: "STRING_VALUE", + * // SrtListenerPort: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // }, + * // ], + * // }, * // }; * * ``` diff --git a/clients/client-medialive/src/commands/ListInputsCommand.ts b/clients/client-medialive/src/commands/ListInputsCommand.ts index 1fb7eb6b22a8..b3dd3f5ad7b8 100644 --- a/clients/client-medialive/src/commands/ListInputsCommand.ts +++ b/clients/client-medialive/src/commands/ListInputsCommand.ts @@ -91,7 +91,21 @@ export interface ListInputsCommandOutput extends ListInputsResponse, __MetadataB * // Tags: { // Tags * // "": "STRING_VALUE", * // }, - * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER", + * // SrtSettings: { // SrtSettings + * // SrtCallerSources: [ // __listOfSrtCallerSource + * // { // SrtCallerSource + * // Decryption: { // SrtCallerDecryption + * // Algorithm: "AES128" || "AES192" || "AES256", + * // PassphraseSecretArn: "STRING_VALUE", + * // }, + * // MinimumLatency: Number("int"), + * // SrtListenerAddress: "STRING_VALUE", + * // SrtListenerPort: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // }, + * // ], + * // }, * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-medialive/src/commands/UpdateInputCommand.ts b/clients/client-medialive/src/commands/UpdateInputCommand.ts index 35b03e5f68c9..119acddca9d8 100644 --- a/clients/client-medialive/src/commands/UpdateInputCommand.ts +++ b/clients/client-medialive/src/commands/UpdateInputCommand.ts @@ -64,6 +64,20 @@ export interface UpdateInputCommandOutput extends UpdateInputResponse, __Metadat * Username: "STRING_VALUE", * }, * ], + * SrtSettings: { // SrtSettingsRequest + * SrtCallerSources: [ // __listOfSrtCallerSourceRequest + * { // SrtCallerSourceRequest + * Decryption: { // SrtCallerDecryptionRequest + * Algorithm: "AES128" || "AES192" || "AES256", + * PassphraseSecretArn: "STRING_VALUE", + * }, + * MinimumLatency: Number("int"), + * SrtListenerAddress: "STRING_VALUE", + * SrtListenerPort: "STRING_VALUE", + * StreamId: "STRING_VALUE", + * }, + * ], + * }, * }; * const command = new UpdateInputCommand(input); * const response = await client.send(command); @@ -116,7 +130,21 @@ export interface UpdateInputCommandOutput extends UpdateInputResponse, __Metadat * // Tags: { // Tags * // "": "STRING_VALUE", * // }, - * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER", + * // SrtSettings: { // SrtSettings + * // SrtCallerSources: [ // __listOfSrtCallerSource + * // { // SrtCallerSource + * // Decryption: { // SrtCallerDecryption + * // Algorithm: "AES128" || "AES192" || "AES256", + * // PassphraseSecretArn: "STRING_VALUE", + * // }, + * // MinimumLatency: Number("int"), + * // SrtListenerAddress: "STRING_VALUE", + * // SrtListenerPort: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // }, + * // ], + * // }, * // }, * // }; * diff --git a/clients/client-medialive/src/models/models_0.ts b/clients/client-medialive/src/models/models_0.ts index 7e48143d4444..bcb3e5f93aac 100644 --- a/clients/client-medialive/src/models/models_0.ts +++ b/clients/client-medialive/src/models/models_0.ts @@ -649,7 +649,6 @@ export type Eac3AtmosDrcRf = (typeof Eac3AtmosDrcRf)[keyof typeof Eac3AtmosDrcRf export interface Eac3AtmosSettings { /** * Average bitrate in bits/second. Valid bitrates depend on the coding mode. - * // * @affectsRightSizing true * @public */ Bitrate?: number; @@ -4213,6 +4212,87 @@ export interface InputSource { Username?: string; } +/** + * @public + * @enum + */ +export const Algorithm = { + AES128: "AES128", + AES192: "AES192", + AES256: "AES256", +} as const; + +/** + * @public + */ +export type Algorithm = (typeof Algorithm)[keyof typeof Algorithm]; + +/** + * The decryption settings for the SRT caller source. Present only if the source has decryption enabled. + * @public + */ +export interface SrtCallerDecryption { + /** + * The algorithm used to encrypt content. + * @public + */ + Algorithm?: Algorithm; + + /** + * The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. The secret holds the passphrase that MediaLive uses to decrypt the source content. + * @public + */ + PassphraseSecretArn?: string; +} + +/** + * The configuration for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender. + * @public + */ +export interface SrtCallerSource { + /** + * The decryption settings for the SRT caller source. Present only if the source has decryption enabled. + * @public + */ + Decryption?: SrtCallerDecryption; + + /** + * The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. + * @public + */ + MinimumLatency?: number; + + /** + * The IP address at the upstream system (the listener) that MediaLive (the caller) connects to. + * @public + */ + SrtListenerAddress?: string; + + /** + * The port at the upstream system (the listener) that MediaLive (the caller) connects to. + * @public + */ + SrtListenerPort?: string; + + /** + * The stream ID, if the upstream system uses this identifier. + * @public + */ + StreamId?: string; +} + +/** + * The configured sources for this SRT input. + * @public + */ +export interface SrtSettings { + /** + * Placeholder documentation for __listOfSrtCallerSource + * @public + */ + SrtCallerSources?: SrtCallerSource[]; +} + /** * @public * @enum @@ -4242,6 +4322,7 @@ export const InputType = { RTMP_PULL: "RTMP_PULL", RTMP_PUSH: "RTMP_PUSH", RTP_PUSH: "RTP_PUSH", + SRT_CALLER: "SRT_CALLER", TS_FILE: "TS_FILE", UDP_PUSH: "UDP_PUSH", URL_PULL: "URL_PULL", @@ -4354,6 +4435,12 @@ export interface Input { * @public */ Type?: InputType; + + /** + * The settings associated with an SRT input. + * @public + */ + SrtSettings?: SrtSettings; } /** @@ -6910,65 +6997,3 @@ export const S3CannedAcl = { * @public */ export type S3CannedAcl = (typeof S3CannedAcl)[keyof typeof S3CannedAcl]; - -/** - * Archive S3 Settings - * @public - */ -export interface ArchiveS3Settings { - /** - * Specify the canned ACL to apply to each S3 request. Defaults to none. - * @public - */ - CannedAcl?: S3CannedAcl; -} - -/** - * Archive Cdn Settings - * @public - */ -export interface ArchiveCdnSettings { - /** - * Archive S3 Settings - * @public - */ - ArchiveS3Settings?: ArchiveS3Settings; -} - -/** - * Archive Group Settings - * @public - */ -export interface ArchiveGroupSettings { - /** - * Parameters that control interactions with the CDN. - * @public - */ - ArchiveCdnSettings?: ArchiveCdnSettings; - - /** - * A directory and base filename where archive files should be written. - * @public - */ - Destination: OutputLocationRef | undefined; - - /** - * Number of seconds to write to archive file before closing and starting a new one. - * @public - */ - RolloverInterval?: number; -} - -/** - * @public - * @enum - */ -export const CmafNielsenId3Behavior = { - NO_PASSTHROUGH: "NO_PASSTHROUGH", - PASSTHROUGH: "PASSTHROUGH", -} as const; - -/** - * @public - */ -export type CmafNielsenId3Behavior = (typeof CmafNielsenId3Behavior)[keyof typeof CmafNielsenId3Behavior]; diff --git a/clients/client-medialive/src/models/models_1.ts b/clients/client-medialive/src/models/models_1.ts index 96e6be9d74c7..2143fd2439ff 100644 --- a/clients/client-medialive/src/models/models_1.ts +++ b/clients/client-medialive/src/models/models_1.ts @@ -4,7 +4,7 @@ import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-cli import { MediaLiveServiceException as __BaseException } from "./MediaLiveServiceException"; import { - ArchiveGroupSettings, + Algorithm, AudioDescription, BatchFailedResultModel, BatchSuccessfulResultModel, @@ -18,7 +18,6 @@ import { CloudWatchAlarmTemplateStatistic, CloudWatchAlarmTemplateTargetResourceType, CloudWatchAlarmTemplateTreatMissingData, - CmafNielsenId3Behavior, ColorCorrection, EventBridgeRuleTemplateEventType, EventBridgeRuleTemplateTarget, @@ -38,7 +37,6 @@ import { MaintenanceDay, MaintenanceStatus, MediaConnectFlowRequest, - MediaResourceNeighbor, MultiplexOutputDestination, MultiplexProgramPipelineDetail, MultiplexState, @@ -52,6 +50,68 @@ import { VpcOutputSettingsDescription, } from "./models_0"; +/** + * Archive S3 Settings + * @public + */ +export interface ArchiveS3Settings { + /** + * Specify the canned ACL to apply to each S3 request. Defaults to none. + * @public + */ + CannedAcl?: S3CannedAcl; +} + +/** + * Archive Cdn Settings + * @public + */ +export interface ArchiveCdnSettings { + /** + * Archive S3 Settings + * @public + */ + ArchiveS3Settings?: ArchiveS3Settings; +} + +/** + * Archive Group Settings + * @public + */ +export interface ArchiveGroupSettings { + /** + * Parameters that control interactions with the CDN. + * @public + */ + ArchiveCdnSettings?: ArchiveCdnSettings; + + /** + * A directory and base filename where archive files should be written. + * @public + */ + Destination: OutputLocationRef | undefined; + + /** + * Number of seconds to write to archive file before closing and starting a new one. + * @public + */ + RolloverInterval?: number; +} + +/** + * @public + * @enum + */ +export const CmafNielsenId3Behavior = { + NO_PASSTHROUGH: "NO_PASSTHROUGH", + PASSTHROUGH: "PASSTHROUGH", +} as const; + +/** + * @public + */ +export type CmafNielsenId3Behavior = (typeof CmafNielsenId3Behavior)[keyof typeof CmafNielsenId3Behavior]; + /** * @public * @enum @@ -2816,6 +2876,60 @@ export interface SignalMapSummary { Tags?: Record; } +/** + * Complete these parameters only if the content is encrypted. + * @public + */ +export interface SrtCallerDecryptionRequest { + /** + * The algorithm used to encrypt content. + * @public + */ + Algorithm?: Algorithm; + + /** + * The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. This secret holds the passphrase that MediaLive will use to decrypt the source content. + * @public + */ + PassphraseSecretArn?: string; +} + +/** + * Configures the connection for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always the caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender. + * @public + */ +export interface SrtCallerSourceRequest { + /** + * Complete these parameters only if the content is encrypted. + * @public + */ + Decryption?: SrtCallerDecryptionRequest; + + /** + * The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. Obtain this value from the operator at the upstream system. + * @public + */ + MinimumLatency?: number; + + /** + * The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to. + * @public + */ + SrtListenerAddress?: string; + + /** + * The port at the upstream system (the listener) that MediaLive (the caller) will connect to. + * @public + */ + SrtListenerPort?: string; + + /** + * This value is required if the upstream system uses this identifier because without it, the SRT handshake between MediaLive (the caller) and the upstream system (the listener) might fail. + * @public + */ + StreamId?: string; +} + /** * @public * @enum @@ -3572,7 +3686,14 @@ export interface H264Settings { EntropyEncoding?: H264EntropyEncoding; /** - * Optional filters that you can apply to an encode. + * Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We + * recommend that you try both filters and observe the results to decide which one to use. + * + * The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual + * filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. + * + * The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current + * compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. * @public */ FilterSettings?: H264FilterSettings; @@ -4169,7 +4290,14 @@ export interface H265Settings { ColorSpaceSettings?: H265ColorSpaceSettings; /** - * Optional filters that you can apply to an encode. + * Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We + * recommend that you try both filters and observe the results to decide which one to use. + * + * The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual + * filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. + * + * The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current + * compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. * @public */ FilterSettings?: H265FilterSettings; @@ -6789,6 +6917,18 @@ export interface CreateEventBridgeRuleTemplateGroupResponse { Tags?: Record; } +/** + * Configures the sources for this SRT input. For a single-pipeline input, include one srtCallerSource in the array. For a standard-pipeline input, include two srtCallerSource. + * @public + */ +export interface SrtSettingsRequest { + /** + * Placeholder documentation for __listOfSrtCallerSourceRequest + * @public + */ + SrtCallerSources?: SrtCallerSourceRequest[]; +} + /** * Settings for a private VPC Input. * When this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses. @@ -6890,6 +7030,12 @@ export interface CreateInputRequest { * @public */ Vpc?: InputVpcRequest; + + /** + * The settings associated with an SRT input. + * @public + */ + SrtSettings?: SrtSettingsRequest; } /** @@ -7385,255 +7531,3 @@ export interface CreatePartnerInputResponse { */ Input?: Input; } - -/** - * Placeholder documentation for CreateSignalMapRequest - * @public - */ -export interface CreateSignalMapRequest { - /** - * Placeholder documentation for __listOf__stringPatternS - * @public - */ - CloudWatchAlarmTemplateGroupIdentifiers?: string[]; - - /** - * A resource's optional description. - * @public - */ - Description?: string; - - /** - * A top-level supported AWS resource ARN to discovery a signal map from. - * @public - */ - DiscoveryEntryPointArn: string | undefined; - - /** - * Placeholder documentation for __listOf__stringPatternS - * @public - */ - EventBridgeRuleTemplateGroupIdentifiers?: string[]; - - /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. - * @public - */ - Name: string | undefined; - - /** - * Represents the tags associated with a resource. - * @public - */ - Tags?: Record; -} - -/** - * An AWS resource used in media workflows. - * @public - */ -export interface MediaResource { - /** - * Placeholder documentation for __listOfMediaResourceNeighbor - * @public - */ - Destinations?: MediaResourceNeighbor[]; - - /** - * The logical name of an AWS media resource. - * @public - */ - Name?: string; - - /** - * Placeholder documentation for __listOfMediaResourceNeighbor - * @public - */ - Sources?: MediaResourceNeighbor[]; -} - -/** - * Represents the latest successful monitor deployment of a signal map. - * @public - */ -export interface SuccessfulMonitorDeployment { - /** - * URI associated with a signal map's monitor deployment. - * @public - */ - DetailsUri: string | undefined; - - /** - * A signal map's monitor deployment status. - * @public - */ - Status: SignalMapMonitorDeploymentStatus | undefined; -} - -/** - * Represents the latest monitor deployment of a signal map. - * @public - */ -export interface MonitorDeployment { - /** - * URI associated with a signal map's monitor deployment. - * @public - */ - DetailsUri?: string; - - /** - * Error message associated with a failed monitor deployment of a signal map. - * @public - */ - ErrorMessage?: string; - - /** - * A signal map's monitor deployment status. - * @public - */ - Status: SignalMapMonitorDeploymentStatus | undefined; -} - -/** - * Placeholder documentation for CreateSignalMapResponse - * @public - */ -export interface CreateSignalMapResponse { - /** - * A signal map's ARN (Amazon Resource Name) - * @public - */ - Arn?: string; - - /** - * Placeholder documentation for __listOf__stringMin7Max11PatternAws097 - * @public - */ - CloudWatchAlarmTemplateGroupIds?: string[]; - - /** - * Placeholder documentation for __timestampIso8601 - * @public - */ - CreatedAt?: Date; - - /** - * A resource's optional description. - * @public - */ - Description?: string; - - /** - * A top-level supported AWS resource ARN to discovery a signal map from. - * @public - */ - DiscoveryEntryPointArn?: string; - - /** - * Error message associated with a failed creation or failed update attempt of a signal map. - * @public - */ - ErrorMessage?: string; - - /** - * Placeholder documentation for __listOf__stringMin7Max11PatternAws097 - * @public - */ - EventBridgeRuleTemplateGroupIds?: string[]; - - /** - * A map representing an incomplete AWS media workflow as a graph. - * @public - */ - FailedMediaResourceMap?: Record; - - /** - * A signal map's id. - * @public - */ - Id?: string; - - /** - * Placeholder documentation for __timestampIso8601 - * @public - */ - LastDiscoveredAt?: Date; - - /** - * Represents the latest successful monitor deployment of a signal map. - * @public - */ - LastSuccessfulMonitorDeployment?: SuccessfulMonitorDeployment; - - /** - * A map representing an AWS media workflow as a graph. - * @public - */ - MediaResourceMap?: Record; - - /** - * Placeholder documentation for __timestampIso8601 - * @public - */ - ModifiedAt?: Date; - - /** - * If true, there are pending monitor changes for this signal map that can be deployed. - * @public - */ - MonitorChangesPendingDeployment?: boolean; - - /** - * Represents the latest monitor deployment of a signal map. - * @public - */ - MonitorDeployment?: MonitorDeployment; - - /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. - * @public - */ - Name?: string; - - /** - * A signal map's current status which is dependent on its lifecycle actions or associated jobs. - * @public - */ - Status?: SignalMapStatus; - - /** - * Represents the tags associated with a resource. - * @public - */ - Tags?: Record; -} - -/** - * Placeholder documentation for CreateTagsRequest - * @public - */ -export interface CreateTagsRequest { - /** - * Placeholder documentation for __string - * @public - */ - ResourceArn: string | undefined; - - /** - * Placeholder documentation for Tags - * @public - */ - Tags?: Record; -} - -/** - * Placeholder documentation for DeleteChannelRequest - * @public - */ -export interface DeleteChannelRequest { - /** - * Unique ID of the channel. - * @public - */ - ChannelId: string | undefined; -} diff --git a/clients/client-medialive/src/models/models_2.ts b/clients/client-medialive/src/models/models_2.ts index 458134e8c285..d8cda1c3279e 100644 --- a/clients/client-medialive/src/models/models_2.ts +++ b/clients/client-medialive/src/models/models_2.ts @@ -52,6 +52,7 @@ import { MaintenanceStatus, MediaConnectFlow, MediaConnectFlowRequest, + MediaResourceNeighbor, MultiplexOutputDestination, MultiplexProgramPipelineDetail, MultiplexProgramSummary, @@ -62,6 +63,7 @@ import { OfferingType, OutputDestination, ReservationResourceSpecification, + SrtSettings, VpcOutputSettingsDescription, } from "./models_0"; @@ -71,8 +73,6 @@ import { Channel, ContentType, EncoderSettings, - MediaResource, - MonitorDeployment, Multiplex, MultiplexProgram, MultiplexProgramPacketIdentifiersMap, @@ -83,13 +83,266 @@ import { Reservation, ReservationState, ScheduleAction, + SignalMapMonitorDeploymentStatus, SignalMapStatus, SignalMapSummary, - SuccessfulMonitorDeployment, + SrtSettingsRequest, ThumbnailDetail, TransferringInputDeviceSummary, } from "./models_1"; +/** + * Placeholder documentation for CreateSignalMapRequest + * @public + */ +export interface CreateSignalMapRequest { + /** + * Placeholder documentation for __listOf__stringPatternS + * @public + */ + CloudWatchAlarmTemplateGroupIdentifiers?: string[]; + + /** + * A resource's optional description. + * @public + */ + Description?: string; + + /** + * A top-level supported AWS resource ARN to discovery a signal map from. + * @public + */ + DiscoveryEntryPointArn: string | undefined; + + /** + * Placeholder documentation for __listOf__stringPatternS + * @public + */ + EventBridgeRuleTemplateGroupIdentifiers?: string[]; + + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * @public + */ + Name: string | undefined; + + /** + * Represents the tags associated with a resource. + * @public + */ + Tags?: Record; +} + +/** + * An AWS resource used in media workflows. + * @public + */ +export interface MediaResource { + /** + * Placeholder documentation for __listOfMediaResourceNeighbor + * @public + */ + Destinations?: MediaResourceNeighbor[]; + + /** + * The logical name of an AWS media resource. + * @public + */ + Name?: string; + + /** + * Placeholder documentation for __listOfMediaResourceNeighbor + * @public + */ + Sources?: MediaResourceNeighbor[]; +} + +/** + * Represents the latest successful monitor deployment of a signal map. + * @public + */ +export interface SuccessfulMonitorDeployment { + /** + * URI associated with a signal map's monitor deployment. + * @public + */ + DetailsUri: string | undefined; + + /** + * A signal map's monitor deployment status. + * @public + */ + Status: SignalMapMonitorDeploymentStatus | undefined; +} + +/** + * Represents the latest monitor deployment of a signal map. + * @public + */ +export interface MonitorDeployment { + /** + * URI associated with a signal map's monitor deployment. + * @public + */ + DetailsUri?: string; + + /** + * Error message associated with a failed monitor deployment of a signal map. + * @public + */ + ErrorMessage?: string; + + /** + * A signal map's monitor deployment status. + * @public + */ + Status: SignalMapMonitorDeploymentStatus | undefined; +} + +/** + * Placeholder documentation for CreateSignalMapResponse + * @public + */ +export interface CreateSignalMapResponse { + /** + * A signal map's ARN (Amazon Resource Name) + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __listOf__stringMin7Max11PatternAws097 + * @public + */ + CloudWatchAlarmTemplateGroupIds?: string[]; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + CreatedAt?: Date; + + /** + * A resource's optional description. + * @public + */ + Description?: string; + + /** + * A top-level supported AWS resource ARN to discovery a signal map from. + * @public + */ + DiscoveryEntryPointArn?: string; + + /** + * Error message associated with a failed creation or failed update attempt of a signal map. + * @public + */ + ErrorMessage?: string; + + /** + * Placeholder documentation for __listOf__stringMin7Max11PatternAws097 + * @public + */ + EventBridgeRuleTemplateGroupIds?: string[]; + + /** + * A map representing an incomplete AWS media workflow as a graph. + * @public + */ + FailedMediaResourceMap?: Record; + + /** + * A signal map's id. + * @public + */ + Id?: string; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + LastDiscoveredAt?: Date; + + /** + * Represents the latest successful monitor deployment of a signal map. + * @public + */ + LastSuccessfulMonitorDeployment?: SuccessfulMonitorDeployment; + + /** + * A map representing an AWS media workflow as a graph. + * @public + */ + MediaResourceMap?: Record; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + ModifiedAt?: Date; + + /** + * If true, there are pending monitor changes for this signal map that can be deployed. + * @public + */ + MonitorChangesPendingDeployment?: boolean; + + /** + * Represents the latest monitor deployment of a signal map. + * @public + */ + MonitorDeployment?: MonitorDeployment; + + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * @public + */ + Name?: string; + + /** + * A signal map's current status which is dependent on its lifecycle actions or associated jobs. + * @public + */ + Status?: SignalMapStatus; + + /** + * Represents the tags associated with a resource. + * @public + */ + Tags?: Record; +} + +/** + * Placeholder documentation for CreateTagsRequest + * @public + */ +export interface CreateTagsRequest { + /** + * Placeholder documentation for __string + * @public + */ + ResourceArn: string | undefined; + + /** + * Placeholder documentation for Tags + * @public + */ + Tags?: Record; +} + +/** + * Placeholder documentation for DeleteChannelRequest + * @public + */ +export interface DeleteChannelRequest { + /** + * Unique ID of the channel. + * @public + */ + ChannelId: string | undefined; +} + /** * Placeholder documentation for DeleteChannelResponse * @public @@ -862,6 +1115,12 @@ export interface DescribeInputResponse { * @public */ Type?: InputType; + + /** + * The settings associated with an SRT input. + * @public + */ + SrtSettings?: SrtSettings; } /** @@ -4564,6 +4823,12 @@ export interface UpdateInputRequest { * @public */ Sources?: InputSourceRequest[]; + + /** + * The settings associated with an SRT input. + * @public + */ + SrtSettings?: SrtSettingsRequest; } /** diff --git a/clients/client-medialive/src/protocols/Aws_restJson1.ts b/clients/client-medialive/src/protocols/Aws_restJson1.ts index 7cc5bd82a36b..a3d2736db385 100644 --- a/clients/client-medialive/src/protocols/Aws_restJson1.ts +++ b/clients/client-medialive/src/protocols/Aws_restJson1.ts @@ -269,11 +269,8 @@ import { AacSettings, Ac3Settings, AncillarySourceSettings, - ArchiveCdnSettings, ArchiveContainerSettings, - ArchiveGroupSettings, ArchiveOutputSettings, - ArchiveS3Settings, AribDestinationSettings, AribSourceSettings, AudioChannelMapping, @@ -399,6 +396,9 @@ import { Scte27DestinationSettings, Scte27SourceSettings, SmpteTtDestinationSettings, + SrtCallerDecryption, + SrtCallerSource, + SrtSettings, StandardHlsSettings, TeletextDestinationSettings, TeletextSourceSettings, @@ -417,6 +417,9 @@ import { } from "../models/models_0"; import { AccountConfiguration, + ArchiveCdnSettings, + ArchiveGroupSettings, + ArchiveS3Settings, AvailBlanking, AvailConfiguration, AvailSettings, @@ -472,8 +475,6 @@ import { KeyProviderSettings, MaintenanceCreateSettings, MediaPackageGroupSettings, - MediaResource, - MonitorDeployment, MotionGraphicsActivateScheduleActionSettings, MotionGraphicsConfiguration, MotionGraphicsDeactivateScheduleActionSettings, @@ -519,6 +520,9 @@ import { Scte35TimeSignalApos, Scte35TimeSignalScheduleActionSettings, SignalMapSummary, + SrtCallerDecryptionRequest, + SrtCallerSourceRequest, + SrtSettingsRequest, StartTimecode, StaticImageActivateScheduleActionSettings, StaticImageDeactivateScheduleActionSettings, @@ -526,7 +530,6 @@ import { StaticImageOutputDeactivateScheduleActionSettings, StaticKeySettings, StopTimecode, - SuccessfulMonitorDeployment, TemporalFilterSettings, Thumbnail, ThumbnailConfiguration, @@ -546,6 +549,9 @@ import { InputDeviceConfigurableSettings, InputDeviceMediaConnectConfigurableSettings, MaintenanceUpdateSettings, + MediaResource, + MonitorDeployment, + SuccessfulMonitorDeployment, } from "../models/models_2"; /** @@ -864,6 +870,7 @@ export const se_CreateInputCommand = async ( requestId: [true, (_) => _ ?? generateIdempotencyToken(), `RequestId`], roleArn: [, , `RoleArn`], sources: [, (_) => se___listOfInputSourceRequest(_, context), `Sources`], + srtSettings: [, (_) => se_SrtSettingsRequest(_, context), `SrtSettings`], tags: [, (_) => _json(_), `Tags`], type: [, , `Type`], vpc: [, (_) => se_InputVpcRequest(_, context), `Vpc`], @@ -2331,6 +2338,7 @@ export const se_UpdateInputCommand = async ( name: [, , `Name`], roleArn: [, , `RoleArn`], sources: [, (_) => se___listOfInputSourceRequest(_, context), `Sources`], + srtSettings: [, (_) => se_SrtSettingsRequest(_, context), `SrtSettings`], }) ); b.m("PUT").h(headers).b(body); @@ -3276,6 +3284,7 @@ export const de_DescribeInputCommand = async ( RoleArn: [, __expectString, `roleArn`], SecurityGroups: [, _json, `securityGroups`], Sources: [, (_) => de___listOfInputSource(_, context), `sources`], + SrtSettings: [, (_) => de_SrtSettings(_, context), `srtSettings`], State: [, __expectString, `state`], Tags: [, _json, `tags`], Type: [, __expectString, `type`], @@ -5328,6 +5337,17 @@ const se___listOfScte35Descriptor = (input: Scte35Descriptor[], context: __Serde }); }; +/** + * serializeAws_restJson1__listOfSrtCallerSourceRequest + */ +const se___listOfSrtCallerSourceRequest = (input: SrtCallerSourceRequest[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_SrtCallerSourceRequest(entry, context); + }); +}; + /** * serializeAws_restJson1__listOfVideoDescription */ @@ -7582,6 +7602,38 @@ const se_Scte35TimeSignalScheduleActionSettings = ( // se_SmpteTtDestinationSettings omitted. +/** + * serializeAws_restJson1SrtCallerDecryptionRequest + */ +const se_SrtCallerDecryptionRequest = (input: SrtCallerDecryptionRequest, context: __SerdeContext): any => { + return take(input, { + algorithm: [, , `Algorithm`], + passphraseSecretArn: [, , `PassphraseSecretArn`], + }); +}; + +/** + * serializeAws_restJson1SrtCallerSourceRequest + */ +const se_SrtCallerSourceRequest = (input: SrtCallerSourceRequest, context: __SerdeContext): any => { + return take(input, { + decryption: [, (_) => se_SrtCallerDecryptionRequest(_, context), `Decryption`], + minimumLatency: [, , `MinimumLatency`], + srtListenerAddress: [, , `SrtListenerAddress`], + srtListenerPort: [, , `SrtListenerPort`], + streamId: [, , `StreamId`], + }); +}; + +/** + * serializeAws_restJson1SrtSettingsRequest + */ +const se_SrtSettingsRequest = (input: SrtSettingsRequest, context: __SerdeContext): any => { + return take(input, { + srtCallerSources: [, (_) => se___listOfSrtCallerSourceRequest(_, context), `SrtCallerSources`], + }); +}; + /** * serializeAws_restJson1StandardHlsSettings */ @@ -8495,6 +8547,18 @@ const de___listOfSignalMapSummary = (output: any, context: __SerdeContext): Sign return retVal; }; +/** + * deserializeAws_restJson1__listOfSrtCallerSource + */ +const de___listOfSrtCallerSource = (output: any, context: __SerdeContext): SrtCallerSource[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_SrtCallerSource(entry, context); + }); + return retVal; +}; + /** * deserializeAws_restJson1__listOfThumbnail */ @@ -9942,6 +10006,7 @@ const de_Input = (output: any, context: __SerdeContext): Input => { RoleArn: [, __expectString, `roleArn`], SecurityGroups: [, _json, `securityGroups`], Sources: [, (_: any) => de___listOfInputSource(_, context), `sources`], + SrtSettings: [, (_: any) => de_SrtSettings(_, context), `srtSettings`], State: [, __expectString, `state`], Tags: [, _json, `tags`], Type: [, __expectString, `type`], @@ -11330,6 +11395,38 @@ const de_SignalMapSummary = (output: any, context: __SerdeContext): SignalMapSum // de_SmpteTtDestinationSettings omitted. +/** + * deserializeAws_restJson1SrtCallerDecryption + */ +const de_SrtCallerDecryption = (output: any, context: __SerdeContext): SrtCallerDecryption => { + return take(output, { + Algorithm: [, __expectString, `algorithm`], + PassphraseSecretArn: [, __expectString, `passphraseSecretArn`], + }) as any; +}; + +/** + * deserializeAws_restJson1SrtCallerSource + */ +const de_SrtCallerSource = (output: any, context: __SerdeContext): SrtCallerSource => { + return take(output, { + Decryption: [, (_: any) => de_SrtCallerDecryption(_, context), `decryption`], + MinimumLatency: [, __expectInt32, `minimumLatency`], + SrtListenerAddress: [, __expectString, `srtListenerAddress`], + SrtListenerPort: [, __expectString, `srtListenerPort`], + StreamId: [, __expectString, `streamId`], + }) as any; +}; + +/** + * deserializeAws_restJson1SrtSettings + */ +const de_SrtSettings = (output: any, context: __SerdeContext): SrtSettings => { + return take(output, { + SrtCallerSources: [, (_: any) => de___listOfSrtCallerSource(_, context), `srtCallerSources`], + }) as any; +}; + /** * deserializeAws_restJson1StandardHlsSettings */ diff --git a/codegen/sdk-codegen/aws-models/medialive.json b/codegen/sdk-codegen/aws-models/medialive.json index 41995ca69d8c..c1b873e0c573 100644 --- a/codegen/sdk-codegen/aws-models/medialive.json +++ b/codegen/sdk-codegen/aws-models/medialive.json @@ -654,6 +654,32 @@ "smithy.api#documentation": "Afd Signaling" } }, + "com.amazonaws.medialive#Algorithm": { + "type": "enum", + "members": { + "AES128": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES128" + } + }, + "AES192": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES192" + } + }, + "AES256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES256" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for Algorithm" + } + }, "com.amazonaws.medialive#AncillarySourceSettings": { "type": "structure", "members": { @@ -4969,6 +4995,13 @@ "traits": { "smithy.api#jsonName": "vpc" } + }, + "SrtSettings": { + "target": "com.amazonaws.medialive#SrtSettingsRequest", + "traits": { + "smithy.api#documentation": "The settings associated with an SRT input.", + "smithy.api#jsonName": "srtSettings" + } } }, "traits": { @@ -7907,6 +7940,13 @@ "traits": { "smithy.api#jsonName": "type" } + }, + "SrtSettings": { + "target": "com.amazonaws.medialive#SrtSettings", + "traits": { + "smithy.api#documentation": "The settings associated with an SRT input.", + "smithy.api#jsonName": "srtSettings" + } } }, "traits": { @@ -9720,7 +9760,7 @@ "Bitrate": { "target": "com.amazonaws.medialive#__double", "traits": { - "smithy.api#documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.\n// * @affectsRightSizing true", + "smithy.api#documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.", "smithy.api#jsonName": "bitrate" } }, @@ -13030,7 +13070,7 @@ "FilterSettings": { "target": "com.amazonaws.medialive#H264FilterSettings", "traits": { - "smithy.api#documentation": "Optional filters that you can apply to an encode.", + "smithy.api#documentation": "Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We\nrecommend that you try both filters and observe the results to decide which one to use.\n\nThe Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual\nfiltering and motion compensated temporal filtering (MCTF). It operates independently of the compression level.\n\nThe Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current\ncompression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower.", "smithy.api#jsonName": "filterSettings" } }, @@ -13851,7 +13891,7 @@ "FilterSettings": { "target": "com.amazonaws.medialive#H265FilterSettings", "traits": { - "smithy.api#documentation": "Optional filters that you can apply to an encode.", + "smithy.api#documentation": "Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We\nrecommend that you try both filters and observe the results to decide which one to use.\n\nThe Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual\nfiltering and motion compensated temporal filtering (MCTF). It operates independently of the compression level.\n\nThe Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current\ncompression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower.", "smithy.api#jsonName": "filterSettings" } }, @@ -15587,6 +15627,13 @@ "traits": { "smithy.api#jsonName": "type" } + }, + "SrtSettings": { + "target": "com.amazonaws.medialive#SrtSettings", + "traits": { + "smithy.api#documentation": "The settings associated with an SRT input.", + "smithy.api#jsonName": "srtSettings" + } } }, "traits": { @@ -17464,6 +17511,12 @@ "traits": { "smithy.api#enumValue": "TS_FILE" } + }, + "SRT_CALLER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SRT_CALLER" + } } }, "traits": { @@ -20553,6 +20606,7 @@ "name": "medialive" }, "aws.protocols#restJson1": {}, + "smithy.api#auth": ["aws.auth#sigv4"], "smithy.api#documentation": "API for AWS Elemental MediaLive", "smithy.api#title": "AWS Elemental MediaLive", "smithy.rules#endpointRuleSet": { @@ -26180,6 +26234,162 @@ "smithy.api#documentation": "Smpte Tt Destination Settings" } }, + "com.amazonaws.medialive#SrtCallerDecryption": { + "type": "structure", + "members": { + "Algorithm": { + "target": "com.amazonaws.medialive#Algorithm", + "traits": { + "smithy.api#documentation": "The algorithm used to encrypt content.", + "smithy.api#jsonName": "algorithm" + } + }, + "PassphraseSecretArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. The secret holds the passphrase that MediaLive uses to decrypt the source content.", + "smithy.api#jsonName": "passphraseSecretArn" + } + } + }, + "traits": { + "smithy.api#documentation": "The decryption settings for the SRT caller source. Present only if the source has decryption enabled." + } + }, + "com.amazonaws.medialive#SrtCallerDecryptionRequest": { + "type": "structure", + "members": { + "Algorithm": { + "target": "com.amazonaws.medialive#Algorithm", + "traits": { + "smithy.api#documentation": "The algorithm used to encrypt content.", + "smithy.api#jsonName": "algorithm" + } + }, + "PassphraseSecretArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. This secret holds the passphrase that MediaLive will use to decrypt the source content.", + "smithy.api#jsonName": "passphraseSecretArn" + } + } + }, + "traits": { + "smithy.api#documentation": "Complete these parameters only if the content is encrypted." + } + }, + "com.amazonaws.medialive#SrtCallerSource": { + "type": "structure", + "members": { + "Decryption": { + "target": "com.amazonaws.medialive#SrtCallerDecryption", + "traits": { + "smithy.api#jsonName": "decryption" + } + }, + "MinimumLatency": { + "target": "com.amazonaws.medialive#__integer", + "traits": { + "smithy.api#documentation": "The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT.", + "smithy.api#jsonName": "minimumLatency" + } + }, + "SrtListenerAddress": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The IP address at the upstream system (the listener) that MediaLive (the caller) connects to.", + "smithy.api#jsonName": "srtListenerAddress" + } + }, + "SrtListenerPort": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The port at the upstream system (the listener) that MediaLive (the caller) connects to.", + "smithy.api#jsonName": "srtListenerPort" + } + }, + "StreamId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The stream ID, if the upstream system uses this identifier.", + "smithy.api#jsonName": "streamId" + } + } + }, + "traits": { + "smithy.api#documentation": "The configuration for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender." + } + }, + "com.amazonaws.medialive#SrtCallerSourceRequest": { + "type": "structure", + "members": { + "Decryption": { + "target": "com.amazonaws.medialive#SrtCallerDecryptionRequest", + "traits": { + "smithy.api#jsonName": "decryption" + } + }, + "MinimumLatency": { + "target": "com.amazonaws.medialive#__integer", + "traits": { + "smithy.api#documentation": "The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. Obtain this value from the operator at the upstream system.", + "smithy.api#jsonName": "minimumLatency" + } + }, + "SrtListenerAddress": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to.", + "smithy.api#jsonName": "srtListenerAddress" + } + }, + "SrtListenerPort": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The port at the upstream system (the listener) that MediaLive (the caller) will connect to.", + "smithy.api#jsonName": "srtListenerPort" + } + }, + "StreamId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "This value is required if the upstream system uses this identifier because without it, the SRT handshake between MediaLive (the caller) and the upstream system (the listener) might fail.", + "smithy.api#jsonName": "streamId" + } + } + }, + "traits": { + "smithy.api#documentation": "Configures the connection for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always the caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender." + } + }, + "com.amazonaws.medialive#SrtSettings": { + "type": "structure", + "members": { + "SrtCallerSources": { + "target": "com.amazonaws.medialive#__listOfSrtCallerSource", + "traits": { + "smithy.api#jsonName": "srtCallerSources" + } + } + }, + "traits": { + "smithy.api#documentation": "The configured sources for this SRT input." + } + }, + "com.amazonaws.medialive#SrtSettingsRequest": { + "type": "structure", + "members": { + "SrtCallerSources": { + "target": "com.amazonaws.medialive#__listOfSrtCallerSourceRequest", + "traits": { + "smithy.api#jsonName": "srtCallerSources" + } + } + }, + "traits": { + "smithy.api#documentation": "Configures the sources for this SRT input. For a single-pipeline input, include one srtCallerSource in the array. For a standard-pipeline input, include two srtCallerSource." + } + }, "com.amazonaws.medialive#StandardHlsSettings": { "type": "structure", "members": { @@ -30027,6 +30237,13 @@ "smithy.api#documentation": "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.", "smithy.api#jsonName": "sources" } + }, + "SrtSettings": { + "target": "com.amazonaws.medialive#SrtSettingsRequest", + "traits": { + "smithy.api#documentation": "The settings associated with an SRT input.", + "smithy.api#jsonName": "srtSettings" + } } }, "traits": { @@ -32033,6 +32250,24 @@ "smithy.api#documentation": "Placeholder documentation for __listOfSignalMapSummary" } }, + "com.amazonaws.medialive#__listOfSrtCallerSource": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#SrtCallerSource" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfSrtCallerSource" + } + }, + "com.amazonaws.medialive#__listOfSrtCallerSourceRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#SrtCallerSourceRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfSrtCallerSourceRequest" + } + }, "com.amazonaws.medialive#__listOfThumbnail": { "type": "list", "member": {