diff --git a/clients/client-medialive/README.md b/clients/client-medialive/README.md index f135c34b164d..34ed10b2191c 100644 --- a/clients/client-medialive/README.md +++ b/clients/client-medialive/README.md @@ -266,6 +266,14 @@ CreateChannel [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/CreateChannelCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateChannelCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateChannelCommandOutput/) + +
+ +CreateChannelPlacementGroup + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/CreateChannelPlacementGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateChannelPlacementGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateChannelPlacementGroupCommandOutput/) +
@@ -282,6 +290,14 @@ CreateCloudWatchAlarmTemplateGroup [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/CreateCloudWatchAlarmTemplateGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateCloudWatchAlarmTemplateGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateCloudWatchAlarmTemplateGroupCommandOutput/) +
+
+ +CreateCluster + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/CreateClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateClusterCommandOutput/) +
@@ -330,6 +346,30 @@ CreateMultiplexProgram [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/CreateMultiplexProgramCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateMultiplexProgramCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateMultiplexProgramCommandOutput/) +
+
+ +CreateNetwork + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/CreateNetworkCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateNetworkCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateNetworkCommandOutput/) + +
+
+ +CreateNode + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/CreateNodeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateNodeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateNodeCommandOutput/) + +
+
+ +CreateNodeRegistrationScript + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/CreateNodeRegistrationScriptCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateNodeRegistrationScriptCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/CreateNodeRegistrationScriptCommandOutput/) +
@@ -362,6 +402,14 @@ DeleteChannel [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DeleteChannelCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteChannelCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteChannelCommandOutput/) +
+
+ +DeleteChannelPlacementGroup + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DeleteChannelPlacementGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteChannelPlacementGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteChannelPlacementGroupCommandOutput/) +
@@ -378,6 +426,14 @@ DeleteCloudWatchAlarmTemplateGroup [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DeleteCloudWatchAlarmTemplateGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteCloudWatchAlarmTemplateGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteCloudWatchAlarmTemplateGroupCommandOutput/) +
+
+ +DeleteCluster + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DeleteClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteClusterCommandOutput/) +
@@ -426,6 +482,22 @@ DeleteMultiplexProgram [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DeleteMultiplexProgramCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteMultiplexProgramCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteMultiplexProgramCommandOutput/) +
+
+ +DeleteNetwork + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DeleteNetworkCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteNetworkCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteNetworkCommandOutput/) + +
+
+ +DeleteNode + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DeleteNodeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteNodeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DeleteNodeCommandOutput/) +
@@ -474,6 +546,22 @@ DescribeChannel [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DescribeChannelCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeChannelCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeChannelCommandOutput/) +
+
+ +DescribeChannelPlacementGroup + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DescribeChannelPlacementGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeChannelPlacementGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeChannelPlacementGroupCommandOutput/) + +
+
+ +DescribeCluster + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DescribeClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeClusterCommandOutput/) +
@@ -522,6 +610,22 @@ DescribeMultiplexProgram [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DescribeMultiplexProgramCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeMultiplexProgramCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeMultiplexProgramCommandOutput/) +
+
+ +DescribeNetwork + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DescribeNetworkCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeNetworkCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeNetworkCommandOutput/) + +
+
+ +DescribeNode + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/DescribeNodeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeNodeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/DescribeNodeCommandOutput/) +
@@ -594,6 +698,14 @@ GetSignalMap [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/GetSignalMapCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/GetSignalMapCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/GetSignalMapCommandOutput/) +
+
+ +ListChannelPlacementGroups + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/ListChannelPlacementGroupsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListChannelPlacementGroupsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListChannelPlacementGroupsCommandOutput/) +
@@ -618,6 +730,14 @@ ListCloudWatchAlarmTemplates [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/ListCloudWatchAlarmTemplatesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListCloudWatchAlarmTemplatesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListCloudWatchAlarmTemplatesCommandOutput/) +
+
+ +ListClusters + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/ListClustersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListClustersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListClustersCommandOutput/) +
@@ -682,6 +802,22 @@ ListMultiplexPrograms [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/ListMultiplexProgramsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListMultiplexProgramsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListMultiplexProgramsCommandOutput/) +
+
+ +ListNetworks + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/ListNetworksCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListNetworksCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListNetworksCommandOutput/) + +
+
+ +ListNodes + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/ListNodesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListNodesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/ListNodesCommandOutput/) +
@@ -858,6 +994,14 @@ UpdateChannelClass [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/UpdateChannelClassCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateChannelClassCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateChannelClassCommandOutput/) +
+
+ +UpdateChannelPlacementGroup + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/UpdateChannelPlacementGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateChannelPlacementGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateChannelPlacementGroupCommandOutput/) +
@@ -874,6 +1018,14 @@ UpdateCloudWatchAlarmTemplateGroup [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/UpdateCloudWatchAlarmTemplateGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateCloudWatchAlarmTemplateGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateCloudWatchAlarmTemplateGroupCommandOutput/) +
+
+ +UpdateCluster + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/UpdateClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateClusterCommandOutput/) +
@@ -930,6 +1082,30 @@ UpdateMultiplexProgram [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/UpdateMultiplexProgramCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateMultiplexProgramCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateMultiplexProgramCommandOutput/) +
+
+ +UpdateNetwork + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/UpdateNetworkCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateNetworkCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateNetworkCommandOutput/) + +
+
+ +UpdateNode + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/UpdateNodeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateNodeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateNodeCommandOutput/) + +
+
+ +UpdateNodeState + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medialive/command/UpdateNodeStateCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateNodeStateCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-medialive/Interface/UpdateNodeStateCommandOutput/) +
diff --git a/clients/client-medialive/src/MediaLive.ts b/clients/client-medialive/src/MediaLive.ts index 10a4f1a56a92..2459f8e9af5b 100644 --- a/clients/client-medialive/src/MediaLive.ts +++ b/clients/client-medialive/src/MediaLive.ts @@ -26,6 +26,11 @@ import { CreateChannelCommandInput, CreateChannelCommandOutput, } from "./commands/CreateChannelCommand"; +import { + CreateChannelPlacementGroupCommand, + CreateChannelPlacementGroupCommandInput, + CreateChannelPlacementGroupCommandOutput, +} from "./commands/CreateChannelPlacementGroupCommand"; import { CreateCloudWatchAlarmTemplateCommand, CreateCloudWatchAlarmTemplateCommandInput, @@ -36,6 +41,11 @@ import { CreateCloudWatchAlarmTemplateGroupCommandInput, CreateCloudWatchAlarmTemplateGroupCommandOutput, } from "./commands/CreateCloudWatchAlarmTemplateGroupCommand"; +import { + CreateClusterCommand, + CreateClusterCommandInput, + CreateClusterCommandOutput, +} from "./commands/CreateClusterCommand"; import { CreateEventBridgeRuleTemplateCommand, CreateEventBridgeRuleTemplateCommandInput, @@ -62,6 +72,17 @@ import { CreateMultiplexProgramCommandInput, CreateMultiplexProgramCommandOutput, } from "./commands/CreateMultiplexProgramCommand"; +import { + CreateNetworkCommand, + CreateNetworkCommandInput, + CreateNetworkCommandOutput, +} from "./commands/CreateNetworkCommand"; +import { CreateNodeCommand, CreateNodeCommandInput, CreateNodeCommandOutput } from "./commands/CreateNodeCommand"; +import { + CreateNodeRegistrationScriptCommand, + CreateNodeRegistrationScriptCommandInput, + CreateNodeRegistrationScriptCommandOutput, +} from "./commands/CreateNodeRegistrationScriptCommand"; import { CreatePartnerInputCommand, CreatePartnerInputCommandInput, @@ -78,6 +99,11 @@ import { DeleteChannelCommandInput, DeleteChannelCommandOutput, } from "./commands/DeleteChannelCommand"; +import { + DeleteChannelPlacementGroupCommand, + DeleteChannelPlacementGroupCommandInput, + DeleteChannelPlacementGroupCommandOutput, +} from "./commands/DeleteChannelPlacementGroupCommand"; import { DeleteCloudWatchAlarmTemplateCommand, DeleteCloudWatchAlarmTemplateCommandInput, @@ -88,6 +114,11 @@ import { DeleteCloudWatchAlarmTemplateGroupCommandInput, DeleteCloudWatchAlarmTemplateGroupCommandOutput, } from "./commands/DeleteCloudWatchAlarmTemplateGroupCommand"; +import { + DeleteClusterCommand, + DeleteClusterCommandInput, + DeleteClusterCommandOutput, +} from "./commands/DeleteClusterCommand"; import { DeleteEventBridgeRuleTemplateCommand, DeleteEventBridgeRuleTemplateCommandInput, @@ -114,6 +145,12 @@ import { DeleteMultiplexProgramCommandInput, DeleteMultiplexProgramCommandOutput, } from "./commands/DeleteMultiplexProgramCommand"; +import { + DeleteNetworkCommand, + DeleteNetworkCommandInput, + DeleteNetworkCommandOutput, +} from "./commands/DeleteNetworkCommand"; +import { DeleteNodeCommand, DeleteNodeCommandInput, DeleteNodeCommandOutput } from "./commands/DeleteNodeCommand"; import { DeleteReservationCommand, DeleteReservationCommandInput, @@ -140,6 +177,16 @@ import { DescribeChannelCommandInput, DescribeChannelCommandOutput, } from "./commands/DescribeChannelCommand"; +import { + DescribeChannelPlacementGroupCommand, + DescribeChannelPlacementGroupCommandInput, + DescribeChannelPlacementGroupCommandOutput, +} from "./commands/DescribeChannelPlacementGroupCommand"; +import { + DescribeClusterCommand, + DescribeClusterCommandInput, + DescribeClusterCommandOutput, +} from "./commands/DescribeClusterCommand"; import { DescribeInputCommand, DescribeInputCommandInput, @@ -170,6 +217,16 @@ import { DescribeMultiplexProgramCommandInput, DescribeMultiplexProgramCommandOutput, } from "./commands/DescribeMultiplexProgramCommand"; +import { + DescribeNetworkCommand, + DescribeNetworkCommandInput, + DescribeNetworkCommandOutput, +} from "./commands/DescribeNetworkCommand"; +import { + DescribeNodeCommand, + DescribeNodeCommandInput, + DescribeNodeCommandOutput, +} from "./commands/DescribeNodeCommand"; import { DescribeOfferingCommand, DescribeOfferingCommandInput, @@ -215,6 +272,11 @@ import { GetSignalMapCommandInput, GetSignalMapCommandOutput, } from "./commands/GetSignalMapCommand"; +import { + ListChannelPlacementGroupsCommand, + ListChannelPlacementGroupsCommandInput, + ListChannelPlacementGroupsCommandOutput, +} from "./commands/ListChannelPlacementGroupsCommand"; import { ListChannelsCommand, ListChannelsCommandInput, @@ -230,6 +292,11 @@ import { ListCloudWatchAlarmTemplatesCommandInput, ListCloudWatchAlarmTemplatesCommandOutput, } from "./commands/ListCloudWatchAlarmTemplatesCommand"; +import { + ListClustersCommand, + ListClustersCommandInput, + ListClustersCommandOutput, +} from "./commands/ListClustersCommand"; import { ListEventBridgeRuleTemplateGroupsCommand, ListEventBridgeRuleTemplateGroupsCommandInput, @@ -266,6 +333,12 @@ import { ListMultiplexProgramsCommandInput, ListMultiplexProgramsCommandOutput, } from "./commands/ListMultiplexProgramsCommand"; +import { + ListNetworksCommand, + ListNetworksCommandInput, + ListNetworksCommandOutput, +} from "./commands/ListNetworksCommand"; +import { ListNodesCommand, ListNodesCommandInput, ListNodesCommandOutput } from "./commands/ListNodesCommand"; import { ListOfferingsCommand, ListOfferingsCommandInput, @@ -372,6 +445,11 @@ import { UpdateChannelCommandInput, UpdateChannelCommandOutput, } from "./commands/UpdateChannelCommand"; +import { + UpdateChannelPlacementGroupCommand, + UpdateChannelPlacementGroupCommandInput, + UpdateChannelPlacementGroupCommandOutput, +} from "./commands/UpdateChannelPlacementGroupCommand"; import { UpdateCloudWatchAlarmTemplateCommand, UpdateCloudWatchAlarmTemplateCommandInput, @@ -382,6 +460,11 @@ import { UpdateCloudWatchAlarmTemplateGroupCommandInput, UpdateCloudWatchAlarmTemplateGroupCommandOutput, } from "./commands/UpdateCloudWatchAlarmTemplateGroupCommand"; +import { + UpdateClusterCommand, + UpdateClusterCommandInput, + UpdateClusterCommandOutput, +} from "./commands/UpdateClusterCommand"; import { UpdateEventBridgeRuleTemplateCommand, UpdateEventBridgeRuleTemplateCommandInput, @@ -413,6 +496,17 @@ import { UpdateMultiplexProgramCommandInput, UpdateMultiplexProgramCommandOutput, } from "./commands/UpdateMultiplexProgramCommand"; +import { + UpdateNetworkCommand, + UpdateNetworkCommandInput, + UpdateNetworkCommandOutput, +} from "./commands/UpdateNetworkCommand"; +import { UpdateNodeCommand, UpdateNodeCommandInput, UpdateNodeCommandOutput } from "./commands/UpdateNodeCommand"; +import { + UpdateNodeStateCommand, + UpdateNodeStateCommandInput, + UpdateNodeStateCommandOutput, +} from "./commands/UpdateNodeStateCommand"; import { UpdateReservationCommand, UpdateReservationCommandInput, @@ -429,38 +523,51 @@ const commands = { CancelInputDeviceTransferCommand, ClaimDeviceCommand, CreateChannelCommand, + CreateChannelPlacementGroupCommand, CreateCloudWatchAlarmTemplateCommand, CreateCloudWatchAlarmTemplateGroupCommand, + CreateClusterCommand, CreateEventBridgeRuleTemplateCommand, CreateEventBridgeRuleTemplateGroupCommand, CreateInputCommand, CreateInputSecurityGroupCommand, CreateMultiplexCommand, CreateMultiplexProgramCommand, + CreateNetworkCommand, + CreateNodeCommand, + CreateNodeRegistrationScriptCommand, CreatePartnerInputCommand, CreateSignalMapCommand, CreateTagsCommand, DeleteChannelCommand, + DeleteChannelPlacementGroupCommand, DeleteCloudWatchAlarmTemplateCommand, DeleteCloudWatchAlarmTemplateGroupCommand, + DeleteClusterCommand, DeleteEventBridgeRuleTemplateCommand, DeleteEventBridgeRuleTemplateGroupCommand, DeleteInputCommand, DeleteInputSecurityGroupCommand, DeleteMultiplexCommand, DeleteMultiplexProgramCommand, + DeleteNetworkCommand, + DeleteNodeCommand, DeleteReservationCommand, DeleteScheduleCommand, DeleteSignalMapCommand, DeleteTagsCommand, DescribeAccountConfigurationCommand, DescribeChannelCommand, + DescribeChannelPlacementGroupCommand, + DescribeClusterCommand, DescribeInputCommand, DescribeInputDeviceCommand, DescribeInputDeviceThumbnailCommand, DescribeInputSecurityGroupCommand, DescribeMultiplexCommand, DescribeMultiplexProgramCommand, + DescribeNetworkCommand, + DescribeNodeCommand, DescribeOfferingCommand, DescribeReservationCommand, DescribeScheduleCommand, @@ -470,9 +577,11 @@ const commands = { GetEventBridgeRuleTemplateCommand, GetEventBridgeRuleTemplateGroupCommand, GetSignalMapCommand, + ListChannelPlacementGroupsCommand, ListChannelsCommand, ListCloudWatchAlarmTemplateGroupsCommand, ListCloudWatchAlarmTemplatesCommand, + ListClustersCommand, ListEventBridgeRuleTemplateGroupsCommand, ListEventBridgeRuleTemplatesCommand, ListInputDevicesCommand, @@ -481,6 +590,8 @@ const commands = { ListInputSecurityGroupsCommand, ListMultiplexesCommand, ListMultiplexProgramsCommand, + ListNetworksCommand, + ListNodesCommand, ListOfferingsCommand, ListReservationsCommand, ListSignalMapsCommand, @@ -503,8 +614,10 @@ const commands = { UpdateAccountConfigurationCommand, UpdateChannelCommand, UpdateChannelClassCommand, + UpdateChannelPlacementGroupCommand, UpdateCloudWatchAlarmTemplateCommand, UpdateCloudWatchAlarmTemplateGroupCommand, + UpdateClusterCommand, UpdateEventBridgeRuleTemplateCommand, UpdateEventBridgeRuleTemplateGroupCommand, UpdateInputCommand, @@ -512,6 +625,9 @@ const commands = { UpdateInputSecurityGroupCommand, UpdateMultiplexCommand, UpdateMultiplexProgramCommand, + UpdateNetworkCommand, + UpdateNodeCommand, + UpdateNodeStateCommand, UpdateReservationCommand, }; @@ -627,6 +743,23 @@ export interface MediaLive { cb: (err: any, data?: CreateChannelCommandOutput) => void ): void; + /** + * @see {@link CreateChannelPlacementGroupCommand} + */ + createChannelPlacementGroup( + args: CreateChannelPlacementGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createChannelPlacementGroup( + args: CreateChannelPlacementGroupCommandInput, + cb: (err: any, data?: CreateChannelPlacementGroupCommandOutput) => void + ): void; + createChannelPlacementGroup( + args: CreateChannelPlacementGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateChannelPlacementGroupCommandOutput) => void + ): void; + /** * @see {@link CreateCloudWatchAlarmTemplateCommand} */ @@ -661,6 +794,18 @@ export interface MediaLive { cb: (err: any, data?: CreateCloudWatchAlarmTemplateGroupCommandOutput) => void ): void; + /** + * @see {@link CreateClusterCommand} + */ + createCluster(): Promise; + createCluster(args: CreateClusterCommandInput, options?: __HttpHandlerOptions): Promise; + createCluster(args: CreateClusterCommandInput, cb: (err: any, data?: CreateClusterCommandOutput) => void): void; + createCluster( + args: CreateClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateClusterCommandOutput) => void + ): void; + /** * @see {@link CreateEventBridgeRuleTemplateCommand} */ @@ -756,6 +901,46 @@ export interface MediaLive { cb: (err: any, data?: CreateMultiplexProgramCommandOutput) => void ): void; + /** + * @see {@link CreateNetworkCommand} + */ + createNetwork(): Promise; + createNetwork(args: CreateNetworkCommandInput, options?: __HttpHandlerOptions): Promise; + createNetwork(args: CreateNetworkCommandInput, cb: (err: any, data?: CreateNetworkCommandOutput) => void): void; + createNetwork( + args: CreateNetworkCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateNetworkCommandOutput) => void + ): void; + + /** + * @see {@link CreateNodeCommand} + */ + createNode(args: CreateNodeCommandInput, options?: __HttpHandlerOptions): Promise; + createNode(args: CreateNodeCommandInput, cb: (err: any, data?: CreateNodeCommandOutput) => void): void; + createNode( + args: CreateNodeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateNodeCommandOutput) => void + ): void; + + /** + * @see {@link CreateNodeRegistrationScriptCommand} + */ + createNodeRegistrationScript( + args: CreateNodeRegistrationScriptCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createNodeRegistrationScript( + args: CreateNodeRegistrationScriptCommandInput, + cb: (err: any, data?: CreateNodeRegistrationScriptCommandOutput) => void + ): void; + createNodeRegistrationScript( + args: CreateNodeRegistrationScriptCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateNodeRegistrationScriptCommandOutput) => void + ): void; + /** * @see {@link CreatePartnerInputCommand} */ @@ -809,6 +994,23 @@ export interface MediaLive { cb: (err: any, data?: DeleteChannelCommandOutput) => void ): void; + /** + * @see {@link DeleteChannelPlacementGroupCommand} + */ + deleteChannelPlacementGroup( + args: DeleteChannelPlacementGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteChannelPlacementGroup( + args: DeleteChannelPlacementGroupCommandInput, + cb: (err: any, data?: DeleteChannelPlacementGroupCommandOutput) => void + ): void; + deleteChannelPlacementGroup( + args: DeleteChannelPlacementGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteChannelPlacementGroupCommandOutput) => void + ): void; + /** * @see {@link DeleteCloudWatchAlarmTemplateCommand} */ @@ -843,6 +1045,17 @@ export interface MediaLive { cb: (err: any, data?: DeleteCloudWatchAlarmTemplateGroupCommandOutput) => void ): void; + /** + * @see {@link DeleteClusterCommand} + */ + deleteCluster(args: DeleteClusterCommandInput, options?: __HttpHandlerOptions): Promise; + deleteCluster(args: DeleteClusterCommandInput, cb: (err: any, data?: DeleteClusterCommandOutput) => void): void; + deleteCluster( + args: DeleteClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteClusterCommandOutput) => void + ): void; + /** * @see {@link DeleteEventBridgeRuleTemplateCommand} */ @@ -936,6 +1149,28 @@ export interface MediaLive { cb: (err: any, data?: DeleteMultiplexProgramCommandOutput) => void ): void; + /** + * @see {@link DeleteNetworkCommand} + */ + deleteNetwork(args: DeleteNetworkCommandInput, options?: __HttpHandlerOptions): Promise; + deleteNetwork(args: DeleteNetworkCommandInput, cb: (err: any, data?: DeleteNetworkCommandOutput) => void): void; + deleteNetwork( + args: DeleteNetworkCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteNetworkCommandOutput) => void + ): void; + + /** + * @see {@link DeleteNodeCommand} + */ + deleteNode(args: DeleteNodeCommandInput, options?: __HttpHandlerOptions): Promise; + deleteNode(args: DeleteNodeCommandInput, cb: (err: any, data?: DeleteNodeCommandOutput) => void): void; + deleteNode( + args: DeleteNodeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteNodeCommandOutput) => void + ): void; + /** * @see {@link DeleteReservationCommand} */ @@ -1024,6 +1259,37 @@ export interface MediaLive { cb: (err: any, data?: DescribeChannelCommandOutput) => void ): void; + /** + * @see {@link DescribeChannelPlacementGroupCommand} + */ + describeChannelPlacementGroup( + args: DescribeChannelPlacementGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeChannelPlacementGroup( + args: DescribeChannelPlacementGroupCommandInput, + cb: (err: any, data?: DescribeChannelPlacementGroupCommandOutput) => void + ): void; + describeChannelPlacementGroup( + args: DescribeChannelPlacementGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeChannelPlacementGroupCommandOutput) => void + ): void; + + /** + * @see {@link DescribeClusterCommand} + */ + describeCluster( + args: DescribeClusterCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeCluster(args: DescribeClusterCommandInput, cb: (err: any, data?: DescribeClusterCommandOutput) => void): void; + describeCluster( + args: DescribeClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeClusterCommandOutput) => void + ): void; + /** * @see {@link DescribeInputCommand} */ @@ -1120,6 +1386,31 @@ export interface MediaLive { cb: (err: any, data?: DescribeMultiplexProgramCommandOutput) => void ): void; + /** + * @see {@link DescribeNetworkCommand} + */ + describeNetwork( + args: DescribeNetworkCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeNetwork(args: DescribeNetworkCommandInput, cb: (err: any, data?: DescribeNetworkCommandOutput) => void): void; + describeNetwork( + args: DescribeNetworkCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeNetworkCommandOutput) => void + ): void; + + /** + * @see {@link DescribeNodeCommand} + */ + describeNode(args: DescribeNodeCommandInput, options?: __HttpHandlerOptions): Promise; + describeNode(args: DescribeNodeCommandInput, cb: (err: any, data?: DescribeNodeCommandOutput) => void): void; + describeNode( + args: DescribeNodeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeNodeCommandOutput) => void + ): void; + /** * @see {@link DescribeOfferingCommand} */ @@ -1267,6 +1558,23 @@ export interface MediaLive { cb: (err: any, data?: GetSignalMapCommandOutput) => void ): void; + /** + * @see {@link ListChannelPlacementGroupsCommand} + */ + listChannelPlacementGroups( + args: ListChannelPlacementGroupsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listChannelPlacementGroups( + args: ListChannelPlacementGroupsCommandInput, + cb: (err: any, data?: ListChannelPlacementGroupsCommandOutput) => void + ): void; + listChannelPlacementGroups( + args: ListChannelPlacementGroupsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListChannelPlacementGroupsCommandOutput) => void + ): void; + /** * @see {@link ListChannelsCommand} */ @@ -1315,6 +1623,18 @@ export interface MediaLive { cb: (err: any, data?: ListCloudWatchAlarmTemplatesCommandOutput) => void ): void; + /** + * @see {@link ListClustersCommand} + */ + listClusters(): Promise; + listClusters(args: ListClustersCommandInput, options?: __HttpHandlerOptions): Promise; + listClusters(args: ListClustersCommandInput, cb: (err: any, data?: ListClustersCommandOutput) => void): void; + listClusters( + args: ListClustersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListClustersCommandOutput) => void + ): void; + /** * @see {@link ListEventBridgeRuleTemplateGroupsCommand} */ @@ -1448,6 +1768,29 @@ export interface MediaLive { cb: (err: any, data?: ListMultiplexProgramsCommandOutput) => void ): void; + /** + * @see {@link ListNetworksCommand} + */ + listNetworks(): Promise; + listNetworks(args: ListNetworksCommandInput, options?: __HttpHandlerOptions): Promise; + listNetworks(args: ListNetworksCommandInput, cb: (err: any, data?: ListNetworksCommandOutput) => void): void; + listNetworks( + args: ListNetworksCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListNetworksCommandOutput) => void + ): void; + + /** + * @see {@link ListNodesCommand} + */ + listNodes(args: ListNodesCommandInput, options?: __HttpHandlerOptions): Promise; + listNodes(args: ListNodesCommandInput, cb: (err: any, data?: ListNodesCommandOutput) => void): void; + listNodes( + args: ListNodesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListNodesCommandOutput) => void + ): void; + /** * @see {@link ListOfferingsCommand} */ @@ -1787,6 +2130,23 @@ export interface MediaLive { cb: (err: any, data?: UpdateChannelClassCommandOutput) => void ): void; + /** + * @see {@link UpdateChannelPlacementGroupCommand} + */ + updateChannelPlacementGroup( + args: UpdateChannelPlacementGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateChannelPlacementGroup( + args: UpdateChannelPlacementGroupCommandInput, + cb: (err: any, data?: UpdateChannelPlacementGroupCommandOutput) => void + ): void; + updateChannelPlacementGroup( + args: UpdateChannelPlacementGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateChannelPlacementGroupCommandOutput) => void + ): void; + /** * @see {@link UpdateCloudWatchAlarmTemplateCommand} */ @@ -1821,6 +2181,17 @@ export interface MediaLive { cb: (err: any, data?: UpdateCloudWatchAlarmTemplateGroupCommandOutput) => void ): void; + /** + * @see {@link UpdateClusterCommand} + */ + updateCluster(args: UpdateClusterCommandInput, options?: __HttpHandlerOptions): Promise; + updateCluster(args: UpdateClusterCommandInput, cb: (err: any, data?: UpdateClusterCommandOutput) => void): void; + updateCluster( + args: UpdateClusterCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateClusterCommandOutput) => void + ): void; + /** * @see {@link UpdateEventBridgeRuleTemplateCommand} */ @@ -1931,6 +2302,42 @@ export interface MediaLive { cb: (err: any, data?: UpdateMultiplexProgramCommandOutput) => void ): void; + /** + * @see {@link UpdateNetworkCommand} + */ + updateNetwork(args: UpdateNetworkCommandInput, options?: __HttpHandlerOptions): Promise; + updateNetwork(args: UpdateNetworkCommandInput, cb: (err: any, data?: UpdateNetworkCommandOutput) => void): void; + updateNetwork( + args: UpdateNetworkCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateNetworkCommandOutput) => void + ): void; + + /** + * @see {@link UpdateNodeCommand} + */ + updateNode(args: UpdateNodeCommandInput, options?: __HttpHandlerOptions): Promise; + updateNode(args: UpdateNodeCommandInput, cb: (err: any, data?: UpdateNodeCommandOutput) => void): void; + updateNode( + args: UpdateNodeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateNodeCommandOutput) => void + ): void; + + /** + * @see {@link UpdateNodeStateCommand} + */ + updateNodeState( + args: UpdateNodeStateCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateNodeState(args: UpdateNodeStateCommandInput, cb: (err: any, data?: UpdateNodeStateCommandOutput) => void): void; + updateNodeState( + args: UpdateNodeStateCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateNodeStateCommandOutput) => void + ): void; + /** * @see {@link UpdateReservationCommand} */ diff --git a/clients/client-medialive/src/MediaLiveClient.ts b/clients/client-medialive/src/MediaLiveClient.ts index ead146875fc5..4a23b9f41cb9 100644 --- a/clients/client-medialive/src/MediaLiveClient.ts +++ b/clients/client-medialive/src/MediaLiveClient.ts @@ -71,6 +71,10 @@ import { } from "./commands/CancelInputDeviceTransferCommand"; import { ClaimDeviceCommandInput, ClaimDeviceCommandOutput } from "./commands/ClaimDeviceCommand"; import { CreateChannelCommandInput, CreateChannelCommandOutput } from "./commands/CreateChannelCommand"; +import { + CreateChannelPlacementGroupCommandInput, + CreateChannelPlacementGroupCommandOutput, +} from "./commands/CreateChannelPlacementGroupCommand"; import { CreateCloudWatchAlarmTemplateCommandInput, CreateCloudWatchAlarmTemplateCommandOutput, @@ -79,6 +83,7 @@ import { CreateCloudWatchAlarmTemplateGroupCommandInput, CreateCloudWatchAlarmTemplateGroupCommandOutput, } from "./commands/CreateCloudWatchAlarmTemplateGroupCommand"; +import { CreateClusterCommandInput, CreateClusterCommandOutput } from "./commands/CreateClusterCommand"; import { CreateEventBridgeRuleTemplateCommandInput, CreateEventBridgeRuleTemplateCommandOutput, @@ -97,10 +102,20 @@ import { CreateMultiplexProgramCommandInput, CreateMultiplexProgramCommandOutput, } from "./commands/CreateMultiplexProgramCommand"; +import { CreateNetworkCommandInput, CreateNetworkCommandOutput } from "./commands/CreateNetworkCommand"; +import { CreateNodeCommandInput, CreateNodeCommandOutput } from "./commands/CreateNodeCommand"; +import { + CreateNodeRegistrationScriptCommandInput, + CreateNodeRegistrationScriptCommandOutput, +} from "./commands/CreateNodeRegistrationScriptCommand"; import { CreatePartnerInputCommandInput, CreatePartnerInputCommandOutput } from "./commands/CreatePartnerInputCommand"; import { CreateSignalMapCommandInput, CreateSignalMapCommandOutput } from "./commands/CreateSignalMapCommand"; import { CreateTagsCommandInput, CreateTagsCommandOutput } from "./commands/CreateTagsCommand"; import { DeleteChannelCommandInput, DeleteChannelCommandOutput } from "./commands/DeleteChannelCommand"; +import { + DeleteChannelPlacementGroupCommandInput, + DeleteChannelPlacementGroupCommandOutput, +} from "./commands/DeleteChannelPlacementGroupCommand"; import { DeleteCloudWatchAlarmTemplateCommandInput, DeleteCloudWatchAlarmTemplateCommandOutput, @@ -109,6 +124,7 @@ import { DeleteCloudWatchAlarmTemplateGroupCommandInput, DeleteCloudWatchAlarmTemplateGroupCommandOutput, } from "./commands/DeleteCloudWatchAlarmTemplateGroupCommand"; +import { DeleteClusterCommandInput, DeleteClusterCommandOutput } from "./commands/DeleteClusterCommand"; import { DeleteEventBridgeRuleTemplateCommandInput, DeleteEventBridgeRuleTemplateCommandOutput, @@ -127,6 +143,8 @@ import { DeleteMultiplexProgramCommandInput, DeleteMultiplexProgramCommandOutput, } from "./commands/DeleteMultiplexProgramCommand"; +import { DeleteNetworkCommandInput, DeleteNetworkCommandOutput } from "./commands/DeleteNetworkCommand"; +import { DeleteNodeCommandInput, DeleteNodeCommandOutput } from "./commands/DeleteNodeCommand"; import { DeleteReservationCommandInput, DeleteReservationCommandOutput } from "./commands/DeleteReservationCommand"; import { DeleteScheduleCommandInput, DeleteScheduleCommandOutput } from "./commands/DeleteScheduleCommand"; import { DeleteSignalMapCommandInput, DeleteSignalMapCommandOutput } from "./commands/DeleteSignalMapCommand"; @@ -136,6 +154,11 @@ import { DescribeAccountConfigurationCommandOutput, } from "./commands/DescribeAccountConfigurationCommand"; import { DescribeChannelCommandInput, DescribeChannelCommandOutput } from "./commands/DescribeChannelCommand"; +import { + DescribeChannelPlacementGroupCommandInput, + DescribeChannelPlacementGroupCommandOutput, +} from "./commands/DescribeChannelPlacementGroupCommand"; +import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "./commands/DescribeClusterCommand"; import { DescribeInputCommandInput, DescribeInputCommandOutput } from "./commands/DescribeInputCommand"; import { DescribeInputDeviceCommandInput, @@ -154,6 +177,8 @@ import { DescribeMultiplexProgramCommandInput, DescribeMultiplexProgramCommandOutput, } from "./commands/DescribeMultiplexProgramCommand"; +import { DescribeNetworkCommandInput, DescribeNetworkCommandOutput } from "./commands/DescribeNetworkCommand"; +import { DescribeNodeCommandInput, DescribeNodeCommandOutput } from "./commands/DescribeNodeCommand"; import { DescribeOfferingCommandInput, DescribeOfferingCommandOutput } from "./commands/DescribeOfferingCommand"; import { DescribeReservationCommandInput, @@ -178,6 +203,10 @@ import { GetEventBridgeRuleTemplateGroupCommandOutput, } from "./commands/GetEventBridgeRuleTemplateGroupCommand"; import { GetSignalMapCommandInput, GetSignalMapCommandOutput } from "./commands/GetSignalMapCommand"; +import { + ListChannelPlacementGroupsCommandInput, + ListChannelPlacementGroupsCommandOutput, +} from "./commands/ListChannelPlacementGroupsCommand"; import { ListChannelsCommandInput, ListChannelsCommandOutput } from "./commands/ListChannelsCommand"; import { ListCloudWatchAlarmTemplateGroupsCommandInput, @@ -187,6 +216,7 @@ import { ListCloudWatchAlarmTemplatesCommandInput, ListCloudWatchAlarmTemplatesCommandOutput, } from "./commands/ListCloudWatchAlarmTemplatesCommand"; +import { ListClustersCommandInput, ListClustersCommandOutput } from "./commands/ListClustersCommand"; import { ListEventBridgeRuleTemplateGroupsCommandInput, ListEventBridgeRuleTemplateGroupsCommandOutput, @@ -210,6 +240,8 @@ import { ListMultiplexProgramsCommandInput, ListMultiplexProgramsCommandOutput, } from "./commands/ListMultiplexProgramsCommand"; +import { ListNetworksCommandInput, ListNetworksCommandOutput } from "./commands/ListNetworksCommand"; +import { ListNodesCommandInput, ListNodesCommandOutput } from "./commands/ListNodesCommand"; import { ListOfferingsCommandInput, ListOfferingsCommandOutput } from "./commands/ListOfferingsCommand"; import { ListReservationsCommandInput, ListReservationsCommandOutput } from "./commands/ListReservationsCommand"; import { ListSignalMapsCommandInput, ListSignalMapsCommandOutput } from "./commands/ListSignalMapsCommand"; @@ -259,6 +291,10 @@ import { } from "./commands/UpdateAccountConfigurationCommand"; import { UpdateChannelClassCommandInput, UpdateChannelClassCommandOutput } from "./commands/UpdateChannelClassCommand"; import { UpdateChannelCommandInput, UpdateChannelCommandOutput } from "./commands/UpdateChannelCommand"; +import { + UpdateChannelPlacementGroupCommandInput, + UpdateChannelPlacementGroupCommandOutput, +} from "./commands/UpdateChannelPlacementGroupCommand"; import { UpdateCloudWatchAlarmTemplateCommandInput, UpdateCloudWatchAlarmTemplateCommandOutput, @@ -267,6 +303,7 @@ import { UpdateCloudWatchAlarmTemplateGroupCommandInput, UpdateCloudWatchAlarmTemplateGroupCommandOutput, } from "./commands/UpdateCloudWatchAlarmTemplateGroupCommand"; +import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "./commands/UpdateClusterCommand"; import { UpdateEventBridgeRuleTemplateCommandInput, UpdateEventBridgeRuleTemplateCommandOutput, @@ -286,6 +323,9 @@ import { UpdateMultiplexProgramCommandInput, UpdateMultiplexProgramCommandOutput, } from "./commands/UpdateMultiplexProgramCommand"; +import { UpdateNetworkCommandInput, UpdateNetworkCommandOutput } from "./commands/UpdateNetworkCommand"; +import { UpdateNodeCommandInput, UpdateNodeCommandOutput } from "./commands/UpdateNodeCommand"; +import { UpdateNodeStateCommandInput, UpdateNodeStateCommandOutput } from "./commands/UpdateNodeStateCommand"; import { UpdateReservationCommandInput, UpdateReservationCommandOutput } from "./commands/UpdateReservationCommand"; import { ClientInputEndpointParameters, @@ -310,38 +350,51 @@ export type ServiceInputTypes = | CancelInputDeviceTransferCommandInput | ClaimDeviceCommandInput | CreateChannelCommandInput + | CreateChannelPlacementGroupCommandInput | CreateCloudWatchAlarmTemplateCommandInput | CreateCloudWatchAlarmTemplateGroupCommandInput + | CreateClusterCommandInput | CreateEventBridgeRuleTemplateCommandInput | CreateEventBridgeRuleTemplateGroupCommandInput | CreateInputCommandInput | CreateInputSecurityGroupCommandInput | CreateMultiplexCommandInput | CreateMultiplexProgramCommandInput + | CreateNetworkCommandInput + | CreateNodeCommandInput + | CreateNodeRegistrationScriptCommandInput | CreatePartnerInputCommandInput | CreateSignalMapCommandInput | CreateTagsCommandInput | DeleteChannelCommandInput + | DeleteChannelPlacementGroupCommandInput | DeleteCloudWatchAlarmTemplateCommandInput | DeleteCloudWatchAlarmTemplateGroupCommandInput + | DeleteClusterCommandInput | DeleteEventBridgeRuleTemplateCommandInput | DeleteEventBridgeRuleTemplateGroupCommandInput | DeleteInputCommandInput | DeleteInputSecurityGroupCommandInput | DeleteMultiplexCommandInput | DeleteMultiplexProgramCommandInput + | DeleteNetworkCommandInput + | DeleteNodeCommandInput | DeleteReservationCommandInput | DeleteScheduleCommandInput | DeleteSignalMapCommandInput | DeleteTagsCommandInput | DescribeAccountConfigurationCommandInput | DescribeChannelCommandInput + | DescribeChannelPlacementGroupCommandInput + | DescribeClusterCommandInput | DescribeInputCommandInput | DescribeInputDeviceCommandInput | DescribeInputDeviceThumbnailCommandInput | DescribeInputSecurityGroupCommandInput | DescribeMultiplexCommandInput | DescribeMultiplexProgramCommandInput + | DescribeNetworkCommandInput + | DescribeNodeCommandInput | DescribeOfferingCommandInput | DescribeReservationCommandInput | DescribeScheduleCommandInput @@ -351,9 +404,11 @@ export type ServiceInputTypes = | GetEventBridgeRuleTemplateCommandInput | GetEventBridgeRuleTemplateGroupCommandInput | GetSignalMapCommandInput + | ListChannelPlacementGroupsCommandInput | ListChannelsCommandInput | ListCloudWatchAlarmTemplateGroupsCommandInput | ListCloudWatchAlarmTemplatesCommandInput + | ListClustersCommandInput | ListEventBridgeRuleTemplateGroupsCommandInput | ListEventBridgeRuleTemplatesCommandInput | ListInputDeviceTransfersCommandInput @@ -362,6 +417,8 @@ export type ServiceInputTypes = | ListInputsCommandInput | ListMultiplexProgramsCommandInput | ListMultiplexesCommandInput + | ListNetworksCommandInput + | ListNodesCommandInput | ListOfferingsCommandInput | ListReservationsCommandInput | ListSignalMapsCommandInput @@ -384,8 +441,10 @@ export type ServiceInputTypes = | UpdateAccountConfigurationCommandInput | UpdateChannelClassCommandInput | UpdateChannelCommandInput + | UpdateChannelPlacementGroupCommandInput | UpdateCloudWatchAlarmTemplateCommandInput | UpdateCloudWatchAlarmTemplateGroupCommandInput + | UpdateClusterCommandInput | UpdateEventBridgeRuleTemplateCommandInput | UpdateEventBridgeRuleTemplateGroupCommandInput | UpdateInputCommandInput @@ -393,6 +452,9 @@ export type ServiceInputTypes = | UpdateInputSecurityGroupCommandInput | UpdateMultiplexCommandInput | UpdateMultiplexProgramCommandInput + | UpdateNetworkCommandInput + | UpdateNodeCommandInput + | UpdateNodeStateCommandInput | UpdateReservationCommandInput; /** @@ -407,38 +469,51 @@ export type ServiceOutputTypes = | CancelInputDeviceTransferCommandOutput | ClaimDeviceCommandOutput | CreateChannelCommandOutput + | CreateChannelPlacementGroupCommandOutput | CreateCloudWatchAlarmTemplateCommandOutput | CreateCloudWatchAlarmTemplateGroupCommandOutput + | CreateClusterCommandOutput | CreateEventBridgeRuleTemplateCommandOutput | CreateEventBridgeRuleTemplateGroupCommandOutput | CreateInputCommandOutput | CreateInputSecurityGroupCommandOutput | CreateMultiplexCommandOutput | CreateMultiplexProgramCommandOutput + | CreateNetworkCommandOutput + | CreateNodeCommandOutput + | CreateNodeRegistrationScriptCommandOutput | CreatePartnerInputCommandOutput | CreateSignalMapCommandOutput | CreateTagsCommandOutput | DeleteChannelCommandOutput + | DeleteChannelPlacementGroupCommandOutput | DeleteCloudWatchAlarmTemplateCommandOutput | DeleteCloudWatchAlarmTemplateGroupCommandOutput + | DeleteClusterCommandOutput | DeleteEventBridgeRuleTemplateCommandOutput | DeleteEventBridgeRuleTemplateGroupCommandOutput | DeleteInputCommandOutput | DeleteInputSecurityGroupCommandOutput | DeleteMultiplexCommandOutput | DeleteMultiplexProgramCommandOutput + | DeleteNetworkCommandOutput + | DeleteNodeCommandOutput | DeleteReservationCommandOutput | DeleteScheduleCommandOutput | DeleteSignalMapCommandOutput | DeleteTagsCommandOutput | DescribeAccountConfigurationCommandOutput | DescribeChannelCommandOutput + | DescribeChannelPlacementGroupCommandOutput + | DescribeClusterCommandOutput | DescribeInputCommandOutput | DescribeInputDeviceCommandOutput | DescribeInputDeviceThumbnailCommandOutput | DescribeInputSecurityGroupCommandOutput | DescribeMultiplexCommandOutput | DescribeMultiplexProgramCommandOutput + | DescribeNetworkCommandOutput + | DescribeNodeCommandOutput | DescribeOfferingCommandOutput | DescribeReservationCommandOutput | DescribeScheduleCommandOutput @@ -448,9 +523,11 @@ export type ServiceOutputTypes = | GetEventBridgeRuleTemplateCommandOutput | GetEventBridgeRuleTemplateGroupCommandOutput | GetSignalMapCommandOutput + | ListChannelPlacementGroupsCommandOutput | ListChannelsCommandOutput | ListCloudWatchAlarmTemplateGroupsCommandOutput | ListCloudWatchAlarmTemplatesCommandOutput + | ListClustersCommandOutput | ListEventBridgeRuleTemplateGroupsCommandOutput | ListEventBridgeRuleTemplatesCommandOutput | ListInputDeviceTransfersCommandOutput @@ -459,6 +536,8 @@ export type ServiceOutputTypes = | ListInputsCommandOutput | ListMultiplexProgramsCommandOutput | ListMultiplexesCommandOutput + | ListNetworksCommandOutput + | ListNodesCommandOutput | ListOfferingsCommandOutput | ListReservationsCommandOutput | ListSignalMapsCommandOutput @@ -481,8 +560,10 @@ export type ServiceOutputTypes = | UpdateAccountConfigurationCommandOutput | UpdateChannelClassCommandOutput | UpdateChannelCommandOutput + | UpdateChannelPlacementGroupCommandOutput | UpdateCloudWatchAlarmTemplateCommandOutput | UpdateCloudWatchAlarmTemplateGroupCommandOutput + | UpdateClusterCommandOutput | UpdateEventBridgeRuleTemplateCommandOutput | UpdateEventBridgeRuleTemplateGroupCommandOutput | UpdateInputCommandOutput @@ -490,6 +571,9 @@ export type ServiceOutputTypes = | UpdateInputSecurityGroupCommandOutput | UpdateMultiplexCommandOutput | UpdateMultiplexProgramCommandOutput + | UpdateNetworkCommandOutput + | UpdateNodeCommandOutput + | UpdateNodeStateCommandOutput | UpdateReservationCommandOutput; /** diff --git a/clients/client-medialive/src/commands/ClaimDeviceCommand.ts b/clients/client-medialive/src/commands/ClaimDeviceCommand.ts index 9bdbb3bc73d2..3c3326bf8bb8 100644 --- a/clients/client-medialive/src/commands/ClaimDeviceCommand.ts +++ b/clients/client-medialive/src/commands/ClaimDeviceCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { ClaimDeviceRequest, ClaimDeviceResponse } from "../models/models_1"; +import { ClaimDeviceRequest, ClaimDeviceResponse } from "../models/models_2"; import { de_ClaimDeviceCommand, se_ClaimDeviceCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-medialive/src/commands/CreateChannelCommand.ts b/clients/client-medialive/src/commands/CreateChannelCommand.ts index 4410b4e776b4..c9a4e733c9a1 100644 --- a/clients/client-medialive/src/commands/CreateChannelCommand.ts +++ b/clients/client-medialive/src/commands/CreateChannelCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreateChannelRequest, CreateChannelResponse } from "../models/models_1"; +import { CreateChannelRequest, CreateChannelResponse } from "../models/models_2"; import { de_CreateChannelCommand, se_CreateChannelCommand } from "../protocols/Aws_restJson1"; /** @@ -60,6 +60,13 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * Username: "STRING_VALUE", * }, * ], + * SrtSettings: [ // __listOfSrtOutputDestinationSettings + * { // SrtOutputDestinationSettings + * EncryptionPassphraseSecretArn: "STRING_VALUE", + * StreamId: "STRING_VALUE", + * Url: "STRING_VALUE", + * }, + * ], * }, * ], * EncoderSettings: { // EncoderSettings @@ -512,6 +519,9 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * SendDelayMs: Number("int"), * }, + * SrtGroupSettings: { // SrtGroupSettings + * InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * }, * }, * Outputs: [ // __listOfOutput // required * { // Output @@ -726,6 +736,75 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * CmafIngestOutputSettings: { // CmafIngestOutputSettings * NameModifier: "STRING_VALUE", * }, + * SrtOutputSettings: { // SrtOutputSettings + * BufferMsec: Number("int"), + * ContainerSettings: { + * M2tsSettings: { + * AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * Arib: "DISABLED" || "ENABLED", + * AribCaptionsPid: "STRING_VALUE", + * AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * AudioBufferModel: "ATSC" || "DVB", + * AudioFramesPerPes: Number("int"), + * AudioPids: "STRING_VALUE", + * AudioStreamType: "ATSC" || "DVB", + * Bitrate: Number("int"), + * BufferModel: "MULTIPLEX" || "NONE", + * CcDescriptor: "DISABLED" || "ENABLED", + * DvbNitSettings: { + * NetworkId: Number("int"), // required + * NetworkName: "STRING_VALUE", // required + * RepInterval: Number("int"), + * }, + * DvbSdtSettings: { + * OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * RepInterval: Number("int"), + * ServiceName: "STRING_VALUE", + * ServiceProviderName: "STRING_VALUE", + * }, + * DvbSubPids: "STRING_VALUE", + * DvbTdtSettings: { + * RepInterval: Number("int"), + * }, + * DvbTeletextPid: "STRING_VALUE", + * Ebif: "NONE" || "PASSTHROUGH", + * EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * EbpLookaheadMs: Number("int"), + * EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * EcmPid: "STRING_VALUE", + * EsRateInPes: "EXCLUDE" || "INCLUDE", + * EtvPlatformPid: "STRING_VALUE", + * EtvSignalPid: "STRING_VALUE", + * FragmentTime: Number("double"), + * Klv: "NONE" || "PASSTHROUGH", + * KlvDataPids: "STRING_VALUE", + * NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * NullPacketBitrate: Number("double"), + * PatInterval: Number("int"), + * PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * PcrPeriod: Number("int"), + * PcrPid: "STRING_VALUE", + * PmtInterval: Number("int"), + * PmtPid: "STRING_VALUE", + * ProgramNum: Number("int"), + * RateMode: "CBR" || "VBR", + * Scte27Pids: "STRING_VALUE", + * Scte35Control: "NONE" || "PASSTHROUGH", + * Scte35Pid: "STRING_VALUE", + * SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * SegmentationTime: Number("double"), + * TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * TimedMetadataPid: "STRING_VALUE", + * TransportStreamId: Number("int"), + * VideoPid: "STRING_VALUE", + * Scte35PrerollPullupMilliseconds: Number("double"), + * }, + * }, + * Destination: "", // required + * EncryptionType: "AES128" || "AES192" || "AES256", + * Latency: Number("int"), + * }, * }, * VideoDescriptionName: "STRING_VALUE", * }, @@ -891,6 +970,37 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * Prefix: "STRING_VALUE", * }, * }, + * Av1Settings: { // Av1Settings + * AfdSignaling: "AUTO" || "FIXED" || "NONE", + * BufSize: Number("int"), + * ColorSpaceSettings: { // Av1ColorSpaceSettings + * ColorSpacePassthroughSettings: {}, + * Hdr10Settings: { + * MaxCll: Number("int"), + * MaxFall: Number("int"), + * }, + * Rec601Settings: {}, + * Rec709Settings: {}, + * }, + * FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * FramerateDenominator: Number("int"), // required + * FramerateNumerator: Number("int"), // required + * GopSize: Number("double"), + * GopSizeUnits: "FRAMES" || "SECONDS", + * Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * MaxBitrate: Number("int"), + * MinIInterval: Number("int"), + * ParDenominator: Number("int"), + * ParNumerator: Number("int"), + * QvbrQualityLevel: Number("int"), + * SceneChangeDetect: "DISABLED" || "ENABLED", + * TimecodeBurninSettings: { + * FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * Prefix: "STRING_VALUE", + * }, + * }, * }, * Height: Number("int"), * Name: "STRING_VALUE", // required @@ -1020,6 +1130,9 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * Scte35Source: "MANIFEST" || "SEGMENTS", * }, * ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * MulticastInputSettings: { // MulticastInputSettings + * SourceIpAddress: "STRING_VALUE", + * }, * }, * Scte35Pid: Number("int"), * Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -1043,6 +1156,9 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * }, * }, * }, + * LogicalInterfaceNames: [ + * "STRING_VALUE", + * ], * }, * ], * InputSpecification: { // InputSpecification @@ -1063,15 +1179,13 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * "": "STRING_VALUE", * }, * Vpc: { // VpcOutputSettings - * PublicAddressAllocationIds: [ - * "STRING_VALUE", - * ], - * SecurityGroupIds: [ - * "STRING_VALUE", - * ], - * SubnetIds: [ // required - * "STRING_VALUE", - * ], + * PublicAddressAllocationIds: "<__listOf__string>", + * SecurityGroupIds: "<__listOf__string>", + * SubnetIds: "<__listOf__string>", // required + * }, + * AnywhereSettings: { // AnywhereSettings + * ChannelPlacementGroupId: "STRING_VALUE", + * ClusterId: "STRING_VALUE", * }, * }; * const command = new CreateChannelCommand(input); @@ -1103,6 +1217,13 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * // Username: "STRING_VALUE", * // }, * // ], + * // SrtSettings: [ // __listOfSrtOutputDestinationSettings + * // { // SrtOutputDestinationSettings + * // EncryptionPassphraseSecretArn: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // EgressEndpoints: [ // __listOfChannelEgressEndpoint @@ -1560,6 +1681,9 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * // SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * // SendDelayMs: Number("int"), * // }, + * // SrtGroupSettings: { // SrtGroupSettings + * // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * // }, * // }, * // Outputs: [ // __listOfOutput // required * // { // Output @@ -1774,6 +1898,75 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * // CmafIngestOutputSettings: { // CmafIngestOutputSettings * // NameModifier: "STRING_VALUE", * // }, + * // SrtOutputSettings: { // SrtOutputSettings + * // BufferMsec: Number("int"), + * // ContainerSettings: { + * // M2tsSettings: { + * // AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * // Arib: "DISABLED" || "ENABLED", + * // AribCaptionsPid: "STRING_VALUE", + * // AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * // AudioBufferModel: "ATSC" || "DVB", + * // AudioFramesPerPes: Number("int"), + * // AudioPids: "STRING_VALUE", + * // AudioStreamType: "ATSC" || "DVB", + * // Bitrate: Number("int"), + * // BufferModel: "MULTIPLEX" || "NONE", + * // CcDescriptor: "DISABLED" || "ENABLED", + * // DvbNitSettings: { + * // NetworkId: Number("int"), // required + * // NetworkName: "STRING_VALUE", // required + * // RepInterval: Number("int"), + * // }, + * // DvbSdtSettings: { + * // OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * // RepInterval: Number("int"), + * // ServiceName: "STRING_VALUE", + * // ServiceProviderName: "STRING_VALUE", + * // }, + * // DvbSubPids: "STRING_VALUE", + * // DvbTdtSettings: { + * // RepInterval: Number("int"), + * // }, + * // DvbTeletextPid: "STRING_VALUE", + * // Ebif: "NONE" || "PASSTHROUGH", + * // EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * // EbpLookaheadMs: Number("int"), + * // EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * // EcmPid: "STRING_VALUE", + * // EsRateInPes: "EXCLUDE" || "INCLUDE", + * // EtvPlatformPid: "STRING_VALUE", + * // EtvSignalPid: "STRING_VALUE", + * // FragmentTime: Number("double"), + * // Klv: "NONE" || "PASSTHROUGH", + * // KlvDataPids: "STRING_VALUE", + * // NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // NullPacketBitrate: Number("double"), + * // PatInterval: Number("int"), + * // PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * // PcrPeriod: Number("int"), + * // PcrPid: "STRING_VALUE", + * // PmtInterval: Number("int"), + * // PmtPid: "STRING_VALUE", + * // ProgramNum: Number("int"), + * // RateMode: "CBR" || "VBR", + * // Scte27Pids: "STRING_VALUE", + * // Scte35Control: "NONE" || "PASSTHROUGH", + * // Scte35Pid: "STRING_VALUE", + * // SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * // SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * // SegmentationTime: Number("double"), + * // TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // TimedMetadataPid: "STRING_VALUE", + * // TransportStreamId: Number("int"), + * // VideoPid: "STRING_VALUE", + * // Scte35PrerollPullupMilliseconds: Number("double"), + * // }, + * // }, + * // Destination: "", // required + * // EncryptionType: "AES128" || "AES192" || "AES256", + * // Latency: Number("int"), + * // }, * // }, * // VideoDescriptionName: "STRING_VALUE", * // }, @@ -1939,6 +2132,37 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * // Prefix: "STRING_VALUE", * // }, * // }, + * // Av1Settings: { // Av1Settings + * // AfdSignaling: "AUTO" || "FIXED" || "NONE", + * // BufSize: Number("int"), + * // ColorSpaceSettings: { // Av1ColorSpaceSettings + * // ColorSpacePassthroughSettings: {}, + * // Hdr10Settings: { + * // MaxCll: Number("int"), + * // MaxFall: Number("int"), + * // }, + * // Rec601Settings: {}, + * // Rec709Settings: {}, + * // }, + * // FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * // FramerateDenominator: Number("int"), // required + * // FramerateNumerator: Number("int"), // required + * // GopSize: Number("double"), + * // GopSizeUnits: "FRAMES" || "SECONDS", + * // Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * // LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * // MaxBitrate: Number("int"), + * // MinIInterval: Number("int"), + * // ParDenominator: Number("int"), + * // ParNumerator: Number("int"), + * // QvbrQualityLevel: Number("int"), + * // SceneChangeDetect: "DISABLED" || "ENABLED", + * // TimecodeBurninSettings: { + * // FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * // Prefix: "STRING_VALUE", + * // }, + * // }, * // }, * // Height: Number("int"), * // Name: "STRING_VALUE", // required @@ -2069,6 +2293,9 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * // Scte35Source: "MANIFEST" || "SEGMENTS", * // }, * // ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * // MulticastInputSettings: { // MulticastInputSettings + * // SourceIpAddress: "STRING_VALUE", + * // }, * // }, * // Scte35Pid: Number("int"), * // Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -2092,6 +2319,9 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * // }, * // }, * // }, + * // LogicalInterfaceNames: [ + * // "STRING_VALUE", + * // ], * // }, * // ], * // InputSpecification: { // InputSpecification @@ -2123,17 +2353,15 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met * // "": "STRING_VALUE", * // }, * // Vpc: { // VpcOutputSettingsDescription - * // AvailabilityZones: [ - * // "STRING_VALUE", - * // ], - * // NetworkInterfaceIds: [ - * // "STRING_VALUE", - * // ], - * // SecurityGroupIds: [ - * // "STRING_VALUE", - * // ], + * // AvailabilityZones: "<__listOf__string>", + * // NetworkInterfaceIds: "<__listOf__string>", + * // SecurityGroupIds: "<__listOf__string>", * // SubnetIds: "<__listOf__string>", * // }, + * // AnywhereSettings: { // DescribeAnywhereSettings + * // ChannelPlacementGroupId: "STRING_VALUE", + * // ClusterId: "STRING_VALUE", + * // }, * // }, * // }; * diff --git a/clients/client-medialive/src/commands/CreateChannelPlacementGroupCommand.ts b/clients/client-medialive/src/commands/CreateChannelPlacementGroupCommand.ts new file mode 100644 index 000000000000..5d9afc654d56 --- /dev/null +++ b/clients/client-medialive/src/commands/CreateChannelPlacementGroupCommand.ts @@ -0,0 +1,124 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { CreateChannelPlacementGroupRequest, CreateChannelPlacementGroupResponse } from "../models/models_2"; +import { + de_CreateChannelPlacementGroupCommand, + se_CreateChannelPlacementGroupCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateChannelPlacementGroupCommand}. + */ +export interface CreateChannelPlacementGroupCommandInput extends CreateChannelPlacementGroupRequest {} +/** + * @public + * + * The output of {@link CreateChannelPlacementGroupCommand}. + */ +export interface CreateChannelPlacementGroupCommandOutput + extends CreateChannelPlacementGroupResponse, + __MetadataBearer {} + +/** + * Create a ChannelPlacementGroup in the specified Cluster. As part of the create operation, you specify the Nodes to attach the group to.After you create a ChannelPlacementGroup, you add Channels to the group (you do this by modifying the Channels to add them to a specific group). You now have an association of Channels to ChannelPlacementGroup, and ChannelPlacementGroup to Nodes. This association means that all the Channels in the group are able to run on any of the Nodes associated with the group. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, CreateChannelPlacementGroupCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, CreateChannelPlacementGroupCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // CreateChannelPlacementGroupRequest + * ClusterId: "STRING_VALUE", // required + * Name: "STRING_VALUE", + * Nodes: [ // __listOf__string + * "STRING_VALUE", + * ], + * RequestId: "STRING_VALUE", + * Tags: { // Tags + * "": "STRING_VALUE", + * }, + * }; + * const command = new CreateChannelPlacementGroupCommand(input); + * const response = await client.send(command); + * // { // CreateChannelPlacementGroupResponse + * // Arn: "STRING_VALUE", + * // Channels: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // Id: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Nodes: [ + * // "STRING_VALUE", + * // ], + * // State: "UNASSIGNED" || "ASSIGNING" || "ASSIGNED" || "DELETING" || "DELETE_FAILED" || "DELETED" || "UNASSIGNING", + * // }; + * + * ``` + * + * @param CreateChannelPlacementGroupCommandInput - {@link CreateChannelPlacementGroupCommandInput} + * @returns {@link CreateChannelPlacementGroupCommandOutput} + * @see {@link CreateChannelPlacementGroupCommandInput} for command's `input` shape. + * @see {@link CreateChannelPlacementGroupCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link UnprocessableEntityException} (client fault) + * Placeholder documentation for UnprocessableEntityException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class CreateChannelPlacementGroupCommand extends $Command + .classBuilder< + CreateChannelPlacementGroupCommandInput, + CreateChannelPlacementGroupCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "CreateChannelPlacementGroup", {}) + .n("MediaLiveClient", "CreateChannelPlacementGroupCommand") + .f(void 0, void 0) + .ser(se_CreateChannelPlacementGroupCommand) + .de(de_CreateChannelPlacementGroupCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/CreateCloudWatchAlarmTemplateCommand.ts b/clients/client-medialive/src/commands/CreateCloudWatchAlarmTemplateCommand.ts index 7d37475f2bcc..4f335371231b 100644 --- a/clients/client-medialive/src/commands/CreateCloudWatchAlarmTemplateCommand.ts +++ b/clients/client-medialive/src/commands/CreateCloudWatchAlarmTemplateCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreateCloudWatchAlarmTemplateRequest, CreateCloudWatchAlarmTemplateResponse } from "../models/models_1"; +import { CreateCloudWatchAlarmTemplateRequest, CreateCloudWatchAlarmTemplateResponse } from "../models/models_2"; import { de_CreateCloudWatchAlarmTemplateCommand, se_CreateCloudWatchAlarmTemplateCommand, diff --git a/clients/client-medialive/src/commands/CreateCloudWatchAlarmTemplateGroupCommand.ts b/clients/client-medialive/src/commands/CreateCloudWatchAlarmTemplateGroupCommand.ts index 45f3d683011a..84be4c123440 100644 --- a/clients/client-medialive/src/commands/CreateCloudWatchAlarmTemplateGroupCommand.ts +++ b/clients/client-medialive/src/commands/CreateCloudWatchAlarmTemplateGroupCommand.ts @@ -9,7 +9,7 @@ import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } import { CreateCloudWatchAlarmTemplateGroupRequest, CreateCloudWatchAlarmTemplateGroupResponse, -} from "../models/models_1"; +} from "../models/models_2"; import { de_CreateCloudWatchAlarmTemplateGroupCommand, se_CreateCloudWatchAlarmTemplateGroupCommand, diff --git a/clients/client-medialive/src/commands/CreateClusterCommand.ts b/clients/client-medialive/src/commands/CreateClusterCommand.ts new file mode 100644 index 000000000000..17c87abeca0f --- /dev/null +++ b/clients/client-medialive/src/commands/CreateClusterCommand.ts @@ -0,0 +1,133 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { CreateClusterRequest, CreateClusterResponse } from "../models/models_2"; +import { de_CreateClusterCommand, se_CreateClusterCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateClusterCommand}. + */ +export interface CreateClusterCommandInput extends CreateClusterRequest {} +/** + * @public + * + * The output of {@link CreateClusterCommand}. + */ +export interface CreateClusterCommandOutput extends CreateClusterResponse, __MetadataBearer {} + +/** + * Create a new Cluster. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, CreateClusterCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, CreateClusterCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // CreateClusterRequest + * ClusterType: "ON_PREMISES", + * InstanceRoleArn: "STRING_VALUE", + * Name: "STRING_VALUE", + * NetworkSettings: { // ClusterNetworkSettingsCreateRequest + * DefaultRoute: "STRING_VALUE", + * InterfaceMappings: [ // __listOfInterfaceMappingCreateRequest + * { // InterfaceMappingCreateRequest + * LogicalInterfaceName: "STRING_VALUE", + * NetworkId: "STRING_VALUE", + * }, + * ], + * }, + * RequestId: "STRING_VALUE", + * Tags: { // Tags + * "": "STRING_VALUE", + * }, + * }; + * const command = new CreateClusterCommand(input); + * const response = await client.send(command); + * // { // CreateClusterResponse + * // Arn: "STRING_VALUE", + * // ChannelIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterType: "ON_PREMISES", + * // Id: "STRING_VALUE", + * // InstanceRoleArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NetworkSettings: { // ClusterNetworkSettings + * // DefaultRoute: "STRING_VALUE", + * // InterfaceMappings: [ // __listOfInterfaceMapping + * // { // InterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "DELETE_FAILED" || "DELETED", + * // }; + * + * ``` + * + * @param CreateClusterCommandInput - {@link CreateClusterCommandInput} + * @returns {@link CreateClusterCommandOutput} + * @see {@link CreateClusterCommandInput} for command's `input` shape. + * @see {@link CreateClusterCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class CreateClusterCommand extends $Command + .classBuilder< + CreateClusterCommandInput, + CreateClusterCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "CreateCluster", {}) + .n("MediaLiveClient", "CreateClusterCommand") + .f(void 0, void 0) + .ser(se_CreateClusterCommand) + .de(de_CreateClusterCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/CreateEventBridgeRuleTemplateCommand.ts b/clients/client-medialive/src/commands/CreateEventBridgeRuleTemplateCommand.ts index 115c26a2f047..ede5ee5ebca2 100644 --- a/clients/client-medialive/src/commands/CreateEventBridgeRuleTemplateCommand.ts +++ b/clients/client-medialive/src/commands/CreateEventBridgeRuleTemplateCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreateEventBridgeRuleTemplateRequest, CreateEventBridgeRuleTemplateResponse } from "../models/models_1"; +import { CreateEventBridgeRuleTemplateRequest, CreateEventBridgeRuleTemplateResponse } from "../models/models_2"; import { de_CreateEventBridgeRuleTemplateCommand, se_CreateEventBridgeRuleTemplateCommand, diff --git a/clients/client-medialive/src/commands/CreateEventBridgeRuleTemplateGroupCommand.ts b/clients/client-medialive/src/commands/CreateEventBridgeRuleTemplateGroupCommand.ts index d578c46105d2..abdff6246235 100644 --- a/clients/client-medialive/src/commands/CreateEventBridgeRuleTemplateGroupCommand.ts +++ b/clients/client-medialive/src/commands/CreateEventBridgeRuleTemplateGroupCommand.ts @@ -9,7 +9,7 @@ import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } import { CreateEventBridgeRuleTemplateGroupRequest, CreateEventBridgeRuleTemplateGroupResponse, -} from "../models/models_1"; +} from "../models/models_2"; import { de_CreateEventBridgeRuleTemplateGroupCommand, se_CreateEventBridgeRuleTemplateGroupCommand, diff --git a/clients/client-medialive/src/commands/CreateInputCommand.ts b/clients/client-medialive/src/commands/CreateInputCommand.ts index 626c88b4dfda..af614f516feb 100644 --- a/clients/client-medialive/src/commands/CreateInputCommand.ts +++ b/clients/client-medialive/src/commands/CreateInputCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreateInputRequest, CreateInputResponse } from "../models/models_1"; +import { CreateInputRequest, CreateInputResponse } from "../models/models_2"; import { de_CreateInputCommand, se_CreateInputCommand } from "../protocols/Aws_restJson1"; /** @@ -39,6 +39,14 @@ export interface CreateInputCommandOutput extends CreateInputResponse, __Metadat * Destinations: [ // __listOfInputDestinationRequest * { // InputDestinationRequest * StreamName: "STRING_VALUE", + * Network: "STRING_VALUE", + * NetworkRoutes: [ // __listOfInputRequestDestinationRoute + * { // InputRequestDestinationRoute + * Cidr: "STRING_VALUE", + * Gateway: "STRING_VALUE", + * }, + * ], + * StaticIpAddress: "STRING_VALUE", * }, * ], * InputDevices: [ // __listOfInputDeviceSettings @@ -67,7 +75,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" || "SRT_CALLER", + * Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER" || "MULTICAST", * Vpc: { // InputVpcRequest * SecurityGroupIds: [ * "STRING_VALUE", @@ -90,6 +98,15 @@ export interface CreateInputCommandOutput extends CreateInputResponse, __Metadat * }, * ], * }, + * InputNetworkLocation: "AWS" || "ON_PREMISE" || "ON_PREMISES", + * MulticastSettings: { // MulticastSettingsCreateRequest + * Sources: [ // __listOfMulticastSourceCreateRequest + * { // MulticastSourceCreateRequest + * SourceIp: "STRING_VALUE", + * Url: "STRING_VALUE", // required + * }, + * ], + * }, * }; * const command = new CreateInputCommand(input); * const response = await client.send(command); @@ -108,6 +125,13 @@ export interface CreateInputCommandOutput extends CreateInputResponse, __Metadat * // AvailabilityZone: "STRING_VALUE", * // NetworkInterfaceId: "STRING_VALUE", * // }, + * // Network: "STRING_VALUE", + * // NetworkRoutes: [ // __listOfInputDestinationRoute + * // { // InputDestinationRoute + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // Id: "STRING_VALUE", @@ -142,7 +166,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" || "SRT_CALLER", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER" || "MULTICAST", * // SrtSettings: { // SrtSettings * // SrtCallerSources: [ // __listOfSrtCallerSource * // { // SrtCallerSource @@ -157,6 +181,15 @@ export interface CreateInputCommandOutput extends CreateInputResponse, __Metadat * // }, * // ], * // }, + * // InputNetworkLocation: "AWS" || "ON_PREMISE" || "ON_PREMISES", + * // MulticastSettings: { // MulticastSettings + * // Sources: [ // __listOfMulticastSource + * // { // MulticastSource + * // SourceIp: "STRING_VALUE", + * // Url: "STRING_VALUE", // required + * // }, + * // ], + * // }, * // }, * // }; * diff --git a/clients/client-medialive/src/commands/CreateInputSecurityGroupCommand.ts b/clients/client-medialive/src/commands/CreateInputSecurityGroupCommand.ts index eacb03db509e..ce9e3143e7b2 100644 --- a/clients/client-medialive/src/commands/CreateInputSecurityGroupCommand.ts +++ b/clients/client-medialive/src/commands/CreateInputSecurityGroupCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreateInputSecurityGroupRequest, CreateInputSecurityGroupResponse } from "../models/models_1"; +import { CreateInputSecurityGroupRequest, CreateInputSecurityGroupResponse } from "../models/models_2"; import { de_CreateInputSecurityGroupCommand, se_CreateInputSecurityGroupCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-medialive/src/commands/CreateMultiplexCommand.ts b/clients/client-medialive/src/commands/CreateMultiplexCommand.ts index 716e85dafefe..e7976b5b3c19 100644 --- a/clients/client-medialive/src/commands/CreateMultiplexCommand.ts +++ b/clients/client-medialive/src/commands/CreateMultiplexCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreateMultiplexRequest, CreateMultiplexResponse } from "../models/models_1"; +import { CreateMultiplexRequest, CreateMultiplexResponse } from "../models/models_2"; import { de_CreateMultiplexCommand, se_CreateMultiplexCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-medialive/src/commands/CreateMultiplexProgramCommand.ts b/clients/client-medialive/src/commands/CreateMultiplexProgramCommand.ts index f4359dca85cb..956c89bd6b04 100644 --- a/clients/client-medialive/src/commands/CreateMultiplexProgramCommand.ts +++ b/clients/client-medialive/src/commands/CreateMultiplexProgramCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreateMultiplexProgramRequest, CreateMultiplexProgramResponse } from "../models/models_1"; +import { CreateMultiplexProgramRequest, CreateMultiplexProgramResponse } from "../models/models_2"; import { de_CreateMultiplexProgramCommand, se_CreateMultiplexProgramCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-medialive/src/commands/CreateNetworkCommand.ts b/clients/client-medialive/src/commands/CreateNetworkCommand.ts new file mode 100644 index 000000000000..089b1c5bcf25 --- /dev/null +++ b/clients/client-medialive/src/commands/CreateNetworkCommand.ts @@ -0,0 +1,133 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { CreateNetworkRequest, CreateNetworkResponse } from "../models/models_2"; +import { de_CreateNetworkCommand, se_CreateNetworkCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateNetworkCommand}. + */ +export interface CreateNetworkCommandInput extends CreateNetworkRequest {} +/** + * @public + * + * The output of {@link CreateNetworkCommand}. + */ +export interface CreateNetworkCommandOutput extends CreateNetworkResponse, __MetadataBearer {} + +/** + * Create as many Networks as you need. You will associate one or more Clusters with each Network.Each Network provides MediaLive Anywhere with required information about the network in your organization that you are using for video encoding using MediaLive. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, CreateNetworkCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, CreateNetworkCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // CreateNetworkRequest + * IpPools: [ // __listOfIpPoolCreateRequest + * { // IpPoolCreateRequest + * Cidr: "STRING_VALUE", + * }, + * ], + * Name: "STRING_VALUE", + * RequestId: "STRING_VALUE", + * Routes: [ // __listOfRouteCreateRequest + * { // RouteCreateRequest + * Cidr: "STRING_VALUE", + * Gateway: "STRING_VALUE", + * }, + * ], + * Tags: { // Tags + * "": "STRING_VALUE", + * }, + * }; + * const command = new CreateNetworkCommand(input); + * const response = await client.send(command); + * // { // CreateNetworkResponse + * // Arn: "STRING_VALUE", + * // AssociatedClusterIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // Id: "STRING_VALUE", + * // IpPools: [ // __listOfIpPool + * // { // IpPool + * // Cidr: "STRING_VALUE", + * // }, + * // ], + * // Name: "STRING_VALUE", + * // Routes: [ // __listOfRoute + * // { // Route + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "IDLE" || "IN_USE" || "UPDATING" || "DELETE_FAILED" || "DELETED", + * // }; + * + * ``` + * + * @param CreateNetworkCommandInput - {@link CreateNetworkCommandInput} + * @returns {@link CreateNetworkCommandOutput} + * @see {@link CreateNetworkCommandInput} for command's `input` shape. + * @see {@link CreateNetworkCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class CreateNetworkCommand extends $Command + .classBuilder< + CreateNetworkCommandInput, + CreateNetworkCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "CreateNetwork", {}) + .n("MediaLiveClient", "CreateNetworkCommand") + .f(void 0, void 0) + .ser(se_CreateNetworkCommand) + .de(de_CreateNetworkCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/CreateNodeCommand.ts b/clients/client-medialive/src/commands/CreateNodeCommand.ts new file mode 100644 index 000000000000..efad892ac11e --- /dev/null +++ b/clients/client-medialive/src/commands/CreateNodeCommand.ts @@ -0,0 +1,131 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { CreateNodeRequest, CreateNodeResponse } from "../models/models_2"; +import { de_CreateNodeCommand, se_CreateNodeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateNodeCommand}. + */ +export interface CreateNodeCommandInput extends CreateNodeRequest {} +/** + * @public + * + * The output of {@link CreateNodeCommand}. + */ +export interface CreateNodeCommandOutput extends CreateNodeResponse, __MetadataBearer {} + +/** + * Create a Node in the specified Cluster. You can also create Nodes using the CreateNodeRegistrationScript. Note that you can't move a Node to another Cluster. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, CreateNodeCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, CreateNodeCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // CreateNodeRequest + * ClusterId: "STRING_VALUE", // required + * Name: "STRING_VALUE", + * NodeInterfaceMappings: [ // __listOfNodeInterfaceMappingCreateRequest + * { // NodeInterfaceMappingCreateRequest + * LogicalInterfaceName: "STRING_VALUE", + * NetworkInterfaceMode: "NAT" || "BRIDGE", + * PhysicalInterfaceName: "STRING_VALUE", + * }, + * ], + * RequestId: "STRING_VALUE", + * Role: "BACKUP" || "ACTIVE", + * Tags: { // Tags + * "": "STRING_VALUE", + * }, + * }; + * const command = new CreateNodeCommand(input); + * const response = await client.send(command); + * // { // CreateNodeResponse + * // Arn: "STRING_VALUE", + * // ChannelPlacementGroups: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // ConnectionState: "CONNECTED" || "DISCONNECTED", + * // Id: "STRING_VALUE", + * // InstanceArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NodeInterfaceMappings: [ // __listOfNodeInterfaceMapping + * // { // NodeInterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkInterfaceMode: "NAT" || "BRIDGE", + * // PhysicalInterfaceName: "STRING_VALUE", + * // }, + * // ], + * // Role: "BACKUP" || "ACTIVE", + * // State: "CREATED" || "REGISTERING" || "READY_TO_ACTIVATE" || "REGISTRATION_FAILED" || "ACTIVATION_FAILED" || "ACTIVE" || "READY" || "IN_USE" || "DEREGISTERING" || "DRAINING" || "DEREGISTRATION_FAILED" || "DEREGISTERED", + * // }; + * + * ``` + * + * @param CreateNodeCommandInput - {@link CreateNodeCommandInput} + * @returns {@link CreateNodeCommandOutput} + * @see {@link CreateNodeCommandInput} for command's `input` shape. + * @see {@link CreateNodeCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link UnprocessableEntityException} (client fault) + * Placeholder documentation for UnprocessableEntityException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class CreateNodeCommand extends $Command + .classBuilder< + CreateNodeCommandInput, + CreateNodeCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "CreateNode", {}) + .n("MediaLiveClient", "CreateNodeCommand") + .f(void 0, void 0) + .ser(se_CreateNodeCommand) + .de(de_CreateNodeCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/CreateNodeRegistrationScriptCommand.ts b/clients/client-medialive/src/commands/CreateNodeRegistrationScriptCommand.ts new file mode 100644 index 000000000000..7e570ccc44a2 --- /dev/null +++ b/clients/client-medialive/src/commands/CreateNodeRegistrationScriptCommand.ts @@ -0,0 +1,117 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { CreateNodeRegistrationScriptRequest, CreateNodeRegistrationScriptResponse } from "../models/models_2"; +import { + de_CreateNodeRegistrationScriptCommand, + se_CreateNodeRegistrationScriptCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateNodeRegistrationScriptCommand}. + */ +export interface CreateNodeRegistrationScriptCommandInput extends CreateNodeRegistrationScriptRequest {} +/** + * @public + * + * The output of {@link CreateNodeRegistrationScriptCommand}. + */ +export interface CreateNodeRegistrationScriptCommandOutput + extends CreateNodeRegistrationScriptResponse, + __MetadataBearer {} + +/** + * Create the Register Node script for all the nodes intended for a specific Cluster. You will then run the script on each hardware unit that is intended for that Cluster. The script creates a Node in the specified Cluster. It then binds the Node to this hardware unit, and activates the node hardware for use with MediaLive Anywhere. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, CreateNodeRegistrationScriptCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, CreateNodeRegistrationScriptCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // CreateNodeRegistrationScriptRequest + * ClusterId: "STRING_VALUE", // required + * Id: "STRING_VALUE", + * Name: "STRING_VALUE", + * NodeInterfaceMappings: [ // __listOfNodeInterfaceMapping + * { // NodeInterfaceMapping + * LogicalInterfaceName: "STRING_VALUE", + * NetworkInterfaceMode: "NAT" || "BRIDGE", + * PhysicalInterfaceName: "STRING_VALUE", + * }, + * ], + * RequestId: "STRING_VALUE", + * Role: "BACKUP" || "ACTIVE", + * }; + * const command = new CreateNodeRegistrationScriptCommand(input); + * const response = await client.send(command); + * // { // CreateNodeRegistrationScriptResponse + * // NodeRegistrationScript: "STRING_VALUE", + * // }; + * + * ``` + * + * @param CreateNodeRegistrationScriptCommandInput - {@link CreateNodeRegistrationScriptCommandInput} + * @returns {@link CreateNodeRegistrationScriptCommandOutput} + * @see {@link CreateNodeRegistrationScriptCommandInput} for command's `input` shape. + * @see {@link CreateNodeRegistrationScriptCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class CreateNodeRegistrationScriptCommand extends $Command + .classBuilder< + CreateNodeRegistrationScriptCommandInput, + CreateNodeRegistrationScriptCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "CreateNodeRegistrationScript", {}) + .n("MediaLiveClient", "CreateNodeRegistrationScriptCommand") + .f(void 0, void 0) + .ser(se_CreateNodeRegistrationScriptCommand) + .de(de_CreateNodeRegistrationScriptCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/CreatePartnerInputCommand.ts b/clients/client-medialive/src/commands/CreatePartnerInputCommand.ts index 3425c3840eb9..661b2d7bf7fb 100644 --- a/clients/client-medialive/src/commands/CreatePartnerInputCommand.ts +++ b/clients/client-medialive/src/commands/CreatePartnerInputCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; -import { CreatePartnerInputRequest, CreatePartnerInputResponse } from "../models/models_1"; +import { CreatePartnerInputRequest, CreatePartnerInputResponse } from "../models/models_2"; import { de_CreatePartnerInputCommand, se_CreatePartnerInputCommand } from "../protocols/Aws_restJson1"; /** @@ -59,6 +59,13 @@ export interface CreatePartnerInputCommandOutput extends CreatePartnerInputRespo * // AvailabilityZone: "STRING_VALUE", * // NetworkInterfaceId: "STRING_VALUE", * // }, + * // Network: "STRING_VALUE", + * // NetworkRoutes: [ // __listOfInputDestinationRoute + * // { // InputDestinationRoute + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // Id: "STRING_VALUE", @@ -93,7 +100,7 @@ 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" || "SRT_CALLER", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER" || "MULTICAST", * // SrtSettings: { // SrtSettings * // SrtCallerSources: [ // __listOfSrtCallerSource * // { // SrtCallerSource @@ -108,6 +115,15 @@ export interface CreatePartnerInputCommandOutput extends CreatePartnerInputRespo * // }, * // ], * // }, + * // InputNetworkLocation: "AWS" || "ON_PREMISE" || "ON_PREMISES", + * // MulticastSettings: { // MulticastSettings + * // Sources: [ // __listOfMulticastSource + * // { // MulticastSource + * // SourceIp: "STRING_VALUE", + * // Url: "STRING_VALUE", // required + * // }, + * // ], + * // }, * // }, * // }; * diff --git a/clients/client-medialive/src/commands/DeleteChannelCommand.ts b/clients/client-medialive/src/commands/DeleteChannelCommand.ts index cb08e1d5062f..00a5449fd96a 100644 --- a/clients/client-medialive/src/commands/DeleteChannelCommand.ts +++ b/clients/client-medialive/src/commands/DeleteChannelCommand.ts @@ -66,6 +66,13 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met * // Username: "STRING_VALUE", * // }, * // ], + * // SrtSettings: [ // __listOfSrtOutputDestinationSettings + * // { // SrtOutputDestinationSettings + * // EncryptionPassphraseSecretArn: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // EgressEndpoints: [ // __listOfChannelEgressEndpoint @@ -523,6 +530,9 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met * // SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * // SendDelayMs: Number("int"), * // }, + * // SrtGroupSettings: { // SrtGroupSettings + * // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * // }, * // }, * // Outputs: [ // __listOfOutput // required * // { // Output @@ -737,6 +747,75 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met * // CmafIngestOutputSettings: { // CmafIngestOutputSettings * // NameModifier: "STRING_VALUE", * // }, + * // SrtOutputSettings: { // SrtOutputSettings + * // BufferMsec: Number("int"), + * // ContainerSettings: { + * // M2tsSettings: { + * // AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * // Arib: "DISABLED" || "ENABLED", + * // AribCaptionsPid: "STRING_VALUE", + * // AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * // AudioBufferModel: "ATSC" || "DVB", + * // AudioFramesPerPes: Number("int"), + * // AudioPids: "STRING_VALUE", + * // AudioStreamType: "ATSC" || "DVB", + * // Bitrate: Number("int"), + * // BufferModel: "MULTIPLEX" || "NONE", + * // CcDescriptor: "DISABLED" || "ENABLED", + * // DvbNitSettings: { + * // NetworkId: Number("int"), // required + * // NetworkName: "STRING_VALUE", // required + * // RepInterval: Number("int"), + * // }, + * // DvbSdtSettings: { + * // OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * // RepInterval: Number("int"), + * // ServiceName: "STRING_VALUE", + * // ServiceProviderName: "STRING_VALUE", + * // }, + * // DvbSubPids: "STRING_VALUE", + * // DvbTdtSettings: { + * // RepInterval: Number("int"), + * // }, + * // DvbTeletextPid: "STRING_VALUE", + * // Ebif: "NONE" || "PASSTHROUGH", + * // EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * // EbpLookaheadMs: Number("int"), + * // EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * // EcmPid: "STRING_VALUE", + * // EsRateInPes: "EXCLUDE" || "INCLUDE", + * // EtvPlatformPid: "STRING_VALUE", + * // EtvSignalPid: "STRING_VALUE", + * // FragmentTime: Number("double"), + * // Klv: "NONE" || "PASSTHROUGH", + * // KlvDataPids: "STRING_VALUE", + * // NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // NullPacketBitrate: Number("double"), + * // PatInterval: Number("int"), + * // PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * // PcrPeriod: Number("int"), + * // PcrPid: "STRING_VALUE", + * // PmtInterval: Number("int"), + * // PmtPid: "STRING_VALUE", + * // ProgramNum: Number("int"), + * // RateMode: "CBR" || "VBR", + * // Scte27Pids: "STRING_VALUE", + * // Scte35Control: "NONE" || "PASSTHROUGH", + * // Scte35Pid: "STRING_VALUE", + * // SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * // SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * // SegmentationTime: Number("double"), + * // TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // TimedMetadataPid: "STRING_VALUE", + * // TransportStreamId: Number("int"), + * // VideoPid: "STRING_VALUE", + * // Scte35PrerollPullupMilliseconds: Number("double"), + * // }, + * // }, + * // Destination: "", // required + * // EncryptionType: "AES128" || "AES192" || "AES256", + * // Latency: Number("int"), + * // }, * // }, * // VideoDescriptionName: "STRING_VALUE", * // }, @@ -902,6 +981,37 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met * // Prefix: "STRING_VALUE", * // }, * // }, + * // Av1Settings: { // Av1Settings + * // AfdSignaling: "AUTO" || "FIXED" || "NONE", + * // BufSize: Number("int"), + * // ColorSpaceSettings: { // Av1ColorSpaceSettings + * // ColorSpacePassthroughSettings: {}, + * // Hdr10Settings: { + * // MaxCll: Number("int"), + * // MaxFall: Number("int"), + * // }, + * // Rec601Settings: {}, + * // Rec709Settings: {}, + * // }, + * // FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * // FramerateDenominator: Number("int"), // required + * // FramerateNumerator: Number("int"), // required + * // GopSize: Number("double"), + * // GopSizeUnits: "FRAMES" || "SECONDS", + * // Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * // LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * // MaxBitrate: Number("int"), + * // MinIInterval: Number("int"), + * // ParDenominator: Number("int"), + * // ParNumerator: Number("int"), + * // QvbrQualityLevel: Number("int"), + * // SceneChangeDetect: "DISABLED" || "ENABLED", + * // TimecodeBurninSettings: { + * // FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * // Prefix: "STRING_VALUE", + * // }, + * // }, * // }, * // Height: Number("int"), * // Name: "STRING_VALUE", // required @@ -1032,6 +1142,9 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met * // Scte35Source: "MANIFEST" || "SEGMENTS", * // }, * // ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * // MulticastInputSettings: { // MulticastInputSettings + * // SourceIpAddress: "STRING_VALUE", + * // }, * // }, * // Scte35Pid: Number("int"), * // Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -1055,6 +1168,9 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met * // }, * // }, * // }, + * // LogicalInterfaceNames: [ + * // "STRING_VALUE", + * // ], * // }, * // ], * // InputSpecification: { // InputSpecification @@ -1086,17 +1202,15 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met * // "": "STRING_VALUE", * // }, * // Vpc: { // VpcOutputSettingsDescription - * // AvailabilityZones: [ - * // "STRING_VALUE", - * // ], - * // NetworkInterfaceIds: [ - * // "STRING_VALUE", - * // ], - * // SecurityGroupIds: [ - * // "STRING_VALUE", - * // ], + * // AvailabilityZones: "<__listOf__string>", + * // NetworkInterfaceIds: "<__listOf__string>", + * // SecurityGroupIds: "<__listOf__string>", * // SubnetIds: "<__listOf__string>", * // }, + * // AnywhereSettings: { // DescribeAnywhereSettings + * // ChannelPlacementGroupId: "STRING_VALUE", + * // ClusterId: "STRING_VALUE", + * // }, * // }; * * ``` diff --git a/clients/client-medialive/src/commands/DeleteChannelPlacementGroupCommand.ts b/clients/client-medialive/src/commands/DeleteChannelPlacementGroupCommand.ts new file mode 100644 index 000000000000..fdd8c5295bf2 --- /dev/null +++ b/clients/client-medialive/src/commands/DeleteChannelPlacementGroupCommand.ts @@ -0,0 +1,120 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { DeleteChannelPlacementGroupRequest, DeleteChannelPlacementGroupResponse } from "../models/models_2"; +import { + de_DeleteChannelPlacementGroupCommand, + se_DeleteChannelPlacementGroupCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteChannelPlacementGroupCommand}. + */ +export interface DeleteChannelPlacementGroupCommandInput extends DeleteChannelPlacementGroupRequest {} +/** + * @public + * + * The output of {@link DeleteChannelPlacementGroupCommand}. + */ +export interface DeleteChannelPlacementGroupCommandOutput + extends DeleteChannelPlacementGroupResponse, + __MetadataBearer {} + +/** + * Delete the specified ChannelPlacementGroup that exists in the specified Cluster. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, DeleteChannelPlacementGroupCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, DeleteChannelPlacementGroupCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // DeleteChannelPlacementGroupRequest + * ChannelPlacementGroupId: "STRING_VALUE", // required + * ClusterId: "STRING_VALUE", // required + * }; + * const command = new DeleteChannelPlacementGroupCommand(input); + * const response = await client.send(command); + * // { // DeleteChannelPlacementGroupResponse + * // Arn: "STRING_VALUE", + * // Channels: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // Id: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Nodes: [ + * // "STRING_VALUE", + * // ], + * // State: "UNASSIGNED" || "ASSIGNING" || "ASSIGNED" || "DELETING" || "DELETE_FAILED" || "DELETED" || "UNASSIGNING", + * // }; + * + * ``` + * + * @param DeleteChannelPlacementGroupCommandInput - {@link DeleteChannelPlacementGroupCommandInput} + * @returns {@link DeleteChannelPlacementGroupCommandOutput} + * @see {@link DeleteChannelPlacementGroupCommandInput} for command's `input` shape. + * @see {@link DeleteChannelPlacementGroupCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link NotFoundException} (client fault) + * Placeholder documentation for NotFoundException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class DeleteChannelPlacementGroupCommand extends $Command + .classBuilder< + DeleteChannelPlacementGroupCommandInput, + DeleteChannelPlacementGroupCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "DeleteChannelPlacementGroup", {}) + .n("MediaLiveClient", "DeleteChannelPlacementGroupCommand") + .f(void 0, void 0) + .ser(se_DeleteChannelPlacementGroupCommand) + .de(de_DeleteChannelPlacementGroupCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/DeleteClusterCommand.ts b/clients/client-medialive/src/commands/DeleteClusterCommand.ts new file mode 100644 index 000000000000..752a4061dbc7 --- /dev/null +++ b/clients/client-medialive/src/commands/DeleteClusterCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { DeleteClusterRequest, DeleteClusterResponse } from "../models/models_2"; +import { de_DeleteClusterCommand, se_DeleteClusterCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteClusterCommand}. + */ +export interface DeleteClusterCommandInput extends DeleteClusterRequest {} +/** + * @public + * + * The output of {@link DeleteClusterCommand}. + */ +export interface DeleteClusterCommandOutput extends DeleteClusterResponse, __MetadataBearer {} + +/** + * Delete a Cluster. The Cluster must be idle. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, DeleteClusterCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, DeleteClusterCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // DeleteClusterRequest + * ClusterId: "STRING_VALUE", // required + * }; + * const command = new DeleteClusterCommand(input); + * const response = await client.send(command); + * // { // DeleteClusterResponse + * // Arn: "STRING_VALUE", + * // ChannelIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterType: "ON_PREMISES", + * // Id: "STRING_VALUE", + * // InstanceRoleArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NetworkSettings: { // ClusterNetworkSettings + * // DefaultRoute: "STRING_VALUE", + * // InterfaceMappings: [ // __listOfInterfaceMapping + * // { // InterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "DELETE_FAILED" || "DELETED", + * // }; + * + * ``` + * + * @param DeleteClusterCommandInput - {@link DeleteClusterCommandInput} + * @returns {@link DeleteClusterCommandOutput} + * @see {@link DeleteClusterCommandInput} for command's `input` shape. + * @see {@link DeleteClusterCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link NotFoundException} (client fault) + * Placeholder documentation for NotFoundException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class DeleteClusterCommand extends $Command + .classBuilder< + DeleteClusterCommandInput, + DeleteClusterCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "DeleteCluster", {}) + .n("MediaLiveClient", "DeleteClusterCommand") + .f(void 0, void 0) + .ser(se_DeleteClusterCommand) + .de(de_DeleteClusterCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/DeleteNetworkCommand.ts b/clients/client-medialive/src/commands/DeleteNetworkCommand.ts new file mode 100644 index 000000000000..60921ec05265 --- /dev/null +++ b/clients/client-medialive/src/commands/DeleteNetworkCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { DeleteNetworkRequest, DeleteNetworkResponse } from "../models/models_2"; +import { de_DeleteNetworkCommand, se_DeleteNetworkCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteNetworkCommand}. + */ +export interface DeleteNetworkCommandInput extends DeleteNetworkRequest {} +/** + * @public + * + * The output of {@link DeleteNetworkCommand}. + */ +export interface DeleteNetworkCommandOutput extends DeleteNetworkResponse, __MetadataBearer {} + +/** + * Delete a Network. The Network must have no resources associated with it. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, DeleteNetworkCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, DeleteNetworkCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // DeleteNetworkRequest + * NetworkId: "STRING_VALUE", // required + * }; + * const command = new DeleteNetworkCommand(input); + * const response = await client.send(command); + * // { // DeleteNetworkResponse + * // Arn: "STRING_VALUE", + * // AssociatedClusterIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // Id: "STRING_VALUE", + * // IpPools: [ // __listOfIpPool + * // { // IpPool + * // Cidr: "STRING_VALUE", + * // }, + * // ], + * // Name: "STRING_VALUE", + * // Routes: [ // __listOfRoute + * // { // Route + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "IDLE" || "IN_USE" || "UPDATING" || "DELETE_FAILED" || "DELETED", + * // }; + * + * ``` + * + * @param DeleteNetworkCommandInput - {@link DeleteNetworkCommandInput} + * @returns {@link DeleteNetworkCommandOutput} + * @see {@link DeleteNetworkCommandInput} for command's `input` shape. + * @see {@link DeleteNetworkCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link NotFoundException} (client fault) + * Placeholder documentation for NotFoundException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class DeleteNetworkCommand extends $Command + .classBuilder< + DeleteNetworkCommandInput, + DeleteNetworkCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "DeleteNetwork", {}) + .n("MediaLiveClient", "DeleteNetworkCommand") + .f(void 0, void 0) + .ser(se_DeleteNetworkCommand) + .de(de_DeleteNetworkCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/DeleteNodeCommand.ts b/clients/client-medialive/src/commands/DeleteNodeCommand.ts new file mode 100644 index 000000000000..221017049196 --- /dev/null +++ b/clients/client-medialive/src/commands/DeleteNodeCommand.ts @@ -0,0 +1,122 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { DeleteNodeRequest, DeleteNodeResponse } from "../models/models_2"; +import { de_DeleteNodeCommand, se_DeleteNodeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteNodeCommand}. + */ +export interface DeleteNodeCommandInput extends DeleteNodeRequest {} +/** + * @public + * + * The output of {@link DeleteNodeCommand}. + */ +export interface DeleteNodeCommandOutput extends DeleteNodeResponse, __MetadataBearer {} + +/** + * Delete a Node. The Node must be IDLE. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, DeleteNodeCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, DeleteNodeCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // DeleteNodeRequest + * ClusterId: "STRING_VALUE", // required + * NodeId: "STRING_VALUE", // required + * }; + * const command = new DeleteNodeCommand(input); + * const response = await client.send(command); + * // { // DeleteNodeResponse + * // Arn: "STRING_VALUE", + * // ChannelPlacementGroups: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // ConnectionState: "CONNECTED" || "DISCONNECTED", + * // Id: "STRING_VALUE", + * // InstanceArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NodeInterfaceMappings: [ // __listOfNodeInterfaceMapping + * // { // NodeInterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkInterfaceMode: "NAT" || "BRIDGE", + * // PhysicalInterfaceName: "STRING_VALUE", + * // }, + * // ], + * // Role: "BACKUP" || "ACTIVE", + * // State: "CREATED" || "REGISTERING" || "READY_TO_ACTIVATE" || "REGISTRATION_FAILED" || "ACTIVATION_FAILED" || "ACTIVE" || "READY" || "IN_USE" || "DEREGISTERING" || "DRAINING" || "DEREGISTRATION_FAILED" || "DEREGISTERED", + * // }; + * + * ``` + * + * @param DeleteNodeCommandInput - {@link DeleteNodeCommandInput} + * @returns {@link DeleteNodeCommandOutput} + * @see {@link DeleteNodeCommandInput} for command's `input` shape. + * @see {@link DeleteNodeCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link NotFoundException} (client fault) + * Placeholder documentation for NotFoundException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class DeleteNodeCommand extends $Command + .classBuilder< + DeleteNodeCommandInput, + DeleteNodeCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "DeleteNode", {}) + .n("MediaLiveClient", "DeleteNodeCommand") + .f(void 0, void 0) + .ser(se_DeleteNodeCommand) + .de(de_DeleteNodeCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/DeleteReservationCommand.ts b/clients/client-medialive/src/commands/DeleteReservationCommand.ts index 3a3dc501fda4..5da0e57e262e 100644 --- a/clients/client-medialive/src/commands/DeleteReservationCommand.ts +++ b/clients/client-medialive/src/commands/DeleteReservationCommand.ts @@ -60,7 +60,7 @@ export interface DeleteReservationCommandOutput extends DeleteReservationRespons * // ReservationId: "STRING_VALUE", * // ResourceSpecification: { // ReservationResourceSpecification * // ChannelClass: "STANDARD" || "SINGLE_PIPELINE", - * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK", + * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK" || "AV1", * // MaximumBitrate: "MAX_10_MBPS" || "MAX_20_MBPS" || "MAX_50_MBPS", * // MaximumFramerate: "MAX_30_FPS" || "MAX_60_FPS", * // Resolution: "SD" || "HD" || "FHD" || "UHD", diff --git a/clients/client-medialive/src/commands/DescribeChannelCommand.ts b/clients/client-medialive/src/commands/DescribeChannelCommand.ts index f74e25e6153d..acc106f93341 100644 --- a/clients/client-medialive/src/commands/DescribeChannelCommand.ts +++ b/clients/client-medialive/src/commands/DescribeChannelCommand.ts @@ -66,6 +66,13 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _ * // Username: "STRING_VALUE", * // }, * // ], + * // SrtSettings: [ // __listOfSrtOutputDestinationSettings + * // { // SrtOutputDestinationSettings + * // EncryptionPassphraseSecretArn: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // EgressEndpoints: [ // __listOfChannelEgressEndpoint @@ -523,6 +530,9 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _ * // SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * // SendDelayMs: Number("int"), * // }, + * // SrtGroupSettings: { // SrtGroupSettings + * // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * // }, * // }, * // Outputs: [ // __listOfOutput // required * // { // Output @@ -737,6 +747,75 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _ * // CmafIngestOutputSettings: { // CmafIngestOutputSettings * // NameModifier: "STRING_VALUE", * // }, + * // SrtOutputSettings: { // SrtOutputSettings + * // BufferMsec: Number("int"), + * // ContainerSettings: { + * // M2tsSettings: { + * // AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * // Arib: "DISABLED" || "ENABLED", + * // AribCaptionsPid: "STRING_VALUE", + * // AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * // AudioBufferModel: "ATSC" || "DVB", + * // AudioFramesPerPes: Number("int"), + * // AudioPids: "STRING_VALUE", + * // AudioStreamType: "ATSC" || "DVB", + * // Bitrate: Number("int"), + * // BufferModel: "MULTIPLEX" || "NONE", + * // CcDescriptor: "DISABLED" || "ENABLED", + * // DvbNitSettings: { + * // NetworkId: Number("int"), // required + * // NetworkName: "STRING_VALUE", // required + * // RepInterval: Number("int"), + * // }, + * // DvbSdtSettings: { + * // OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * // RepInterval: Number("int"), + * // ServiceName: "STRING_VALUE", + * // ServiceProviderName: "STRING_VALUE", + * // }, + * // DvbSubPids: "STRING_VALUE", + * // DvbTdtSettings: { + * // RepInterval: Number("int"), + * // }, + * // DvbTeletextPid: "STRING_VALUE", + * // Ebif: "NONE" || "PASSTHROUGH", + * // EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * // EbpLookaheadMs: Number("int"), + * // EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * // EcmPid: "STRING_VALUE", + * // EsRateInPes: "EXCLUDE" || "INCLUDE", + * // EtvPlatformPid: "STRING_VALUE", + * // EtvSignalPid: "STRING_VALUE", + * // FragmentTime: Number("double"), + * // Klv: "NONE" || "PASSTHROUGH", + * // KlvDataPids: "STRING_VALUE", + * // NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // NullPacketBitrate: Number("double"), + * // PatInterval: Number("int"), + * // PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * // PcrPeriod: Number("int"), + * // PcrPid: "STRING_VALUE", + * // PmtInterval: Number("int"), + * // PmtPid: "STRING_VALUE", + * // ProgramNum: Number("int"), + * // RateMode: "CBR" || "VBR", + * // Scte27Pids: "STRING_VALUE", + * // Scte35Control: "NONE" || "PASSTHROUGH", + * // Scte35Pid: "STRING_VALUE", + * // SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * // SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * // SegmentationTime: Number("double"), + * // TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // TimedMetadataPid: "STRING_VALUE", + * // TransportStreamId: Number("int"), + * // VideoPid: "STRING_VALUE", + * // Scte35PrerollPullupMilliseconds: Number("double"), + * // }, + * // }, + * // Destination: "", // required + * // EncryptionType: "AES128" || "AES192" || "AES256", + * // Latency: Number("int"), + * // }, * // }, * // VideoDescriptionName: "STRING_VALUE", * // }, @@ -902,6 +981,37 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _ * // Prefix: "STRING_VALUE", * // }, * // }, + * // Av1Settings: { // Av1Settings + * // AfdSignaling: "AUTO" || "FIXED" || "NONE", + * // BufSize: Number("int"), + * // ColorSpaceSettings: { // Av1ColorSpaceSettings + * // ColorSpacePassthroughSettings: {}, + * // Hdr10Settings: { + * // MaxCll: Number("int"), + * // MaxFall: Number("int"), + * // }, + * // Rec601Settings: {}, + * // Rec709Settings: {}, + * // }, + * // FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * // FramerateDenominator: Number("int"), // required + * // FramerateNumerator: Number("int"), // required + * // GopSize: Number("double"), + * // GopSizeUnits: "FRAMES" || "SECONDS", + * // Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * // LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * // MaxBitrate: Number("int"), + * // MinIInterval: Number("int"), + * // ParDenominator: Number("int"), + * // ParNumerator: Number("int"), + * // QvbrQualityLevel: Number("int"), + * // SceneChangeDetect: "DISABLED" || "ENABLED", + * // TimecodeBurninSettings: { + * // FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * // Prefix: "STRING_VALUE", + * // }, + * // }, * // }, * // Height: Number("int"), * // Name: "STRING_VALUE", // required @@ -1032,6 +1142,9 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _ * // Scte35Source: "MANIFEST" || "SEGMENTS", * // }, * // ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * // MulticastInputSettings: { // MulticastInputSettings + * // SourceIpAddress: "STRING_VALUE", + * // }, * // }, * // Scte35Pid: Number("int"), * // Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -1055,6 +1168,9 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _ * // }, * // }, * // }, + * // LogicalInterfaceNames: [ + * // "STRING_VALUE", + * // ], * // }, * // ], * // InputSpecification: { // InputSpecification @@ -1086,17 +1202,15 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _ * // "": "STRING_VALUE", * // }, * // Vpc: { // VpcOutputSettingsDescription - * // AvailabilityZones: [ - * // "STRING_VALUE", - * // ], - * // NetworkInterfaceIds: [ - * // "STRING_VALUE", - * // ], - * // SecurityGroupIds: [ - * // "STRING_VALUE", - * // ], + * // AvailabilityZones: "<__listOf__string>", + * // NetworkInterfaceIds: "<__listOf__string>", + * // SecurityGroupIds: "<__listOf__string>", * // SubnetIds: "<__listOf__string>", * // }, + * // AnywhereSettings: { // DescribeAnywhereSettings + * // ChannelPlacementGroupId: "STRING_VALUE", + * // ClusterId: "STRING_VALUE", + * // }, * // }; * * ``` diff --git a/clients/client-medialive/src/commands/DescribeChannelPlacementGroupCommand.ts b/clients/client-medialive/src/commands/DescribeChannelPlacementGroupCommand.ts new file mode 100644 index 000000000000..460448533740 --- /dev/null +++ b/clients/client-medialive/src/commands/DescribeChannelPlacementGroupCommand.ts @@ -0,0 +1,117 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { DescribeChannelPlacementGroupRequest, DescribeChannelPlacementGroupResponse } from "../models/models_2"; +import { + de_DescribeChannelPlacementGroupCommand, + se_DescribeChannelPlacementGroupCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeChannelPlacementGroupCommand}. + */ +export interface DescribeChannelPlacementGroupCommandInput extends DescribeChannelPlacementGroupRequest {} +/** + * @public + * + * The output of {@link DescribeChannelPlacementGroupCommand}. + */ +export interface DescribeChannelPlacementGroupCommandOutput + extends DescribeChannelPlacementGroupResponse, + __MetadataBearer {} + +/** + * Get details about a ChannelPlacementGroup. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, DescribeChannelPlacementGroupCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, DescribeChannelPlacementGroupCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // DescribeChannelPlacementGroupRequest + * ChannelPlacementGroupId: "STRING_VALUE", // required + * ClusterId: "STRING_VALUE", // required + * }; + * const command = new DescribeChannelPlacementGroupCommand(input); + * const response = await client.send(command); + * // { // DescribeChannelPlacementGroupResponse + * // Arn: "STRING_VALUE", + * // Channels: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // Id: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Nodes: [ + * // "STRING_VALUE", + * // ], + * // State: "UNASSIGNED" || "ASSIGNING" || "ASSIGNED" || "DELETING" || "DELETE_FAILED" || "DELETED" || "UNASSIGNING", + * // }; + * + * ``` + * + * @param DescribeChannelPlacementGroupCommandInput - {@link DescribeChannelPlacementGroupCommandInput} + * @returns {@link DescribeChannelPlacementGroupCommandOutput} + * @see {@link DescribeChannelPlacementGroupCommandInput} for command's `input` shape. + * @see {@link DescribeChannelPlacementGroupCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link NotFoundException} (client fault) + * Placeholder documentation for NotFoundException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class DescribeChannelPlacementGroupCommand extends $Command + .classBuilder< + DescribeChannelPlacementGroupCommandInput, + DescribeChannelPlacementGroupCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "DescribeChannelPlacementGroup", {}) + .n("MediaLiveClient", "DescribeChannelPlacementGroupCommand") + .f(void 0, void 0) + .ser(se_DescribeChannelPlacementGroupCommand) + .de(de_DescribeChannelPlacementGroupCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/DescribeClusterCommand.ts b/clients/client-medialive/src/commands/DescribeClusterCommand.ts new file mode 100644 index 000000000000..c6da4e683c96 --- /dev/null +++ b/clients/client-medialive/src/commands/DescribeClusterCommand.ts @@ -0,0 +1,118 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { DescribeClusterRequest, DescribeClusterResponse } from "../models/models_2"; +import { de_DescribeClusterCommand, se_DescribeClusterCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeClusterCommand}. + */ +export interface DescribeClusterCommandInput extends DescribeClusterRequest {} +/** + * @public + * + * The output of {@link DescribeClusterCommand}. + */ +export interface DescribeClusterCommandOutput extends DescribeClusterResponse, __MetadataBearer {} + +/** + * Get details about a Cluster. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, DescribeClusterCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, DescribeClusterCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // DescribeClusterRequest + * ClusterId: "STRING_VALUE", // required + * }; + * const command = new DescribeClusterCommand(input); + * const response = await client.send(command); + * // { // DescribeClusterResponse + * // Arn: "STRING_VALUE", + * // ChannelIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterType: "ON_PREMISES", + * // Id: "STRING_VALUE", + * // InstanceRoleArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NetworkSettings: { // ClusterNetworkSettings + * // DefaultRoute: "STRING_VALUE", + * // InterfaceMappings: [ // __listOfInterfaceMapping + * // { // InterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "DELETE_FAILED" || "DELETED", + * // }; + * + * ``` + * + * @param DescribeClusterCommandInput - {@link DescribeClusterCommandInput} + * @returns {@link DescribeClusterCommandOutput} + * @see {@link DescribeClusterCommandInput} for command's `input` shape. + * @see {@link DescribeClusterCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link NotFoundException} (client fault) + * Placeholder documentation for NotFoundException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class DescribeClusterCommand extends $Command + .classBuilder< + DescribeClusterCommandInput, + DescribeClusterCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "DescribeCluster", {}) + .n("MediaLiveClient", "DescribeClusterCommand") + .f(void 0, void 0) + .ser(se_DescribeClusterCommand) + .de(de_DescribeClusterCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/DescribeInputCommand.ts b/clients/client-medialive/src/commands/DescribeInputCommand.ts index ce87cafed186..e666fda04233 100644 --- a/clients/client-medialive/src/commands/DescribeInputCommand.ts +++ b/clients/client-medialive/src/commands/DescribeInputCommand.ts @@ -54,6 +54,13 @@ export interface DescribeInputCommandOutput extends DescribeInputResponse, __Met * // AvailabilityZone: "STRING_VALUE", * // NetworkInterfaceId: "STRING_VALUE", * // }, + * // Network: "STRING_VALUE", + * // NetworkRoutes: [ // __listOfInputDestinationRoute + * // { // InputDestinationRoute + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // Id: "STRING_VALUE", @@ -88,7 +95,7 @@ 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" || "SRT_CALLER", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER" || "MULTICAST", * // SrtSettings: { // SrtSettings * // SrtCallerSources: [ // __listOfSrtCallerSource * // { // SrtCallerSource @@ -103,6 +110,15 @@ export interface DescribeInputCommandOutput extends DescribeInputResponse, __Met * // }, * // ], * // }, + * // InputNetworkLocation: "AWS" || "ON_PREMISE" || "ON_PREMISES", + * // MulticastSettings: { // MulticastSettings + * // Sources: [ // __listOfMulticastSource + * // { // MulticastSource + * // SourceIp: "STRING_VALUE", + * // Url: "STRING_VALUE", // required + * // }, + * // ], + * // }, * // }; * * ``` diff --git a/clients/client-medialive/src/commands/DescribeNetworkCommand.ts b/clients/client-medialive/src/commands/DescribeNetworkCommand.ts new file mode 100644 index 000000000000..1a27b7707ae8 --- /dev/null +++ b/clients/client-medialive/src/commands/DescribeNetworkCommand.ts @@ -0,0 +1,118 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { DescribeNetworkRequest, DescribeNetworkResponse } from "../models/models_2"; +import { de_DescribeNetworkCommand, se_DescribeNetworkCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeNetworkCommand}. + */ +export interface DescribeNetworkCommandInput extends DescribeNetworkRequest {} +/** + * @public + * + * The output of {@link DescribeNetworkCommand}. + */ +export interface DescribeNetworkCommandOutput extends DescribeNetworkResponse, __MetadataBearer {} + +/** + * Get details about a Network. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, DescribeNetworkCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, DescribeNetworkCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // DescribeNetworkRequest + * NetworkId: "STRING_VALUE", // required + * }; + * const command = new DescribeNetworkCommand(input); + * const response = await client.send(command); + * // { // DescribeNetworkResponse + * // Arn: "STRING_VALUE", + * // AssociatedClusterIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // Id: "STRING_VALUE", + * // IpPools: [ // __listOfIpPool + * // { // IpPool + * // Cidr: "STRING_VALUE", + * // }, + * // ], + * // Name: "STRING_VALUE", + * // Routes: [ // __listOfRoute + * // { // Route + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "IDLE" || "IN_USE" || "UPDATING" || "DELETE_FAILED" || "DELETED", + * // }; + * + * ``` + * + * @param DescribeNetworkCommandInput - {@link DescribeNetworkCommandInput} + * @returns {@link DescribeNetworkCommandOutput} + * @see {@link DescribeNetworkCommandInput} for command's `input` shape. + * @see {@link DescribeNetworkCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link NotFoundException} (client fault) + * Placeholder documentation for NotFoundException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class DescribeNetworkCommand extends $Command + .classBuilder< + DescribeNetworkCommandInput, + DescribeNetworkCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "DescribeNetwork", {}) + .n("MediaLiveClient", "DescribeNetworkCommand") + .f(void 0, void 0) + .ser(se_DescribeNetworkCommand) + .de(de_DescribeNetworkCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/DescribeNodeCommand.ts b/clients/client-medialive/src/commands/DescribeNodeCommand.ts new file mode 100644 index 000000000000..3c36d373ab5b --- /dev/null +++ b/clients/client-medialive/src/commands/DescribeNodeCommand.ts @@ -0,0 +1,119 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { DescribeNodeRequest, DescribeNodeResponse } from "../models/models_2"; +import { de_DescribeNodeCommand, se_DescribeNodeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeNodeCommand}. + */ +export interface DescribeNodeCommandInput extends DescribeNodeRequest {} +/** + * @public + * + * The output of {@link DescribeNodeCommand}. + */ +export interface DescribeNodeCommandOutput extends DescribeNodeResponse, __MetadataBearer {} + +/** + * Get details about a Node in the specified Cluster. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, DescribeNodeCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, DescribeNodeCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // DescribeNodeRequest + * ClusterId: "STRING_VALUE", // required + * NodeId: "STRING_VALUE", // required + * }; + * const command = new DescribeNodeCommand(input); + * const response = await client.send(command); + * // { // DescribeNodeResponse + * // Arn: "STRING_VALUE", + * // ChannelPlacementGroups: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // ConnectionState: "CONNECTED" || "DISCONNECTED", + * // Id: "STRING_VALUE", + * // InstanceArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NodeInterfaceMappings: [ // __listOfNodeInterfaceMapping + * // { // NodeInterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkInterfaceMode: "NAT" || "BRIDGE", + * // PhysicalInterfaceName: "STRING_VALUE", + * // }, + * // ], + * // Role: "BACKUP" || "ACTIVE", + * // State: "CREATED" || "REGISTERING" || "READY_TO_ACTIVATE" || "REGISTRATION_FAILED" || "ACTIVATION_FAILED" || "ACTIVE" || "READY" || "IN_USE" || "DEREGISTERING" || "DRAINING" || "DEREGISTRATION_FAILED" || "DEREGISTERED", + * // }; + * + * ``` + * + * @param DescribeNodeCommandInput - {@link DescribeNodeCommandInput} + * @returns {@link DescribeNodeCommandOutput} + * @see {@link DescribeNodeCommandInput} for command's `input` shape. + * @see {@link DescribeNodeCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link NotFoundException} (client fault) + * Placeholder documentation for NotFoundException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class DescribeNodeCommand extends $Command + .classBuilder< + DescribeNodeCommandInput, + DescribeNodeCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "DescribeNode", {}) + .n("MediaLiveClient", "DescribeNodeCommand") + .f(void 0, void 0) + .ser(se_DescribeNodeCommand) + .de(de_DescribeNodeCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/DescribeOfferingCommand.ts b/clients/client-medialive/src/commands/DescribeOfferingCommand.ts index e3a9b2ba153e..a22e5f4cd262 100644 --- a/clients/client-medialive/src/commands/DescribeOfferingCommand.ts +++ b/clients/client-medialive/src/commands/DescribeOfferingCommand.ts @@ -52,7 +52,7 @@ export interface DescribeOfferingCommandOutput extends DescribeOfferingResponse, * // Region: "STRING_VALUE", * // ResourceSpecification: { // ReservationResourceSpecification * // ChannelClass: "STANDARD" || "SINGLE_PIPELINE", - * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK", + * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK" || "AV1", * // MaximumBitrate: "MAX_10_MBPS" || "MAX_20_MBPS" || "MAX_50_MBPS", * // MaximumFramerate: "MAX_30_FPS" || "MAX_60_FPS", * // Resolution: "SD" || "HD" || "FHD" || "UHD", diff --git a/clients/client-medialive/src/commands/DescribeReservationCommand.ts b/clients/client-medialive/src/commands/DescribeReservationCommand.ts index b291c3b4a006..5079fe90c2a5 100644 --- a/clients/client-medialive/src/commands/DescribeReservationCommand.ts +++ b/clients/client-medialive/src/commands/DescribeReservationCommand.ts @@ -60,7 +60,7 @@ export interface DescribeReservationCommandOutput extends DescribeReservationRes * // ReservationId: "STRING_VALUE", * // ResourceSpecification: { // ReservationResourceSpecification * // ChannelClass: "STANDARD" || "SINGLE_PIPELINE", - * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK", + * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK" || "AV1", * // MaximumBitrate: "MAX_10_MBPS" || "MAX_20_MBPS" || "MAX_50_MBPS", * // MaximumFramerate: "MAX_30_FPS" || "MAX_60_FPS", * // Resolution: "SD" || "HD" || "FHD" || "UHD", diff --git a/clients/client-medialive/src/commands/ListChannelPlacementGroupsCommand.ts b/clients/client-medialive/src/commands/ListChannelPlacementGroupsCommand.ts new file mode 100644 index 000000000000..d450152b2c0c --- /dev/null +++ b/clients/client-medialive/src/commands/ListChannelPlacementGroupsCommand.ts @@ -0,0 +1,115 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { ListChannelPlacementGroupsRequest, ListChannelPlacementGroupsResponse } from "../models/models_2"; +import { de_ListChannelPlacementGroupsCommand, se_ListChannelPlacementGroupsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListChannelPlacementGroupsCommand}. + */ +export interface ListChannelPlacementGroupsCommandInput extends ListChannelPlacementGroupsRequest {} +/** + * @public + * + * The output of {@link ListChannelPlacementGroupsCommand}. + */ +export interface ListChannelPlacementGroupsCommandOutput extends ListChannelPlacementGroupsResponse, __MetadataBearer {} + +/** + * Retrieve the list of ChannelPlacementGroups in the specified Cluster. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, ListChannelPlacementGroupsCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, ListChannelPlacementGroupsCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // ListChannelPlacementGroupsRequest + * ClusterId: "STRING_VALUE", // required + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new ListChannelPlacementGroupsCommand(input); + * const response = await client.send(command); + * // { // ListChannelPlacementGroupsResponse + * // ChannelPlacementGroups: [ // __listOfDescribeChannelPlacementGroupSummary + * // { // DescribeChannelPlacementGroupSummary + * // Arn: "STRING_VALUE", + * // Channels: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // Id: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Nodes: [ + * // "STRING_VALUE", + * // ], + * // State: "UNASSIGNED" || "ASSIGNING" || "ASSIGNED" || "DELETING" || "DELETE_FAILED" || "DELETED" || "UNASSIGNING", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListChannelPlacementGroupsCommandInput - {@link ListChannelPlacementGroupsCommandInput} + * @returns {@link ListChannelPlacementGroupsCommandOutput} + * @see {@link ListChannelPlacementGroupsCommandInput} for command's `input` shape. + * @see {@link ListChannelPlacementGroupsCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class ListChannelPlacementGroupsCommand extends $Command + .classBuilder< + ListChannelPlacementGroupsCommandInput, + ListChannelPlacementGroupsCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "ListChannelPlacementGroups", {}) + .n("MediaLiveClient", "ListChannelPlacementGroupsCommand") + .f(void 0, void 0) + .ser(se_ListChannelPlacementGroupsCommand) + .de(de_ListChannelPlacementGroupsCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/ListChannelsCommand.ts b/clients/client-medialive/src/commands/ListChannelsCommand.ts index 33425f076bbc..2d3ec3107525 100644 --- a/clients/client-medialive/src/commands/ListChannelsCommand.ts +++ b/clients/client-medialive/src/commands/ListChannelsCommand.ts @@ -69,6 +69,13 @@ export interface ListChannelsCommandOutput extends ListChannelsResponse, __Metad * // Username: "STRING_VALUE", * // }, * // ], + * // SrtSettings: [ // __listOfSrtOutputDestinationSettings + * // { // SrtOutputDestinationSettings + * // EncryptionPassphraseSecretArn: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // EgressEndpoints: [ // __listOfChannelEgressEndpoint @@ -184,6 +191,9 @@ export interface ListChannelsCommandOutput extends ListChannelsResponse, __Metad * // Scte35Source: "MANIFEST" || "SEGMENTS", * // }, * // ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * // MulticastInputSettings: { // MulticastInputSettings + * // SourceIpAddress: "STRING_VALUE", + * // }, * // }, * // Scte35Pid: Number("int"), * // Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -207,6 +217,9 @@ export interface ListChannelsCommandOutput extends ListChannelsResponse, __Metad * // }, * // }, * // }, + * // LogicalInterfaceNames: [ // __listOf__string + * // "STRING_VALUE", + * // ], * // }, * // ], * // InputSpecification: { // InputSpecification @@ -229,7 +242,7 @@ export interface ListChannelsCommandOutput extends ListChannelsResponse, __Metad * // "": "STRING_VALUE", * // }, * // Vpc: { // VpcOutputSettingsDescription - * // AvailabilityZones: [ // __listOf__string + * // AvailabilityZones: [ * // "STRING_VALUE", * // ], * // NetworkInterfaceIds: [ @@ -242,6 +255,10 @@ export interface ListChannelsCommandOutput extends ListChannelsResponse, __Metad * // "STRING_VALUE", * // ], * // }, + * // AnywhereSettings: { // DescribeAnywhereSettings + * // ChannelPlacementGroupId: "STRING_VALUE", + * // ClusterId: "STRING_VALUE", + * // }, * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-medialive/src/commands/ListClustersCommand.ts b/clients/client-medialive/src/commands/ListClustersCommand.ts new file mode 100644 index 000000000000..6f634ed20404 --- /dev/null +++ b/clients/client-medialive/src/commands/ListClustersCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { ListClustersRequest, ListClustersResponse } from "../models/models_2"; +import { de_ListClustersCommand, se_ListClustersCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListClustersCommand}. + */ +export interface ListClustersCommandInput extends ListClustersRequest {} +/** + * @public + * + * The output of {@link ListClustersCommand}. + */ +export interface ListClustersCommandOutput extends ListClustersResponse, __MetadataBearer {} + +/** + * Retrieve the list of Clusters. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, ListClustersCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, ListClustersCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // ListClustersRequest + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new ListClustersCommand(input); + * const response = await client.send(command); + * // { // ListClustersResponse + * // Clusters: [ // __listOfDescribeClusterSummary + * // { // DescribeClusterSummary + * // Arn: "STRING_VALUE", + * // ChannelIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterType: "ON_PREMISES", + * // Id: "STRING_VALUE", + * // InstanceRoleArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NetworkSettings: { // ClusterNetworkSettings + * // DefaultRoute: "STRING_VALUE", + * // InterfaceMappings: [ // __listOfInterfaceMapping + * // { // InterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "DELETE_FAILED" || "DELETED", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListClustersCommandInput - {@link ListClustersCommandInput} + * @returns {@link ListClustersCommandOutput} + * @see {@link ListClustersCommandInput} for command's `input` shape. + * @see {@link ListClustersCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class ListClustersCommand extends $Command + .classBuilder< + ListClustersCommandInput, + ListClustersCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "ListClusters", {}) + .n("MediaLiveClient", "ListClustersCommand") + .f(void 0, void 0) + .ser(se_ListClustersCommand) + .de(de_ListClustersCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/ListInputsCommand.ts b/clients/client-medialive/src/commands/ListInputsCommand.ts index 315b0a1bce64..6facaa36694e 100644 --- a/clients/client-medialive/src/commands/ListInputsCommand.ts +++ b/clients/client-medialive/src/commands/ListInputsCommand.ts @@ -57,6 +57,13 @@ export interface ListInputsCommandOutput extends ListInputsResponse, __MetadataB * // AvailabilityZone: "STRING_VALUE", * // NetworkInterfaceId: "STRING_VALUE", * // }, + * // Network: "STRING_VALUE", + * // NetworkRoutes: [ // __listOfInputDestinationRoute + * // { // InputDestinationRoute + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // Id: "STRING_VALUE", @@ -91,7 +98,7 @@ 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" || "SRT_CALLER", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER" || "MULTICAST", * // SrtSettings: { // SrtSettings * // SrtCallerSources: [ // __listOfSrtCallerSource * // { // SrtCallerSource @@ -106,6 +113,15 @@ export interface ListInputsCommandOutput extends ListInputsResponse, __MetadataB * // }, * // ], * // }, + * // InputNetworkLocation: "AWS" || "ON_PREMISE" || "ON_PREMISES", + * // MulticastSettings: { // MulticastSettings + * // Sources: [ // __listOfMulticastSource + * // { // MulticastSource + * // SourceIp: "STRING_VALUE", + * // Url: "STRING_VALUE", // required + * // }, + * // ], + * // }, * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-medialive/src/commands/ListNetworksCommand.ts b/clients/client-medialive/src/commands/ListNetworksCommand.ts new file mode 100644 index 000000000000..e8cbcb7e04c3 --- /dev/null +++ b/clients/client-medialive/src/commands/ListNetworksCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { ListNetworksRequest, ListNetworksResponse } from "../models/models_2"; +import { de_ListNetworksCommand, se_ListNetworksCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListNetworksCommand}. + */ +export interface ListNetworksCommandInput extends ListNetworksRequest {} +/** + * @public + * + * The output of {@link ListNetworksCommand}. + */ +export interface ListNetworksCommandOutput extends ListNetworksResponse, __MetadataBearer {} + +/** + * Retrieve the list of Networks. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, ListNetworksCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, ListNetworksCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // ListNetworksRequest + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new ListNetworksCommand(input); + * const response = await client.send(command); + * // { // ListNetworksResponse + * // Networks: [ // __listOfDescribeNetworkSummary + * // { // DescribeNetworkSummary + * // Arn: "STRING_VALUE", + * // AssociatedClusterIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // Id: "STRING_VALUE", + * // IpPools: [ // __listOfIpPool + * // { // IpPool + * // Cidr: "STRING_VALUE", + * // }, + * // ], + * // Name: "STRING_VALUE", + * // Routes: [ // __listOfRoute + * // { // Route + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "IDLE" || "IN_USE" || "UPDATING" || "DELETE_FAILED" || "DELETED", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListNetworksCommandInput - {@link ListNetworksCommandInput} + * @returns {@link ListNetworksCommandOutput} + * @see {@link ListNetworksCommandInput} for command's `input` shape. + * @see {@link ListNetworksCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class ListNetworksCommand extends $Command + .classBuilder< + ListNetworksCommandInput, + ListNetworksCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "ListNetworks", {}) + .n("MediaLiveClient", "ListNetworksCommand") + .f(void 0, void 0) + .ser(se_ListNetworksCommand) + .de(de_ListNetworksCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/ListNodesCommand.ts b/clients/client-medialive/src/commands/ListNodesCommand.ts new file mode 100644 index 000000000000..6e406b8719dd --- /dev/null +++ b/clients/client-medialive/src/commands/ListNodesCommand.ts @@ -0,0 +1,123 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { ListNodesRequest, ListNodesResponse } from "../models/models_2"; +import { de_ListNodesCommand, se_ListNodesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListNodesCommand}. + */ +export interface ListNodesCommandInput extends ListNodesRequest {} +/** + * @public + * + * The output of {@link ListNodesCommand}. + */ +export interface ListNodesCommandOutput extends ListNodesResponse, __MetadataBearer {} + +/** + * Retrieve the list of Nodes. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, ListNodesCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, ListNodesCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // ListNodesRequest + * ClusterId: "STRING_VALUE", // required + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new ListNodesCommand(input); + * const response = await client.send(command); + * // { // ListNodesResponse + * // NextToken: "STRING_VALUE", + * // Nodes: [ // __listOfDescribeNodeSummary + * // { // DescribeNodeSummary + * // Arn: "STRING_VALUE", + * // ChannelPlacementGroups: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // ConnectionState: "CONNECTED" || "DISCONNECTED", + * // Id: "STRING_VALUE", + * // InstanceArn: "STRING_VALUE", + * // ManagedInstanceId: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NodeInterfaceMappings: [ // __listOfNodeInterfaceMapping + * // { // NodeInterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkInterfaceMode: "NAT" || "BRIDGE", + * // PhysicalInterfaceName: "STRING_VALUE", + * // }, + * // ], + * // Role: "BACKUP" || "ACTIVE", + * // State: "CREATED" || "REGISTERING" || "READY_TO_ACTIVATE" || "REGISTRATION_FAILED" || "ACTIVATION_FAILED" || "ACTIVE" || "READY" || "IN_USE" || "DEREGISTERING" || "DRAINING" || "DEREGISTRATION_FAILED" || "DEREGISTERED", + * // }, + * // ], + * // }; + * + * ``` + * + * @param ListNodesCommandInput - {@link ListNodesCommandInput} + * @returns {@link ListNodesCommandOutput} + * @see {@link ListNodesCommandInput} for command's `input` shape. + * @see {@link ListNodesCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class ListNodesCommand extends $Command + .classBuilder< + ListNodesCommandInput, + ListNodesCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "ListNodes", {}) + .n("MediaLiveClient", "ListNodesCommand") + .f(void 0, void 0) + .ser(se_ListNodesCommand) + .de(de_ListNodesCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/ListOfferingsCommand.ts b/clients/client-medialive/src/commands/ListOfferingsCommand.ts index 360b333867c4..77d06f44f3fa 100644 --- a/clients/client-medialive/src/commands/ListOfferingsCommand.ts +++ b/clients/client-medialive/src/commands/ListOfferingsCommand.ts @@ -66,7 +66,7 @@ export interface ListOfferingsCommandOutput extends ListOfferingsResponse, __Met * // Region: "STRING_VALUE", * // ResourceSpecification: { // ReservationResourceSpecification * // ChannelClass: "STANDARD" || "SINGLE_PIPELINE", - * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK", + * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK" || "AV1", * // MaximumBitrate: "MAX_10_MBPS" || "MAX_20_MBPS" || "MAX_50_MBPS", * // MaximumFramerate: "MAX_30_FPS" || "MAX_60_FPS", * // Resolution: "SD" || "HD" || "FHD" || "UHD", diff --git a/clients/client-medialive/src/commands/ListReservationsCommand.ts b/clients/client-medialive/src/commands/ListReservationsCommand.ts index ee7f711c4c3b..cc8d75b8e9ad 100644 --- a/clients/client-medialive/src/commands/ListReservationsCommand.ts +++ b/clients/client-medialive/src/commands/ListReservationsCommand.ts @@ -72,7 +72,7 @@ export interface ListReservationsCommandOutput extends ListReservationsResponse, * // ReservationId: "STRING_VALUE", * // ResourceSpecification: { // ReservationResourceSpecification * // ChannelClass: "STANDARD" || "SINGLE_PIPELINE", - * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK", + * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK" || "AV1", * // MaximumBitrate: "MAX_10_MBPS" || "MAX_20_MBPS" || "MAX_50_MBPS", * // MaximumFramerate: "MAX_30_FPS" || "MAX_60_FPS", * // Resolution: "SD" || "HD" || "FHD" || "UHD", diff --git a/clients/client-medialive/src/commands/PurchaseOfferingCommand.ts b/clients/client-medialive/src/commands/PurchaseOfferingCommand.ts index d99270afc8dc..a45cd168552b 100644 --- a/clients/client-medialive/src/commands/PurchaseOfferingCommand.ts +++ b/clients/client-medialive/src/commands/PurchaseOfferingCommand.ts @@ -72,7 +72,7 @@ export interface PurchaseOfferingCommandOutput extends PurchaseOfferingResponse, * // ReservationId: "STRING_VALUE", * // ResourceSpecification: { // ReservationResourceSpecification * // ChannelClass: "STANDARD" || "SINGLE_PIPELINE", - * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK", + * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK" || "AV1", * // MaximumBitrate: "MAX_10_MBPS" || "MAX_20_MBPS" || "MAX_50_MBPS", * // MaximumFramerate: "MAX_30_FPS" || "MAX_60_FPS", * // Resolution: "SD" || "HD" || "FHD" || "UHD", diff --git a/clients/client-medialive/src/commands/RestartChannelPipelinesCommand.ts b/clients/client-medialive/src/commands/RestartChannelPipelinesCommand.ts index 84a2711f378c..7ca040620e44 100644 --- a/clients/client-medialive/src/commands/RestartChannelPipelinesCommand.ts +++ b/clients/client-medialive/src/commands/RestartChannelPipelinesCommand.ts @@ -69,6 +69,13 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe * // Username: "STRING_VALUE", * // }, * // ], + * // SrtSettings: [ // __listOfSrtOutputDestinationSettings + * // { // SrtOutputDestinationSettings + * // EncryptionPassphraseSecretArn: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // EgressEndpoints: [ // __listOfChannelEgressEndpoint @@ -526,6 +533,9 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe * // SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * // SendDelayMs: Number("int"), * // }, + * // SrtGroupSettings: { // SrtGroupSettings + * // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * // }, * // }, * // Outputs: [ // __listOfOutput // required * // { // Output @@ -740,6 +750,75 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe * // CmafIngestOutputSettings: { // CmafIngestOutputSettings * // NameModifier: "STRING_VALUE", * // }, + * // SrtOutputSettings: { // SrtOutputSettings + * // BufferMsec: Number("int"), + * // ContainerSettings: { + * // M2tsSettings: { + * // AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * // Arib: "DISABLED" || "ENABLED", + * // AribCaptionsPid: "STRING_VALUE", + * // AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * // AudioBufferModel: "ATSC" || "DVB", + * // AudioFramesPerPes: Number("int"), + * // AudioPids: "STRING_VALUE", + * // AudioStreamType: "ATSC" || "DVB", + * // Bitrate: Number("int"), + * // BufferModel: "MULTIPLEX" || "NONE", + * // CcDescriptor: "DISABLED" || "ENABLED", + * // DvbNitSettings: { + * // NetworkId: Number("int"), // required + * // NetworkName: "STRING_VALUE", // required + * // RepInterval: Number("int"), + * // }, + * // DvbSdtSettings: { + * // OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * // RepInterval: Number("int"), + * // ServiceName: "STRING_VALUE", + * // ServiceProviderName: "STRING_VALUE", + * // }, + * // DvbSubPids: "STRING_VALUE", + * // DvbTdtSettings: { + * // RepInterval: Number("int"), + * // }, + * // DvbTeletextPid: "STRING_VALUE", + * // Ebif: "NONE" || "PASSTHROUGH", + * // EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * // EbpLookaheadMs: Number("int"), + * // EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * // EcmPid: "STRING_VALUE", + * // EsRateInPes: "EXCLUDE" || "INCLUDE", + * // EtvPlatformPid: "STRING_VALUE", + * // EtvSignalPid: "STRING_VALUE", + * // FragmentTime: Number("double"), + * // Klv: "NONE" || "PASSTHROUGH", + * // KlvDataPids: "STRING_VALUE", + * // NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // NullPacketBitrate: Number("double"), + * // PatInterval: Number("int"), + * // PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * // PcrPeriod: Number("int"), + * // PcrPid: "STRING_VALUE", + * // PmtInterval: Number("int"), + * // PmtPid: "STRING_VALUE", + * // ProgramNum: Number("int"), + * // RateMode: "CBR" || "VBR", + * // Scte27Pids: "STRING_VALUE", + * // Scte35Control: "NONE" || "PASSTHROUGH", + * // Scte35Pid: "STRING_VALUE", + * // SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * // SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * // SegmentationTime: Number("double"), + * // TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // TimedMetadataPid: "STRING_VALUE", + * // TransportStreamId: Number("int"), + * // VideoPid: "STRING_VALUE", + * // Scte35PrerollPullupMilliseconds: Number("double"), + * // }, + * // }, + * // Destination: "", // required + * // EncryptionType: "AES128" || "AES192" || "AES256", + * // Latency: Number("int"), + * // }, * // }, * // VideoDescriptionName: "STRING_VALUE", * // }, @@ -905,6 +984,37 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe * // Prefix: "STRING_VALUE", * // }, * // }, + * // Av1Settings: { // Av1Settings + * // AfdSignaling: "AUTO" || "FIXED" || "NONE", + * // BufSize: Number("int"), + * // ColorSpaceSettings: { // Av1ColorSpaceSettings + * // ColorSpacePassthroughSettings: {}, + * // Hdr10Settings: { + * // MaxCll: Number("int"), + * // MaxFall: Number("int"), + * // }, + * // Rec601Settings: {}, + * // Rec709Settings: {}, + * // }, + * // FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * // FramerateDenominator: Number("int"), // required + * // FramerateNumerator: Number("int"), // required + * // GopSize: Number("double"), + * // GopSizeUnits: "FRAMES" || "SECONDS", + * // Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * // LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * // MaxBitrate: Number("int"), + * // MinIInterval: Number("int"), + * // ParDenominator: Number("int"), + * // ParNumerator: Number("int"), + * // QvbrQualityLevel: Number("int"), + * // SceneChangeDetect: "DISABLED" || "ENABLED", + * // TimecodeBurninSettings: { + * // FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * // Prefix: "STRING_VALUE", + * // }, + * // }, * // }, * // Height: Number("int"), * // Name: "STRING_VALUE", // required @@ -1035,6 +1145,9 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe * // Scte35Source: "MANIFEST" || "SEGMENTS", * // }, * // ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * // MulticastInputSettings: { // MulticastInputSettings + * // SourceIpAddress: "STRING_VALUE", + * // }, * // }, * // Scte35Pid: Number("int"), * // Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -1058,6 +1171,9 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe * // }, * // }, * // }, + * // LogicalInterfaceNames: [ + * // "STRING_VALUE", + * // ], * // }, * // ], * // InputSpecification: { // InputSpecification @@ -1090,17 +1206,15 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe * // "": "STRING_VALUE", * // }, * // Vpc: { // VpcOutputSettingsDescription - * // AvailabilityZones: [ - * // "STRING_VALUE", - * // ], - * // NetworkInterfaceIds: [ - * // "STRING_VALUE", - * // ], - * // SecurityGroupIds: [ - * // "STRING_VALUE", - * // ], + * // AvailabilityZones: "<__listOf__string>", + * // NetworkInterfaceIds: "<__listOf__string>", + * // SecurityGroupIds: "<__listOf__string>", * // SubnetIds: "<__listOf__string>", * // }, + * // AnywhereSettings: { // DescribeAnywhereSettings + * // ChannelPlacementGroupId: "STRING_VALUE", + * // ClusterId: "STRING_VALUE", + * // }, * // }; * * ``` diff --git a/clients/client-medialive/src/commands/StartChannelCommand.ts b/clients/client-medialive/src/commands/StartChannelCommand.ts index adc8ae549c68..b5bd11ddd3c8 100644 --- a/clients/client-medialive/src/commands/StartChannelCommand.ts +++ b/clients/client-medialive/src/commands/StartChannelCommand.ts @@ -66,6 +66,13 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad * // Username: "STRING_VALUE", * // }, * // ], + * // SrtSettings: [ // __listOfSrtOutputDestinationSettings + * // { // SrtOutputDestinationSettings + * // EncryptionPassphraseSecretArn: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // EgressEndpoints: [ // __listOfChannelEgressEndpoint @@ -523,6 +530,9 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad * // SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * // SendDelayMs: Number("int"), * // }, + * // SrtGroupSettings: { // SrtGroupSettings + * // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * // }, * // }, * // Outputs: [ // __listOfOutput // required * // { // Output @@ -737,6 +747,75 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad * // CmafIngestOutputSettings: { // CmafIngestOutputSettings * // NameModifier: "STRING_VALUE", * // }, + * // SrtOutputSettings: { // SrtOutputSettings + * // BufferMsec: Number("int"), + * // ContainerSettings: { + * // M2tsSettings: { + * // AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * // Arib: "DISABLED" || "ENABLED", + * // AribCaptionsPid: "STRING_VALUE", + * // AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * // AudioBufferModel: "ATSC" || "DVB", + * // AudioFramesPerPes: Number("int"), + * // AudioPids: "STRING_VALUE", + * // AudioStreamType: "ATSC" || "DVB", + * // Bitrate: Number("int"), + * // BufferModel: "MULTIPLEX" || "NONE", + * // CcDescriptor: "DISABLED" || "ENABLED", + * // DvbNitSettings: { + * // NetworkId: Number("int"), // required + * // NetworkName: "STRING_VALUE", // required + * // RepInterval: Number("int"), + * // }, + * // DvbSdtSettings: { + * // OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * // RepInterval: Number("int"), + * // ServiceName: "STRING_VALUE", + * // ServiceProviderName: "STRING_VALUE", + * // }, + * // DvbSubPids: "STRING_VALUE", + * // DvbTdtSettings: { + * // RepInterval: Number("int"), + * // }, + * // DvbTeletextPid: "STRING_VALUE", + * // Ebif: "NONE" || "PASSTHROUGH", + * // EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * // EbpLookaheadMs: Number("int"), + * // EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * // EcmPid: "STRING_VALUE", + * // EsRateInPes: "EXCLUDE" || "INCLUDE", + * // EtvPlatformPid: "STRING_VALUE", + * // EtvSignalPid: "STRING_VALUE", + * // FragmentTime: Number("double"), + * // Klv: "NONE" || "PASSTHROUGH", + * // KlvDataPids: "STRING_VALUE", + * // NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // NullPacketBitrate: Number("double"), + * // PatInterval: Number("int"), + * // PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * // PcrPeriod: Number("int"), + * // PcrPid: "STRING_VALUE", + * // PmtInterval: Number("int"), + * // PmtPid: "STRING_VALUE", + * // ProgramNum: Number("int"), + * // RateMode: "CBR" || "VBR", + * // Scte27Pids: "STRING_VALUE", + * // Scte35Control: "NONE" || "PASSTHROUGH", + * // Scte35Pid: "STRING_VALUE", + * // SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * // SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * // SegmentationTime: Number("double"), + * // TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // TimedMetadataPid: "STRING_VALUE", + * // TransportStreamId: Number("int"), + * // VideoPid: "STRING_VALUE", + * // Scte35PrerollPullupMilliseconds: Number("double"), + * // }, + * // }, + * // Destination: "", // required + * // EncryptionType: "AES128" || "AES192" || "AES256", + * // Latency: Number("int"), + * // }, * // }, * // VideoDescriptionName: "STRING_VALUE", * // }, @@ -902,6 +981,37 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad * // Prefix: "STRING_VALUE", * // }, * // }, + * // Av1Settings: { // Av1Settings + * // AfdSignaling: "AUTO" || "FIXED" || "NONE", + * // BufSize: Number("int"), + * // ColorSpaceSettings: { // Av1ColorSpaceSettings + * // ColorSpacePassthroughSettings: {}, + * // Hdr10Settings: { + * // MaxCll: Number("int"), + * // MaxFall: Number("int"), + * // }, + * // Rec601Settings: {}, + * // Rec709Settings: {}, + * // }, + * // FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * // FramerateDenominator: Number("int"), // required + * // FramerateNumerator: Number("int"), // required + * // GopSize: Number("double"), + * // GopSizeUnits: "FRAMES" || "SECONDS", + * // Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * // LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * // MaxBitrate: Number("int"), + * // MinIInterval: Number("int"), + * // ParDenominator: Number("int"), + * // ParNumerator: Number("int"), + * // QvbrQualityLevel: Number("int"), + * // SceneChangeDetect: "DISABLED" || "ENABLED", + * // TimecodeBurninSettings: { + * // FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * // Prefix: "STRING_VALUE", + * // }, + * // }, * // }, * // Height: Number("int"), * // Name: "STRING_VALUE", // required @@ -1032,6 +1142,9 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad * // Scte35Source: "MANIFEST" || "SEGMENTS", * // }, * // ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * // MulticastInputSettings: { // MulticastInputSettings + * // SourceIpAddress: "STRING_VALUE", + * // }, * // }, * // Scte35Pid: Number("int"), * // Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -1055,6 +1168,9 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad * // }, * // }, * // }, + * // LogicalInterfaceNames: [ + * // "STRING_VALUE", + * // ], * // }, * // ], * // InputSpecification: { // InputSpecification @@ -1086,17 +1202,15 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad * // "": "STRING_VALUE", * // }, * // Vpc: { // VpcOutputSettingsDescription - * // AvailabilityZones: [ - * // "STRING_VALUE", - * // ], - * // NetworkInterfaceIds: [ - * // "STRING_VALUE", - * // ], - * // SecurityGroupIds: [ - * // "STRING_VALUE", - * // ], + * // AvailabilityZones: "<__listOf__string>", + * // NetworkInterfaceIds: "<__listOf__string>", + * // SecurityGroupIds: "<__listOf__string>", * // SubnetIds: "<__listOf__string>", * // }, + * // AnywhereSettings: { // DescribeAnywhereSettings + * // ChannelPlacementGroupId: "STRING_VALUE", + * // ClusterId: "STRING_VALUE", + * // }, * // }; * * ``` diff --git a/clients/client-medialive/src/commands/StopChannelCommand.ts b/clients/client-medialive/src/commands/StopChannelCommand.ts index c1d6a91bd629..70937e1e9ccb 100644 --- a/clients/client-medialive/src/commands/StopChannelCommand.ts +++ b/clients/client-medialive/src/commands/StopChannelCommand.ts @@ -66,6 +66,13 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat * // Username: "STRING_VALUE", * // }, * // ], + * // SrtSettings: [ // __listOfSrtOutputDestinationSettings + * // { // SrtOutputDestinationSettings + * // EncryptionPassphraseSecretArn: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // EgressEndpoints: [ // __listOfChannelEgressEndpoint @@ -523,6 +530,9 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat * // SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * // SendDelayMs: Number("int"), * // }, + * // SrtGroupSettings: { // SrtGroupSettings + * // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * // }, * // }, * // Outputs: [ // __listOfOutput // required * // { // Output @@ -737,6 +747,75 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat * // CmafIngestOutputSettings: { // CmafIngestOutputSettings * // NameModifier: "STRING_VALUE", * // }, + * // SrtOutputSettings: { // SrtOutputSettings + * // BufferMsec: Number("int"), + * // ContainerSettings: { + * // M2tsSettings: { + * // AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * // Arib: "DISABLED" || "ENABLED", + * // AribCaptionsPid: "STRING_VALUE", + * // AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * // AudioBufferModel: "ATSC" || "DVB", + * // AudioFramesPerPes: Number("int"), + * // AudioPids: "STRING_VALUE", + * // AudioStreamType: "ATSC" || "DVB", + * // Bitrate: Number("int"), + * // BufferModel: "MULTIPLEX" || "NONE", + * // CcDescriptor: "DISABLED" || "ENABLED", + * // DvbNitSettings: { + * // NetworkId: Number("int"), // required + * // NetworkName: "STRING_VALUE", // required + * // RepInterval: Number("int"), + * // }, + * // DvbSdtSettings: { + * // OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * // RepInterval: Number("int"), + * // ServiceName: "STRING_VALUE", + * // ServiceProviderName: "STRING_VALUE", + * // }, + * // DvbSubPids: "STRING_VALUE", + * // DvbTdtSettings: { + * // RepInterval: Number("int"), + * // }, + * // DvbTeletextPid: "STRING_VALUE", + * // Ebif: "NONE" || "PASSTHROUGH", + * // EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * // EbpLookaheadMs: Number("int"), + * // EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * // EcmPid: "STRING_VALUE", + * // EsRateInPes: "EXCLUDE" || "INCLUDE", + * // EtvPlatformPid: "STRING_VALUE", + * // EtvSignalPid: "STRING_VALUE", + * // FragmentTime: Number("double"), + * // Klv: "NONE" || "PASSTHROUGH", + * // KlvDataPids: "STRING_VALUE", + * // NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // NullPacketBitrate: Number("double"), + * // PatInterval: Number("int"), + * // PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * // PcrPeriod: Number("int"), + * // PcrPid: "STRING_VALUE", + * // PmtInterval: Number("int"), + * // PmtPid: "STRING_VALUE", + * // ProgramNum: Number("int"), + * // RateMode: "CBR" || "VBR", + * // Scte27Pids: "STRING_VALUE", + * // Scte35Control: "NONE" || "PASSTHROUGH", + * // Scte35Pid: "STRING_VALUE", + * // SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * // SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * // SegmentationTime: Number("double"), + * // TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // TimedMetadataPid: "STRING_VALUE", + * // TransportStreamId: Number("int"), + * // VideoPid: "STRING_VALUE", + * // Scte35PrerollPullupMilliseconds: Number("double"), + * // }, + * // }, + * // Destination: "", // required + * // EncryptionType: "AES128" || "AES192" || "AES256", + * // Latency: Number("int"), + * // }, * // }, * // VideoDescriptionName: "STRING_VALUE", * // }, @@ -902,6 +981,37 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat * // Prefix: "STRING_VALUE", * // }, * // }, + * // Av1Settings: { // Av1Settings + * // AfdSignaling: "AUTO" || "FIXED" || "NONE", + * // BufSize: Number("int"), + * // ColorSpaceSettings: { // Av1ColorSpaceSettings + * // ColorSpacePassthroughSettings: {}, + * // Hdr10Settings: { + * // MaxCll: Number("int"), + * // MaxFall: Number("int"), + * // }, + * // Rec601Settings: {}, + * // Rec709Settings: {}, + * // }, + * // FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * // FramerateDenominator: Number("int"), // required + * // FramerateNumerator: Number("int"), // required + * // GopSize: Number("double"), + * // GopSizeUnits: "FRAMES" || "SECONDS", + * // Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * // LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * // MaxBitrate: Number("int"), + * // MinIInterval: Number("int"), + * // ParDenominator: Number("int"), + * // ParNumerator: Number("int"), + * // QvbrQualityLevel: Number("int"), + * // SceneChangeDetect: "DISABLED" || "ENABLED", + * // TimecodeBurninSettings: { + * // FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * // Prefix: "STRING_VALUE", + * // }, + * // }, * // }, * // Height: Number("int"), * // Name: "STRING_VALUE", // required @@ -1032,6 +1142,9 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat * // Scte35Source: "MANIFEST" || "SEGMENTS", * // }, * // ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * // MulticastInputSettings: { // MulticastInputSettings + * // SourceIpAddress: "STRING_VALUE", + * // }, * // }, * // Scte35Pid: Number("int"), * // Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -1055,6 +1168,9 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat * // }, * // }, * // }, + * // LogicalInterfaceNames: [ + * // "STRING_VALUE", + * // ], * // }, * // ], * // InputSpecification: { // InputSpecification @@ -1086,17 +1202,15 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat * // "": "STRING_VALUE", * // }, * // Vpc: { // VpcOutputSettingsDescription - * // AvailabilityZones: [ - * // "STRING_VALUE", - * // ], - * // NetworkInterfaceIds: [ - * // "STRING_VALUE", - * // ], - * // SecurityGroupIds: [ - * // "STRING_VALUE", - * // ], + * // AvailabilityZones: "<__listOf__string>", + * // NetworkInterfaceIds: "<__listOf__string>", + * // SecurityGroupIds: "<__listOf__string>", * // SubnetIds: "<__listOf__string>", * // }, + * // AnywhereSettings: { // DescribeAnywhereSettings + * // ChannelPlacementGroupId: "STRING_VALUE", + * // ClusterId: "STRING_VALUE", + * // }, * // }; * * ``` diff --git a/clients/client-medialive/src/commands/UpdateChannelClassCommand.ts b/clients/client-medialive/src/commands/UpdateChannelClassCommand.ts index 76fbf454b2e5..59725f719b6d 100644 --- a/clients/client-medialive/src/commands/UpdateChannelClassCommand.ts +++ b/clients/client-medialive/src/commands/UpdateChannelClassCommand.ts @@ -58,6 +58,13 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo * Username: "STRING_VALUE", * }, * ], + * SrtSettings: [ // __listOfSrtOutputDestinationSettings + * { // SrtOutputDestinationSettings + * EncryptionPassphraseSecretArn: "STRING_VALUE", + * StreamId: "STRING_VALUE", + * Url: "STRING_VALUE", + * }, + * ], * }, * ], * }; @@ -90,6 +97,13 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo * // Username: "STRING_VALUE", * // }, * // ], + * // SrtSettings: [ // __listOfSrtOutputDestinationSettings + * // { // SrtOutputDestinationSettings + * // EncryptionPassphraseSecretArn: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // EgressEndpoints: [ // __listOfChannelEgressEndpoint @@ -547,6 +561,9 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo * // SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * // SendDelayMs: Number("int"), * // }, + * // SrtGroupSettings: { // SrtGroupSettings + * // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * // }, * // }, * // Outputs: [ // __listOfOutput // required * // { // Output @@ -761,6 +778,75 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo * // CmafIngestOutputSettings: { // CmafIngestOutputSettings * // NameModifier: "STRING_VALUE", * // }, + * // SrtOutputSettings: { // SrtOutputSettings + * // BufferMsec: Number("int"), + * // ContainerSettings: { + * // M2tsSettings: { + * // AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * // Arib: "DISABLED" || "ENABLED", + * // AribCaptionsPid: "STRING_VALUE", + * // AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * // AudioBufferModel: "ATSC" || "DVB", + * // AudioFramesPerPes: Number("int"), + * // AudioPids: "STRING_VALUE", + * // AudioStreamType: "ATSC" || "DVB", + * // Bitrate: Number("int"), + * // BufferModel: "MULTIPLEX" || "NONE", + * // CcDescriptor: "DISABLED" || "ENABLED", + * // DvbNitSettings: { + * // NetworkId: Number("int"), // required + * // NetworkName: "STRING_VALUE", // required + * // RepInterval: Number("int"), + * // }, + * // DvbSdtSettings: { + * // OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * // RepInterval: Number("int"), + * // ServiceName: "STRING_VALUE", + * // ServiceProviderName: "STRING_VALUE", + * // }, + * // DvbSubPids: "STRING_VALUE", + * // DvbTdtSettings: { + * // RepInterval: Number("int"), + * // }, + * // DvbTeletextPid: "STRING_VALUE", + * // Ebif: "NONE" || "PASSTHROUGH", + * // EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * // EbpLookaheadMs: Number("int"), + * // EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * // EcmPid: "STRING_VALUE", + * // EsRateInPes: "EXCLUDE" || "INCLUDE", + * // EtvPlatformPid: "STRING_VALUE", + * // EtvSignalPid: "STRING_VALUE", + * // FragmentTime: Number("double"), + * // Klv: "NONE" || "PASSTHROUGH", + * // KlvDataPids: "STRING_VALUE", + * // NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // NullPacketBitrate: Number("double"), + * // PatInterval: Number("int"), + * // PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * // PcrPeriod: Number("int"), + * // PcrPid: "STRING_VALUE", + * // PmtInterval: Number("int"), + * // PmtPid: "STRING_VALUE", + * // ProgramNum: Number("int"), + * // RateMode: "CBR" || "VBR", + * // Scte27Pids: "STRING_VALUE", + * // Scte35Control: "NONE" || "PASSTHROUGH", + * // Scte35Pid: "STRING_VALUE", + * // SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * // SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * // SegmentationTime: Number("double"), + * // TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // TimedMetadataPid: "STRING_VALUE", + * // TransportStreamId: Number("int"), + * // VideoPid: "STRING_VALUE", + * // Scte35PrerollPullupMilliseconds: Number("double"), + * // }, + * // }, + * // Destination: "", // required + * // EncryptionType: "AES128" || "AES192" || "AES256", + * // Latency: Number("int"), + * // }, * // }, * // VideoDescriptionName: "STRING_VALUE", * // }, @@ -926,6 +1012,37 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo * // Prefix: "STRING_VALUE", * // }, * // }, + * // Av1Settings: { // Av1Settings + * // AfdSignaling: "AUTO" || "FIXED" || "NONE", + * // BufSize: Number("int"), + * // ColorSpaceSettings: { // Av1ColorSpaceSettings + * // ColorSpacePassthroughSettings: {}, + * // Hdr10Settings: { + * // MaxCll: Number("int"), + * // MaxFall: Number("int"), + * // }, + * // Rec601Settings: {}, + * // Rec709Settings: {}, + * // }, + * // FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * // FramerateDenominator: Number("int"), // required + * // FramerateNumerator: Number("int"), // required + * // GopSize: Number("double"), + * // GopSizeUnits: "FRAMES" || "SECONDS", + * // Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * // LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * // MaxBitrate: Number("int"), + * // MinIInterval: Number("int"), + * // ParDenominator: Number("int"), + * // ParNumerator: Number("int"), + * // QvbrQualityLevel: Number("int"), + * // SceneChangeDetect: "DISABLED" || "ENABLED", + * // TimecodeBurninSettings: { + * // FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * // Prefix: "STRING_VALUE", + * // }, + * // }, * // }, * // Height: Number("int"), * // Name: "STRING_VALUE", // required @@ -1056,6 +1173,9 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo * // Scte35Source: "MANIFEST" || "SEGMENTS", * // }, * // ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * // MulticastInputSettings: { // MulticastInputSettings + * // SourceIpAddress: "STRING_VALUE", + * // }, * // }, * // Scte35Pid: Number("int"), * // Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -1079,6 +1199,9 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo * // }, * // }, * // }, + * // LogicalInterfaceNames: [ + * // "STRING_VALUE", + * // ], * // }, * // ], * // InputSpecification: { // InputSpecification @@ -1110,17 +1233,15 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo * // "": "STRING_VALUE", * // }, * // Vpc: { // VpcOutputSettingsDescription - * // AvailabilityZones: [ - * // "STRING_VALUE", - * // ], - * // NetworkInterfaceIds: [ - * // "STRING_VALUE", - * // ], - * // SecurityGroupIds: [ - * // "STRING_VALUE", - * // ], + * // AvailabilityZones: "<__listOf__string>", + * // NetworkInterfaceIds: "<__listOf__string>", + * // SecurityGroupIds: "<__listOf__string>", * // SubnetIds: "<__listOf__string>", * // }, + * // AnywhereSettings: { // DescribeAnywhereSettings + * // ChannelPlacementGroupId: "STRING_VALUE", + * // ClusterId: "STRING_VALUE", + * // }, * // }, * // }; * diff --git a/clients/client-medialive/src/commands/UpdateChannelCommand.ts b/clients/client-medialive/src/commands/UpdateChannelCommand.ts index 23f5ff5123c8..0be8eb860f4d 100644 --- a/clients/client-medialive/src/commands/UpdateChannelCommand.ts +++ b/clients/client-medialive/src/commands/UpdateChannelCommand.ts @@ -60,6 +60,13 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * Username: "STRING_VALUE", * }, * ], + * SrtSettings: [ // __listOfSrtOutputDestinationSettings + * { // SrtOutputDestinationSettings + * EncryptionPassphraseSecretArn: "STRING_VALUE", + * StreamId: "STRING_VALUE", + * Url: "STRING_VALUE", + * }, + * ], * }, * ], * EncoderSettings: { // EncoderSettings @@ -512,6 +519,9 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * SendDelayMs: Number("int"), * }, + * SrtGroupSettings: { // SrtGroupSettings + * InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * }, * }, * Outputs: [ // __listOfOutput // required * { // Output @@ -726,6 +736,75 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * CmafIngestOutputSettings: { // CmafIngestOutputSettings * NameModifier: "STRING_VALUE", * }, + * SrtOutputSettings: { // SrtOutputSettings + * BufferMsec: Number("int"), + * ContainerSettings: { + * M2tsSettings: { + * AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * Arib: "DISABLED" || "ENABLED", + * AribCaptionsPid: "STRING_VALUE", + * AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * AudioBufferModel: "ATSC" || "DVB", + * AudioFramesPerPes: Number("int"), + * AudioPids: "STRING_VALUE", + * AudioStreamType: "ATSC" || "DVB", + * Bitrate: Number("int"), + * BufferModel: "MULTIPLEX" || "NONE", + * CcDescriptor: "DISABLED" || "ENABLED", + * DvbNitSettings: { + * NetworkId: Number("int"), // required + * NetworkName: "STRING_VALUE", // required + * RepInterval: Number("int"), + * }, + * DvbSdtSettings: { + * OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * RepInterval: Number("int"), + * ServiceName: "STRING_VALUE", + * ServiceProviderName: "STRING_VALUE", + * }, + * DvbSubPids: "STRING_VALUE", + * DvbTdtSettings: { + * RepInterval: Number("int"), + * }, + * DvbTeletextPid: "STRING_VALUE", + * Ebif: "NONE" || "PASSTHROUGH", + * EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * EbpLookaheadMs: Number("int"), + * EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * EcmPid: "STRING_VALUE", + * EsRateInPes: "EXCLUDE" || "INCLUDE", + * EtvPlatformPid: "STRING_VALUE", + * EtvSignalPid: "STRING_VALUE", + * FragmentTime: Number("double"), + * Klv: "NONE" || "PASSTHROUGH", + * KlvDataPids: "STRING_VALUE", + * NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * NullPacketBitrate: Number("double"), + * PatInterval: Number("int"), + * PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * PcrPeriod: Number("int"), + * PcrPid: "STRING_VALUE", + * PmtInterval: Number("int"), + * PmtPid: "STRING_VALUE", + * ProgramNum: Number("int"), + * RateMode: "CBR" || "VBR", + * Scte27Pids: "STRING_VALUE", + * Scte35Control: "NONE" || "PASSTHROUGH", + * Scte35Pid: "STRING_VALUE", + * SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * SegmentationTime: Number("double"), + * TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * TimedMetadataPid: "STRING_VALUE", + * TransportStreamId: Number("int"), + * VideoPid: "STRING_VALUE", + * Scte35PrerollPullupMilliseconds: Number("double"), + * }, + * }, + * Destination: "", // required + * EncryptionType: "AES128" || "AES192" || "AES256", + * Latency: Number("int"), + * }, * }, * VideoDescriptionName: "STRING_VALUE", * }, @@ -891,6 +970,37 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * Prefix: "STRING_VALUE", * }, * }, + * Av1Settings: { // Av1Settings + * AfdSignaling: "AUTO" || "FIXED" || "NONE", + * BufSize: Number("int"), + * ColorSpaceSettings: { // Av1ColorSpaceSettings + * ColorSpacePassthroughSettings: {}, + * Hdr10Settings: { + * MaxCll: Number("int"), + * MaxFall: Number("int"), + * }, + * Rec601Settings: {}, + * Rec709Settings: {}, + * }, + * FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * FramerateDenominator: Number("int"), // required + * FramerateNumerator: Number("int"), // required + * GopSize: Number("double"), + * GopSizeUnits: "FRAMES" || "SECONDS", + * Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * MaxBitrate: Number("int"), + * MinIInterval: Number("int"), + * ParDenominator: Number("int"), + * ParNumerator: Number("int"), + * QvbrQualityLevel: Number("int"), + * SceneChangeDetect: "DISABLED" || "ENABLED", + * TimecodeBurninSettings: { + * FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * Prefix: "STRING_VALUE", + * }, + * }, * }, * Height: Number("int"), * Name: "STRING_VALUE", // required @@ -1020,6 +1130,9 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * Scte35Source: "MANIFEST" || "SEGMENTS", * }, * ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * MulticastInputSettings: { // MulticastInputSettings + * SourceIpAddress: "STRING_VALUE", + * }, * }, * Scte35Pid: Number("int"), * Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -1043,6 +1156,9 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * }, * }, * }, + * LogicalInterfaceNames: [ + * "STRING_VALUE", + * ], * }, * ], * InputSpecification: { // InputSpecification @@ -1088,6 +1204,13 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * // Username: "STRING_VALUE", * // }, * // ], + * // SrtSettings: [ // __listOfSrtOutputDestinationSettings + * // { // SrtOutputDestinationSettings + * // EncryptionPassphraseSecretArn: "STRING_VALUE", + * // StreamId: "STRING_VALUE", + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // EgressEndpoints: [ // __listOfChannelEgressEndpoint @@ -1545,6 +1668,9 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * // SegmentLengthUnits: "MILLISECONDS" || "SECONDS", * // SendDelayMs: Number("int"), * // }, + * // SrtGroupSettings: { // SrtGroupSettings + * // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM", + * // }, * // }, * // Outputs: [ // __listOfOutput // required * // { // Output @@ -1759,6 +1885,75 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * // CmafIngestOutputSettings: { // CmafIngestOutputSettings * // NameModifier: "STRING_VALUE", * // }, + * // SrtOutputSettings: { // SrtOutputSettings + * // BufferMsec: Number("int"), + * // ContainerSettings: { + * // M2tsSettings: { + * // AbsentInputAudioBehavior: "DROP" || "ENCODE_SILENCE", + * // Arib: "DISABLED" || "ENABLED", + * // AribCaptionsPid: "STRING_VALUE", + * // AribCaptionsPidControl: "AUTO" || "USE_CONFIGURED", + * // AudioBufferModel: "ATSC" || "DVB", + * // AudioFramesPerPes: Number("int"), + * // AudioPids: "STRING_VALUE", + * // AudioStreamType: "ATSC" || "DVB", + * // Bitrate: Number("int"), + * // BufferModel: "MULTIPLEX" || "NONE", + * // CcDescriptor: "DISABLED" || "ENABLED", + * // DvbNitSettings: { + * // NetworkId: Number("int"), // required + * // NetworkName: "STRING_VALUE", // required + * // RepInterval: Number("int"), + * // }, + * // DvbSdtSettings: { + * // OutputSdt: "SDT_FOLLOW" || "SDT_FOLLOW_IF_PRESENT" || "SDT_MANUAL" || "SDT_NONE", + * // RepInterval: Number("int"), + * // ServiceName: "STRING_VALUE", + * // ServiceProviderName: "STRING_VALUE", + * // }, + * // DvbSubPids: "STRING_VALUE", + * // DvbTdtSettings: { + * // RepInterval: Number("int"), + * // }, + * // DvbTeletextPid: "STRING_VALUE", + * // Ebif: "NONE" || "PASSTHROUGH", + * // EbpAudioInterval: "VIDEO_AND_FIXED_INTERVALS" || "VIDEO_INTERVAL", + * // EbpLookaheadMs: Number("int"), + * // EbpPlacement: "VIDEO_AND_AUDIO_PIDS" || "VIDEO_PID", + * // EcmPid: "STRING_VALUE", + * // EsRateInPes: "EXCLUDE" || "INCLUDE", + * // EtvPlatformPid: "STRING_VALUE", + * // EtvSignalPid: "STRING_VALUE", + * // FragmentTime: Number("double"), + * // Klv: "NONE" || "PASSTHROUGH", + * // KlvDataPids: "STRING_VALUE", + * // NielsenId3Behavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // NullPacketBitrate: Number("double"), + * // PatInterval: Number("int"), + * // PcrControl: "CONFIGURED_PCR_PERIOD" || "PCR_EVERY_PES_PACKET", + * // PcrPeriod: Number("int"), + * // PcrPid: "STRING_VALUE", + * // PmtInterval: Number("int"), + * // PmtPid: "STRING_VALUE", + * // ProgramNum: Number("int"), + * // RateMode: "CBR" || "VBR", + * // Scte27Pids: "STRING_VALUE", + * // Scte35Control: "NONE" || "PASSTHROUGH", + * // Scte35Pid: "STRING_VALUE", + * // SegmentationMarkers: "EBP" || "EBP_LEGACY" || "NONE" || "PSI_SEGSTART" || "RAI_ADAPT" || "RAI_SEGSTART", + * // SegmentationStyle: "MAINTAIN_CADENCE" || "RESET_CADENCE", + * // SegmentationTime: Number("double"), + * // TimedMetadataBehavior: "NO_PASSTHROUGH" || "PASSTHROUGH", + * // TimedMetadataPid: "STRING_VALUE", + * // TransportStreamId: Number("int"), + * // VideoPid: "STRING_VALUE", + * // Scte35PrerollPullupMilliseconds: Number("double"), + * // }, + * // }, + * // Destination: "", // required + * // EncryptionType: "AES128" || "AES192" || "AES256", + * // Latency: Number("int"), + * // }, * // }, * // VideoDescriptionName: "STRING_VALUE", * // }, @@ -1924,6 +2119,37 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * // Prefix: "STRING_VALUE", * // }, * // }, + * // Av1Settings: { // Av1Settings + * // AfdSignaling: "AUTO" || "FIXED" || "NONE", + * // BufSize: Number("int"), + * // ColorSpaceSettings: { // Av1ColorSpaceSettings + * // ColorSpacePassthroughSettings: {}, + * // Hdr10Settings: { + * // MaxCll: Number("int"), + * // MaxFall: Number("int"), + * // }, + * // Rec601Settings: {}, + * // Rec709Settings: {}, + * // }, + * // FixedAfd: "AFD_0000" || "AFD_0010" || "AFD_0011" || "AFD_0100" || "AFD_1000" || "AFD_1001" || "AFD_1010" || "AFD_1011" || "AFD_1101" || "AFD_1110" || "AFD_1111", + * // FramerateDenominator: Number("int"), // required + * // FramerateNumerator: Number("int"), // required + * // GopSize: Number("double"), + * // GopSizeUnits: "FRAMES" || "SECONDS", + * // Level: "AV1_LEVEL_2" || "AV1_LEVEL_2_1" || "AV1_LEVEL_3" || "AV1_LEVEL_3_1" || "AV1_LEVEL_4" || "AV1_LEVEL_4_1" || "AV1_LEVEL_5" || "AV1_LEVEL_5_1" || "AV1_LEVEL_5_2" || "AV1_LEVEL_5_3" || "AV1_LEVEL_6" || "AV1_LEVEL_6_1" || "AV1_LEVEL_6_2" || "AV1_LEVEL_6_3" || "AV1_LEVEL_AUTO", + * // LookAheadRateControl: "HIGH" || "LOW" || "MEDIUM", + * // MaxBitrate: Number("int"), + * // MinIInterval: Number("int"), + * // ParDenominator: Number("int"), + * // ParNumerator: Number("int"), + * // QvbrQualityLevel: Number("int"), + * // SceneChangeDetect: "DISABLED" || "ENABLED", + * // TimecodeBurninSettings: { + * // FontSize: "EXTRA_SMALL_10" || "LARGE_48" || "MEDIUM_32" || "SMALL_16", // required + * // Position: "BOTTOM_CENTER" || "BOTTOM_LEFT" || "BOTTOM_RIGHT" || "MIDDLE_CENTER" || "MIDDLE_LEFT" || "MIDDLE_RIGHT" || "TOP_CENTER" || "TOP_LEFT" || "TOP_RIGHT", // required + * // Prefix: "STRING_VALUE", + * // }, + * // }, * // }, * // Height: Number("int"), * // Name: "STRING_VALUE", // required @@ -2054,6 +2280,9 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * // Scte35Source: "MANIFEST" || "SEGMENTS", * // }, * // ServerValidation: "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME" || "CHECK_CRYPTOGRAPHY_ONLY", + * // MulticastInputSettings: { // MulticastInputSettings + * // SourceIpAddress: "STRING_VALUE", + * // }, * // }, * // Scte35Pid: Number("int"), * // Smpte2038DataPreference: "IGNORE" || "PREFER", @@ -2077,6 +2306,9 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * // }, * // }, * // }, + * // LogicalInterfaceNames: [ + * // "STRING_VALUE", + * // ], * // }, * // ], * // InputSpecification: { // InputSpecification @@ -2108,17 +2340,15 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met * // "": "STRING_VALUE", * // }, * // Vpc: { // VpcOutputSettingsDescription - * // AvailabilityZones: [ - * // "STRING_VALUE", - * // ], - * // NetworkInterfaceIds: [ - * // "STRING_VALUE", - * // ], - * // SecurityGroupIds: [ - * // "STRING_VALUE", - * // ], + * // AvailabilityZones: "<__listOf__string>", + * // NetworkInterfaceIds: "<__listOf__string>", + * // SecurityGroupIds: "<__listOf__string>", * // SubnetIds: "<__listOf__string>", * // }, + * // AnywhereSettings: { // DescribeAnywhereSettings + * // ChannelPlacementGroupId: "STRING_VALUE", + * // ClusterId: "STRING_VALUE", + * // }, * // }, * // }; * diff --git a/clients/client-medialive/src/commands/UpdateChannelPlacementGroupCommand.ts b/clients/client-medialive/src/commands/UpdateChannelPlacementGroupCommand.ts new file mode 100644 index 000000000000..87ad1d149cee --- /dev/null +++ b/clients/client-medialive/src/commands/UpdateChannelPlacementGroupCommand.ts @@ -0,0 +1,124 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { UpdateChannelPlacementGroupRequest, UpdateChannelPlacementGroupResponse } from "../models/models_2"; +import { + de_UpdateChannelPlacementGroupCommand, + se_UpdateChannelPlacementGroupCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateChannelPlacementGroupCommand}. + */ +export interface UpdateChannelPlacementGroupCommandInput extends UpdateChannelPlacementGroupRequest {} +/** + * @public + * + * The output of {@link UpdateChannelPlacementGroupCommand}. + */ +export interface UpdateChannelPlacementGroupCommandOutput + extends UpdateChannelPlacementGroupResponse, + __MetadataBearer {} + +/** + * Change the settings for a ChannelPlacementGroup. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, UpdateChannelPlacementGroupCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, UpdateChannelPlacementGroupCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // UpdateChannelPlacementGroupRequest + * ChannelPlacementGroupId: "STRING_VALUE", // required + * ClusterId: "STRING_VALUE", // required + * Name: "STRING_VALUE", + * Nodes: [ // __listOf__string + * "STRING_VALUE", + * ], + * }; + * const command = new UpdateChannelPlacementGroupCommand(input); + * const response = await client.send(command); + * // { // UpdateChannelPlacementGroupResponse + * // Arn: "STRING_VALUE", + * // Channels: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // Id: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Nodes: [ + * // "STRING_VALUE", + * // ], + * // State: "UNASSIGNED" || "ASSIGNING" || "ASSIGNED" || "DELETING" || "DELETE_FAILED" || "DELETED" || "UNASSIGNING", + * // }; + * + * ``` + * + * @param UpdateChannelPlacementGroupCommandInput - {@link UpdateChannelPlacementGroupCommandInput} + * @returns {@link UpdateChannelPlacementGroupCommandOutput} + * @see {@link UpdateChannelPlacementGroupCommandInput} for command's `input` shape. + * @see {@link UpdateChannelPlacementGroupCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link UnprocessableEntityException} (client fault) + * Placeholder documentation for UnprocessableEntityException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class UpdateChannelPlacementGroupCommand extends $Command + .classBuilder< + UpdateChannelPlacementGroupCommandInput, + UpdateChannelPlacementGroupCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "UpdateChannelPlacementGroup", {}) + .n("MediaLiveClient", "UpdateChannelPlacementGroupCommand") + .f(void 0, void 0) + .ser(se_UpdateChannelPlacementGroupCommand) + .de(de_UpdateChannelPlacementGroupCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/UpdateClusterCommand.ts b/clients/client-medialive/src/commands/UpdateClusterCommand.ts new file mode 100644 index 000000000000..4fab13f71d9a --- /dev/null +++ b/clients/client-medialive/src/commands/UpdateClusterCommand.ts @@ -0,0 +1,127 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { UpdateClusterRequest, UpdateClusterResponse } from "../models/models_2"; +import { de_UpdateClusterCommand, se_UpdateClusterCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateClusterCommand}. + */ +export interface UpdateClusterCommandInput extends UpdateClusterRequest {} +/** + * @public + * + * The output of {@link UpdateClusterCommand}. + */ +export interface UpdateClusterCommandOutput extends UpdateClusterResponse, __MetadataBearer {} + +/** + * Change the settings for a Cluster. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, UpdateClusterCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, UpdateClusterCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // UpdateClusterRequest + * ClusterId: "STRING_VALUE", // required + * Name: "STRING_VALUE", + * NetworkSettings: { // ClusterNetworkSettingsUpdateRequest + * DefaultRoute: "STRING_VALUE", + * InterfaceMappings: [ // __listOfInterfaceMappingUpdateRequest + * { // InterfaceMappingUpdateRequest + * LogicalInterfaceName: "STRING_VALUE", + * NetworkId: "STRING_VALUE", + * }, + * ], + * }, + * }; + * const command = new UpdateClusterCommand(input); + * const response = await client.send(command); + * // { // UpdateClusterResponse + * // Arn: "STRING_VALUE", + * // ChannelIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterType: "ON_PREMISES", + * // Id: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NetworkSettings: { // ClusterNetworkSettings + * // DefaultRoute: "STRING_VALUE", + * // InterfaceMappings: [ // __listOfInterfaceMapping + * // { // InterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "DELETE_FAILED" || "DELETED", + * // }; + * + * ``` + * + * @param UpdateClusterCommandInput - {@link UpdateClusterCommandInput} + * @returns {@link UpdateClusterCommandOutput} + * @see {@link UpdateClusterCommandInput} for command's `input` shape. + * @see {@link UpdateClusterCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class UpdateClusterCommand extends $Command + .classBuilder< + UpdateClusterCommandInput, + UpdateClusterCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "UpdateCluster", {}) + .n("MediaLiveClient", "UpdateClusterCommand") + .f(void 0, void 0) + .ser(se_UpdateClusterCommand) + .de(de_UpdateClusterCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/UpdateInputCommand.ts b/clients/client-medialive/src/commands/UpdateInputCommand.ts index 7972111b0315..c8d08ef331ae 100644 --- a/clients/client-medialive/src/commands/UpdateInputCommand.ts +++ b/clients/client-medialive/src/commands/UpdateInputCommand.ts @@ -39,6 +39,14 @@ export interface UpdateInputCommandOutput extends UpdateInputResponse, __Metadat * Destinations: [ // __listOfInputDestinationRequest * { // InputDestinationRequest * StreamName: "STRING_VALUE", + * Network: "STRING_VALUE", + * NetworkRoutes: [ // __listOfInputRequestDestinationRoute + * { // InputRequestDestinationRoute + * Cidr: "STRING_VALUE", + * Gateway: "STRING_VALUE", + * }, + * ], + * StaticIpAddress: "STRING_VALUE", * }, * ], * InputDevices: [ // __listOfInputDeviceRequest @@ -78,6 +86,14 @@ export interface UpdateInputCommandOutput extends UpdateInputResponse, __Metadat * }, * ], * }, + * MulticastSettings: { // MulticastSettingsUpdateRequest + * Sources: [ // __listOfMulticastSourceUpdateRequest + * { // MulticastSourceUpdateRequest + * SourceIp: "STRING_VALUE", + * Url: "STRING_VALUE", // required + * }, + * ], + * }, * }; * const command = new UpdateInputCommand(input); * const response = await client.send(command); @@ -96,6 +112,13 @@ export interface UpdateInputCommandOutput extends UpdateInputResponse, __Metadat * // AvailabilityZone: "STRING_VALUE", * // NetworkInterfaceId: "STRING_VALUE", * // }, + * // Network: "STRING_VALUE", + * // NetworkRoutes: [ // __listOfInputDestinationRoute + * // { // InputDestinationRoute + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // Id: "STRING_VALUE", @@ -130,7 +153,7 @@ 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" || "SRT_CALLER", + * // Type: "UDP_PUSH" || "RTP_PUSH" || "RTMP_PUSH" || "RTMP_PULL" || "URL_PULL" || "MP4_FILE" || "MEDIACONNECT" || "INPUT_DEVICE" || "AWS_CDI" || "TS_FILE" || "SRT_CALLER" || "MULTICAST", * // SrtSettings: { // SrtSettings * // SrtCallerSources: [ // __listOfSrtCallerSource * // { // SrtCallerSource @@ -145,6 +168,15 @@ export interface UpdateInputCommandOutput extends UpdateInputResponse, __Metadat * // }, * // ], * // }, + * // InputNetworkLocation: "AWS" || "ON_PREMISE" || "ON_PREMISES", + * // MulticastSettings: { // MulticastSettings + * // Sources: [ // __listOfMulticastSource + * // { // MulticastSource + * // SourceIp: "STRING_VALUE", + * // Url: "STRING_VALUE", // required + * // }, + * // ], + * // }, * // }, * // }; * diff --git a/clients/client-medialive/src/commands/UpdateNetworkCommand.ts b/clients/client-medialive/src/commands/UpdateNetworkCommand.ts new file mode 100644 index 000000000000..006cef23e9d4 --- /dev/null +++ b/clients/client-medialive/src/commands/UpdateNetworkCommand.ts @@ -0,0 +1,130 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { UpdateNetworkRequest, UpdateNetworkResponse } from "../models/models_2"; +import { de_UpdateNetworkCommand, se_UpdateNetworkCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateNetworkCommand}. + */ +export interface UpdateNetworkCommandInput extends UpdateNetworkRequest {} +/** + * @public + * + * The output of {@link UpdateNetworkCommand}. + */ +export interface UpdateNetworkCommandOutput extends UpdateNetworkResponse, __MetadataBearer {} + +/** + * Change the settings for a Network. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, UpdateNetworkCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, UpdateNetworkCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // UpdateNetworkRequest + * IpPools: [ // __listOfIpPoolUpdateRequest + * { // IpPoolUpdateRequest + * Cidr: "STRING_VALUE", + * }, + * ], + * Name: "STRING_VALUE", + * NetworkId: "STRING_VALUE", // required + * Routes: [ // __listOfRouteUpdateRequest + * { // RouteUpdateRequest + * Cidr: "STRING_VALUE", + * Gateway: "STRING_VALUE", + * }, + * ], + * }; + * const command = new UpdateNetworkCommand(input); + * const response = await client.send(command); + * // { // UpdateNetworkResponse + * // Arn: "STRING_VALUE", + * // AssociatedClusterIds: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // Id: "STRING_VALUE", + * // IpPools: [ // __listOfIpPool + * // { // IpPool + * // Cidr: "STRING_VALUE", + * // }, + * // ], + * // Name: "STRING_VALUE", + * // Routes: [ // __listOfRoute + * // { // Route + * // Cidr: "STRING_VALUE", + * // Gateway: "STRING_VALUE", + * // }, + * // ], + * // State: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "IDLE" || "IN_USE" || "UPDATING" || "DELETE_FAILED" || "DELETED", + * // }; + * + * ``` + * + * @param UpdateNetworkCommandInput - {@link UpdateNetworkCommandInput} + * @returns {@link UpdateNetworkCommandOutput} + * @see {@link UpdateNetworkCommandInput} for command's `input` shape. + * @see {@link UpdateNetworkCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class UpdateNetworkCommand extends $Command + .classBuilder< + UpdateNetworkCommandInput, + UpdateNetworkCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "UpdateNetwork", {}) + .n("MediaLiveClient", "UpdateNetworkCommand") + .f(void 0, void 0) + .ser(se_UpdateNetworkCommand) + .de(de_UpdateNetworkCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/UpdateNodeCommand.ts b/clients/client-medialive/src/commands/UpdateNodeCommand.ts new file mode 100644 index 000000000000..09b1af402e88 --- /dev/null +++ b/clients/client-medialive/src/commands/UpdateNodeCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { UpdateNodeRequest, UpdateNodeResponse } from "../models/models_2"; +import { de_UpdateNodeCommand, se_UpdateNodeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateNodeCommand}. + */ +export interface UpdateNodeCommandInput extends UpdateNodeRequest {} +/** + * @public + * + * The output of {@link UpdateNodeCommand}. + */ +export interface UpdateNodeCommandOutput extends UpdateNodeResponse, __MetadataBearer {} + +/** + * Change the settings for a Node. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, UpdateNodeCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, UpdateNodeCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // UpdateNodeRequest + * ClusterId: "STRING_VALUE", // required + * Name: "STRING_VALUE", + * NodeId: "STRING_VALUE", // required + * Role: "BACKUP" || "ACTIVE", + * }; + * const command = new UpdateNodeCommand(input); + * const response = await client.send(command); + * // { // UpdateNodeResponse + * // Arn: "STRING_VALUE", + * // ChannelPlacementGroups: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // ConnectionState: "CONNECTED" || "DISCONNECTED", + * // Id: "STRING_VALUE", + * // InstanceArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NodeInterfaceMappings: [ // __listOfNodeInterfaceMapping + * // { // NodeInterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkInterfaceMode: "NAT" || "BRIDGE", + * // PhysicalInterfaceName: "STRING_VALUE", + * // }, + * // ], + * // Role: "BACKUP" || "ACTIVE", + * // State: "CREATED" || "REGISTERING" || "READY_TO_ACTIVATE" || "REGISTRATION_FAILED" || "ACTIVATION_FAILED" || "ACTIVE" || "READY" || "IN_USE" || "DEREGISTERING" || "DRAINING" || "DEREGISTRATION_FAILED" || "DEREGISTERED", + * // }; + * + * ``` + * + * @param UpdateNodeCommandInput - {@link UpdateNodeCommandInput} + * @returns {@link UpdateNodeCommandOutput} + * @see {@link UpdateNodeCommandInput} for command's `input` shape. + * @see {@link UpdateNodeCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class UpdateNodeCommand extends $Command + .classBuilder< + UpdateNodeCommandInput, + UpdateNodeCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "UpdateNode", {}) + .n("MediaLiveClient", "UpdateNodeCommand") + .f(void 0, void 0) + .ser(se_UpdateNodeCommand) + .de(de_UpdateNodeCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/UpdateNodeStateCommand.ts b/clients/client-medialive/src/commands/UpdateNodeStateCommand.ts new file mode 100644 index 000000000000..797d438cb3a8 --- /dev/null +++ b/clients/client-medialive/src/commands/UpdateNodeStateCommand.ts @@ -0,0 +1,123 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient"; +import { UpdateNodeStateRequest, UpdateNodeStateResponse } from "../models/models_2"; +import { de_UpdateNodeStateCommand, se_UpdateNodeStateCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateNodeStateCommand}. + */ +export interface UpdateNodeStateCommandInput extends UpdateNodeStateRequest {} +/** + * @public + * + * The output of {@link UpdateNodeStateCommand}. + */ +export interface UpdateNodeStateCommandOutput extends UpdateNodeStateResponse, __MetadataBearer {} + +/** + * Update the state of a node. + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { MediaLiveClient, UpdateNodeStateCommand } from "@aws-sdk/client-medialive"; // ES Modules import + * // const { MediaLiveClient, UpdateNodeStateCommand } = require("@aws-sdk/client-medialive"); // CommonJS import + * const client = new MediaLiveClient(config); + * const input = { // UpdateNodeStateRequest + * ClusterId: "STRING_VALUE", // required + * NodeId: "STRING_VALUE", // required + * State: "ACTIVE" || "DRAINING", + * }; + * const command = new UpdateNodeStateCommand(input); + * const response = await client.send(command); + * // { // UpdateNodeStateResponse + * // Arn: "STRING_VALUE", + * // ChannelPlacementGroups: [ // __listOf__string + * // "STRING_VALUE", + * // ], + * // ClusterId: "STRING_VALUE", + * // ConnectionState: "CONNECTED" || "DISCONNECTED", + * // Id: "STRING_VALUE", + * // InstanceArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // NodeInterfaceMappings: [ // __listOfNodeInterfaceMapping + * // { // NodeInterfaceMapping + * // LogicalInterfaceName: "STRING_VALUE", + * // NetworkInterfaceMode: "NAT" || "BRIDGE", + * // PhysicalInterfaceName: "STRING_VALUE", + * // }, + * // ], + * // Role: "BACKUP" || "ACTIVE", + * // State: "CREATED" || "REGISTERING" || "READY_TO_ACTIVATE" || "REGISTRATION_FAILED" || "ACTIVATION_FAILED" || "ACTIVE" || "READY" || "IN_USE" || "DEREGISTERING" || "DRAINING" || "DEREGISTRATION_FAILED" || "DEREGISTERED", + * // }; + * + * ``` + * + * @param UpdateNodeStateCommandInput - {@link UpdateNodeStateCommandInput} + * @returns {@link UpdateNodeStateCommandOutput} + * @see {@link UpdateNodeStateCommandInput} for command's `input` shape. + * @see {@link UpdateNodeStateCommandOutput} for command's `response` shape. + * @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape. + * + * @throws {@link BadGatewayException} (server fault) + * Placeholder documentation for BadGatewayException + * + * @throws {@link BadRequestException} (client fault) + * Placeholder documentation for BadRequestException + * + * @throws {@link ConflictException} (client fault) + * Placeholder documentation for ConflictException + * + * @throws {@link ForbiddenException} (client fault) + * Placeholder documentation for ForbiddenException + * + * @throws {@link GatewayTimeoutException} (server fault) + * Placeholder documentation for GatewayTimeoutException + * + * @throws {@link InternalServerErrorException} (server fault) + * Placeholder documentation for InternalServerErrorException + * + * @throws {@link TooManyRequestsException} (client fault) + * Placeholder documentation for TooManyRequestsException + * + * @throws {@link UnprocessableEntityException} (client fault) + * Placeholder documentation for UnprocessableEntityException + * + * @throws {@link MediaLiveServiceException} + *

Base exception class for all service exceptions from MediaLive service.

+ * + * @public + */ +export class UpdateNodeStateCommand extends $Command + .classBuilder< + UpdateNodeStateCommandInput, + UpdateNodeStateCommandOutput, + MediaLiveClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: MediaLiveClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("MediaLive", "UpdateNodeState", {}) + .n("MediaLiveClient", "UpdateNodeStateCommand") + .f(void 0, void 0) + .ser(se_UpdateNodeStateCommand) + .de(de_UpdateNodeStateCommand) + .build() {} diff --git a/clients/client-medialive/src/commands/UpdateReservationCommand.ts b/clients/client-medialive/src/commands/UpdateReservationCommand.ts index 2ec578d80020..7a7b17c89cf9 100644 --- a/clients/client-medialive/src/commands/UpdateReservationCommand.ts +++ b/clients/client-medialive/src/commands/UpdateReservationCommand.ts @@ -66,7 +66,7 @@ export interface UpdateReservationCommandOutput extends UpdateReservationRespons * // ReservationId: "STRING_VALUE", * // ResourceSpecification: { // ReservationResourceSpecification * // ChannelClass: "STANDARD" || "SINGLE_PIPELINE", - * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK", + * // Codec: "MPEG2" || "AVC" || "HEVC" || "AUDIO" || "LINK" || "AV1", * // MaximumBitrate: "MAX_10_MBPS" || "MAX_20_MBPS" || "MAX_50_MBPS", * // MaximumFramerate: "MAX_30_FPS" || "MAX_60_FPS", * // Resolution: "SD" || "HD" || "FHD" || "UHD", diff --git a/clients/client-medialive/src/commands/index.ts b/clients/client-medialive/src/commands/index.ts index 9f378b1ac48c..b790ce177796 100644 --- a/clients/client-medialive/src/commands/index.ts +++ b/clients/client-medialive/src/commands/index.ts @@ -7,38 +7,51 @@ export * from "./BatchUpdateScheduleCommand"; export * from "./CancelInputDeviceTransferCommand"; export * from "./ClaimDeviceCommand"; export * from "./CreateChannelCommand"; +export * from "./CreateChannelPlacementGroupCommand"; export * from "./CreateCloudWatchAlarmTemplateCommand"; export * from "./CreateCloudWatchAlarmTemplateGroupCommand"; +export * from "./CreateClusterCommand"; export * from "./CreateEventBridgeRuleTemplateCommand"; export * from "./CreateEventBridgeRuleTemplateGroupCommand"; export * from "./CreateInputCommand"; export * from "./CreateInputSecurityGroupCommand"; export * from "./CreateMultiplexCommand"; export * from "./CreateMultiplexProgramCommand"; +export * from "./CreateNetworkCommand"; +export * from "./CreateNodeCommand"; +export * from "./CreateNodeRegistrationScriptCommand"; export * from "./CreatePartnerInputCommand"; export * from "./CreateSignalMapCommand"; export * from "./CreateTagsCommand"; export * from "./DeleteChannelCommand"; +export * from "./DeleteChannelPlacementGroupCommand"; export * from "./DeleteCloudWatchAlarmTemplateCommand"; export * from "./DeleteCloudWatchAlarmTemplateGroupCommand"; +export * from "./DeleteClusterCommand"; export * from "./DeleteEventBridgeRuleTemplateCommand"; export * from "./DeleteEventBridgeRuleTemplateGroupCommand"; export * from "./DeleteInputCommand"; export * from "./DeleteInputSecurityGroupCommand"; export * from "./DeleteMultiplexCommand"; export * from "./DeleteMultiplexProgramCommand"; +export * from "./DeleteNetworkCommand"; +export * from "./DeleteNodeCommand"; export * from "./DeleteReservationCommand"; export * from "./DeleteScheduleCommand"; export * from "./DeleteSignalMapCommand"; export * from "./DeleteTagsCommand"; export * from "./DescribeAccountConfigurationCommand"; export * from "./DescribeChannelCommand"; +export * from "./DescribeChannelPlacementGroupCommand"; +export * from "./DescribeClusterCommand"; export * from "./DescribeInputCommand"; export * from "./DescribeInputDeviceCommand"; export * from "./DescribeInputDeviceThumbnailCommand"; export * from "./DescribeInputSecurityGroupCommand"; export * from "./DescribeMultiplexCommand"; export * from "./DescribeMultiplexProgramCommand"; +export * from "./DescribeNetworkCommand"; +export * from "./DescribeNodeCommand"; export * from "./DescribeOfferingCommand"; export * from "./DescribeReservationCommand"; export * from "./DescribeScheduleCommand"; @@ -48,9 +61,11 @@ export * from "./GetCloudWatchAlarmTemplateGroupCommand"; export * from "./GetEventBridgeRuleTemplateCommand"; export * from "./GetEventBridgeRuleTemplateGroupCommand"; export * from "./GetSignalMapCommand"; +export * from "./ListChannelPlacementGroupsCommand"; export * from "./ListChannelsCommand"; export * from "./ListCloudWatchAlarmTemplateGroupsCommand"; export * from "./ListCloudWatchAlarmTemplatesCommand"; +export * from "./ListClustersCommand"; export * from "./ListEventBridgeRuleTemplateGroupsCommand"; export * from "./ListEventBridgeRuleTemplatesCommand"; export * from "./ListInputDeviceTransfersCommand"; @@ -59,6 +74,8 @@ export * from "./ListInputSecurityGroupsCommand"; export * from "./ListInputsCommand"; export * from "./ListMultiplexProgramsCommand"; export * from "./ListMultiplexesCommand"; +export * from "./ListNetworksCommand"; +export * from "./ListNodesCommand"; export * from "./ListOfferingsCommand"; export * from "./ListReservationsCommand"; export * from "./ListSignalMapsCommand"; @@ -81,8 +98,10 @@ export * from "./TransferInputDeviceCommand"; export * from "./UpdateAccountConfigurationCommand"; export * from "./UpdateChannelClassCommand"; export * from "./UpdateChannelCommand"; +export * from "./UpdateChannelPlacementGroupCommand"; export * from "./UpdateCloudWatchAlarmTemplateCommand"; export * from "./UpdateCloudWatchAlarmTemplateGroupCommand"; +export * from "./UpdateClusterCommand"; export * from "./UpdateEventBridgeRuleTemplateCommand"; export * from "./UpdateEventBridgeRuleTemplateGroupCommand"; export * from "./UpdateInputCommand"; @@ -90,4 +109,7 @@ export * from "./UpdateInputDeviceCommand"; export * from "./UpdateInputSecurityGroupCommand"; export * from "./UpdateMultiplexCommand"; export * from "./UpdateMultiplexProgramCommand"; +export * from "./UpdateNetworkCommand"; +export * from "./UpdateNodeCommand"; +export * from "./UpdateNodeStateCommand"; export * from "./UpdateReservationCommand"; diff --git a/clients/client-medialive/src/models/models_0.ts b/clients/client-medialive/src/models/models_0.ts index bcb3e5f93aac..661d0ee2264c 100644 --- a/clients/client-medialive/src/models/models_0.ts +++ b/clients/client-medialive/src/models/models_0.ts @@ -2682,6 +2682,24 @@ export const ChannelPipelineIdToRestart = { */ export type ChannelPipelineIdToRestart = (typeof ChannelPipelineIdToRestart)[keyof typeof ChannelPipelineIdToRestart]; +/** + * Elemental anywhere settings + * @public + */ +export interface DescribeAnywhereSettings { + /** + * The ID of the channel placement group for the channel. + * @public + */ + ChannelPlacementGroupId?: string; + + /** + * The ID of the cluster for the channel. + * @public + */ + ClusterId?: string; +} + /** * @public * @enum @@ -2785,6 +2803,30 @@ export interface OutputDestinationSettings { Username?: string; } +/** + * Placeholder documentation for SrtOutputDestinationSettings + * @public + */ +export interface SrtOutputDestinationSettings { + /** + * Arn used to extract the password from Secrets Manager + * @public + */ + EncryptionPassphraseSecretArn?: string; + + /** + * Stream id for SRT destinations (URLs of type srt://) + * @public + */ + StreamId?: string; + + /** + * A URL specifying a destination + * @public + */ + Url?: string; +} + /** * Placeholder documentation for OutputDestination * @public @@ -2813,6 +2855,12 @@ export interface OutputDestination { * @public */ Settings?: OutputDestinationSettings[]; + + /** + * SRT settings for an SRT output; one destination for each redundant encoder. + * @public + */ + SrtSettings?: SrtOutputDestinationSettings[]; } /** @@ -3036,6 +3084,18 @@ export interface HlsInputSettings { Scte35Source?: HlsScte35SourceType; } +/** + * Multicast-specific input settings. + * @public + */ +export interface MulticastInputSettings { + /** + * Optionally, a source ip address to filter by for Source-specific Multicast (SSM) + * @public + */ + SourceIpAddress?: string; +} + /** * @public * @enum @@ -3067,6 +3127,12 @@ export interface NetworkInputSettings { * @public */ ServerValidation?: NetworkInputServerValidation; + + /** + * Specifies multicast input settings when the uri is for a multicast event. + * @public + */ + MulticastInputSettings?: MulticastInputSettings; } /** @@ -3340,6 +3406,12 @@ export interface InputAttachment { * @public */ InputSettings?: InputSettings; + + /** + * Optional assignment of an input to a logical interface on the Node. Only applies to on premises channels. + * @public + */ + LogicalInterfaceNames?: string[]; } /** @@ -3635,6 +3707,12 @@ export interface ChannelSummary { * @public */ Vpc?: VpcOutputSettingsDescription; + + /** + * AnywhereSettings settings for this channel. + * @public + */ + AnywhereSettings?: DescribeAnywhereSettings; } /** @@ -3913,2542 +3991,2608 @@ export interface ColorCorrection { } /** - * Placeholder documentation for EventBridgeRuleTemplateGroupSummary * @public + * @enum */ -export interface EventBridgeRuleTemplateGroupSummary { - /** - * An eventbridge rule template group's ARN (Amazon Resource Name) - * @public - */ - Arn: string | undefined; +export const ChannelPlacementGroupState = { + ASSIGNED: "ASSIGNED", + ASSIGNING: "ASSIGNING", + DELETED: "DELETED", + DELETE_FAILED: "DELETE_FAILED", + DELETING: "DELETING", + UNASSIGNED: "UNASSIGNED", + UNASSIGNING: "UNASSIGNING", +} as const; + +/** + * @public + */ +export type ChannelPlacementGroupState = (typeof ChannelPlacementGroupState)[keyof typeof ChannelPlacementGroupState]; +/** + * Contains the response for ListChannelPlacementGroups + * @public + */ +export interface DescribeChannelPlacementGroupSummary { /** - * Placeholder documentation for __timestampIso8601 + * The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created. * @public */ - CreatedAt: Date | undefined; + Arn?: string; /** - * A resource's optional description. + * Used in ListChannelPlacementGroupsResult * @public */ - Description?: string; + Channels?: string[]; /** - * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + * The ID of the Cluster that the Node belongs to. * @public */ - Id: string | undefined; + ClusterId?: string; /** - * Placeholder documentation for __timestampIso8601 + * The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN. * @public */ - ModifiedAt?: Date; + Id?: string; /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * The name that you specified for the ChannelPlacementGroup. * @public */ - Name: string | undefined; + Name?: string; /** - * Represents the tags associated with a resource. + * An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup. * @public */ - Tags?: Record; + Nodes?: string[]; /** - * The number of templates in a group. + * The current state of the ChannelPlacementGroup. * @public */ - TemplateCount: number | undefined; + State?: ChannelPlacementGroupState; } /** * @public * @enum */ -export const EventBridgeRuleTemplateEventType = { - MEDIACONNECT_ALERT: "MEDIACONNECT_ALERT", - MEDIACONNECT_FLOW_STATUS_CHANGE: "MEDIACONNECT_FLOW_STATUS_CHANGE", - MEDIACONNECT_OUTPUT_HEALTH: "MEDIACONNECT_OUTPUT_HEALTH", - MEDIACONNECT_SOURCE_HEALTH: "MEDIACONNECT_SOURCE_HEALTH", - MEDIALIVE_CHANNEL_ALERT: "MEDIALIVE_CHANNEL_ALERT", - MEDIALIVE_CHANNEL_INPUT_CHANGE: "MEDIALIVE_CHANNEL_INPUT_CHANGE", - MEDIALIVE_CHANNEL_STATE_CHANGE: "MEDIALIVE_CHANNEL_STATE_CHANGE", - MEDIALIVE_MULTIPLEX_ALERT: "MEDIALIVE_MULTIPLEX_ALERT", - MEDIALIVE_MULTIPLEX_STATE_CHANGE: "MEDIALIVE_MULTIPLEX_STATE_CHANGE", - MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION: "MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION", - MEDIAPACKAGE_INPUT_NOTIFICATION: "MEDIAPACKAGE_INPUT_NOTIFICATION", - MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION: "MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION", - SIGNAL_MAP_ACTIVE_ALARM: "SIGNAL_MAP_ACTIVE_ALARM", +export const ClusterType = { + ON_PREMISES: "ON_PREMISES", } as const; /** * @public */ -export type EventBridgeRuleTemplateEventType = - (typeof EventBridgeRuleTemplateEventType)[keyof typeof EventBridgeRuleTemplateEventType]; +export type ClusterType = (typeof ClusterType)[keyof typeof ClusterType]; /** - * Placeholder documentation for EventBridgeRuleTemplateSummary + * Used in ClusterNetworkSettings * @public */ -export interface EventBridgeRuleTemplateSummary { +export interface InterfaceMapping { /** - * An eventbridge rule template's ARN (Amazon Resource Name) + * The logical name for one interface (on every Node) that handles a specific type of traffic. We recommend that the name hints at the physical interface it applies to. For example, it could refer to the traffic that the physical interface handles. For example, my-Inputs-Interface. * @public */ - Arn: string | undefined; + LogicalInterfaceName?: string; /** - * Placeholder documentation for __timestampIso8601 + * The ID of the network that you want to connect to the specified logicalInterfaceName. * @public */ - CreatedAt: Date | undefined; + NetworkId?: string; +} +/** + * Used in DescribeClusterResult, DescribeClusterSummary, UpdateClusterResult. + * @public + */ +export interface ClusterNetworkSettings { /** - * A resource's optional description. + * The network interface that is the default route for traffic to and from the node. MediaLive Anywhere uses this default when the destination for the traffic isn't covered by the route table for any of the networks. Specify the value of the appropriate logicalInterfaceName parameter that you create in the interfaceMappings. * @public */ - Description?: string; + DefaultRoute?: string; /** - * The number of targets configured to send matching events. + * An array of interfaceMapping objects for this Cluster. Each mapping logically connects one interface on the nodes with one Network. You need only one mapping for each interface because all the Nodes share the mapping. * @public */ - EventTargetCount: number | undefined; + InterfaceMappings?: InterfaceMapping[]; +} + +/** + * @public + * @enum + */ +export const ClusterState = { + ACTIVE: "ACTIVE", + CREATE_FAILED: "CREATE_FAILED", + CREATING: "CREATING", + DELETED: "DELETED", + DELETE_FAILED: "DELETE_FAILED", + DELETING: "DELETING", +} as const; + +/** + * @public + */ +export type ClusterState = (typeof ClusterState)[keyof typeof ClusterState]; +/** + * Used in ListClustersResult. + * @public + */ +export interface DescribeClusterSummary { /** - * The type of event to match with the rule. + * The ARN of this Cluster. It is automatically assigned when the Cluster is created. * @public */ - EventType: EventBridgeRuleTemplateEventType | undefined; + Arn?: string; /** - * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + * An array of the IDs of the Channels that are associated with this Cluster. One Channel is associated with the Cluster as follows: A Channel belongs to a ChannelPlacementGroup. A ChannelPlacementGroup is attached to a Node. A Node belongs to a Cluster. * @public */ - GroupId: string | undefined; + ChannelIds?: string[]; /** - * An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + * The hardware type for the Cluster. * @public */ - Id: string | undefined; + ClusterType?: ClusterType; /** - * Placeholder documentation for __timestampIso8601 + * The ID of the Cluster. Unique in the AWS account. The ID is the resource-id portion of the ARN. * @public */ - ModifiedAt?: Date; + Id?: string; /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * The ARN of the IAM role for the Node in this Cluster. Any Nodes that are associated with this Cluster assume this role. The role gives permissions to the operations that you expect these Node to perform. * @public */ - Name: string | undefined; + InstanceRoleArn?: string; /** - * Represents the tags associated with a resource. + * The name that you specified for the Cluster. * @public */ - Tags?: Record; + Name?: string; + + /** + * Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with. + * @public + */ + NetworkSettings?: ClusterNetworkSettings; + + /** + * The current state of the Cluster. + * @public + */ + State?: ClusterState; } /** - * The target to which to send matching events. + * Used in DescribeNetworkResult, DescribeNetworkSummary, UpdateNetworkResult. * @public */ -export interface EventBridgeRuleTemplateTarget { +export interface IpPool { /** - * Target ARNs must be either an SNS topic or CloudWatch log group. + * A CIDR block of IP addresses that are reserved for MediaLive Anywhere. * @public */ - Arn: string | undefined; + Cidr?: string; +} + +/** + * Used in DescribeNetworkResult, DescribeNetworkSummary, UpdateNetworkResult. + * @public + */ +export interface Route { + /** + * A CIDR block for one Route. + * @public + */ + Cidr?: string; + + /** + * The IP address of the Gateway for this route, if applicable. + * @public + */ + Gateway?: string; } /** * @public * @enum */ -export const HlsAdMarkers = { - ADOBE: "ADOBE", - ELEMENTAL: "ELEMENTAL", - ELEMENTAL_SCTE35: "ELEMENTAL_SCTE35", +export const NetworkState = { + ACTIVE: "ACTIVE", + CREATE_FAILED: "CREATE_FAILED", + CREATING: "CREATING", + DELETED: "DELETED", + DELETE_FAILED: "DELETE_FAILED", + DELETING: "DELETING", + IDLE: "IDLE", + IN_USE: "IN_USE", + UPDATING: "UPDATING", } as const; /** * @public */ -export type HlsAdMarkers = (typeof HlsAdMarkers)[keyof typeof HlsAdMarkers]; +export type NetworkState = (typeof NetworkState)[keyof typeof NetworkState]; /** - * The properties for a VPC type input destination. + * Used in ListNetworksResult. * @public */ -export interface InputDestinationVpc { +export interface DescribeNetworkSummary { /** - * The availability zone of the Input destination. + * The ARN of this Network. It is automatically assigned when the Network is created. * @public */ - AvailabilityZone?: string; + Arn?: string; /** - * The network interface ID of the Input destination in the VPC. + * Placeholder documentation for __listOf__string * @public */ - NetworkInterfaceId?: string; -} + AssociatedClusterIds?: string[]; -/** - * The settings for a PUSH type input. - * @public - */ -export interface InputDestination { /** - * The system-generated static IP address of endpoint. - * It remains fixed for the lifetime of the input. + * The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN. * @public */ - Ip?: string; + Id?: string; /** - * The port number for the input. + * An array of IpPools in your organization's network that identify a collection of IP addresses in your organization's network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block. * @public */ - Port?: string; + IpPools?: IpPool[]; /** - * This represents the endpoint that the customer stream will be - * pushed to. + * The name that you specified for this Network. * @public */ - Url?: string; + Name?: string; /** - * The properties for a VPC type input destination. + * An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic. * @public */ - Vpc?: InputDestinationVpc; + Routes?: Route[]; + + /** + * The current state of the Network. Only MediaLive Anywhere can change the state. + * @public + */ + State?: NetworkState; } /** * @public * @enum */ -export const InputClass = { - SINGLE_PIPELINE: "SINGLE_PIPELINE", - STANDARD: "STANDARD", +export const NodeConnectionState = { + CONNECTED: "CONNECTED", + DISCONNECTED: "DISCONNECTED", } as const; /** * @public */ -export type InputClass = (typeof InputClass)[keyof typeof InputClass]; - -/** - * Settings for an input device. - * @public - */ -export interface InputDeviceSettings { - /** - * The unique ID for the device. - * @public - */ - Id?: string; -} +export type NodeConnectionState = (typeof NodeConnectionState)[keyof typeof NodeConnectionState]; /** * @public * @enum */ -export const InputSourceType = { - DYNAMIC: "DYNAMIC", - STATIC: "STATIC", +export const NetworkInterfaceMode = { + BRIDGE: "BRIDGE", + NAT: "NAT", } as const; /** * @public */ -export type InputSourceType = (typeof InputSourceType)[keyof typeof InputSourceType]; +export type NetworkInterfaceMode = (typeof NetworkInterfaceMode)[keyof typeof NetworkInterfaceMode]; /** - * The settings for a MediaConnect Flow. + * A mapping that's used to pair a logical network interface name on a Node with the physical interface name exposed in the operating system. * @public */ -export interface MediaConnectFlow { +export interface NodeInterfaceMapping { /** - * The unique ARN of the MediaConnect Flow being used as a source. + * A uniform logical interface name to address in a MediaLive channel configuration. * @public */ - FlowArn?: string; -} + LogicalInterfaceName?: string; -/** - * The settings for a PULL type input. - * @public - */ -export interface InputSource { /** - * The key used to extract the password from EC2 Parameter store. + * Used in NodeInterfaceMapping and NodeInterfaceMappingCreateRequest * @public */ - PasswordParam?: string; + NetworkInterfaceMode?: NetworkInterfaceMode; /** - * This represents the customer's source URL where stream is - * pulled from. - * @public - */ - Url?: string; - - /** - * The username for the input source. + * The name of the physical interface on the hardware that will be running Elemental anywhere. * @public */ - Username?: string; + PhysicalInterfaceName?: string; } /** * @public * @enum */ -export const Algorithm = { - AES128: "AES128", - AES192: "AES192", - AES256: "AES256", +export const NodeRole = { + ACTIVE: "ACTIVE", + BACKUP: "BACKUP", } as const; /** * @public */ -export type Algorithm = (typeof Algorithm)[keyof typeof Algorithm]; +export type NodeRole = (typeof NodeRole)[keyof typeof NodeRole]; /** - * The decryption settings for the SRT caller source. Present only if the source has decryption enabled. * @public + * @enum */ -export interface SrtCallerDecryption { +export const NodeState = { + ACTIVATION_FAILED: "ACTIVATION_FAILED", + ACTIVE: "ACTIVE", + CREATED: "CREATED", + DEREGISTERED: "DEREGISTERED", + DEREGISTERING: "DEREGISTERING", + DEREGISTRATION_FAILED: "DEREGISTRATION_FAILED", + DRAINING: "DRAINING", + IN_USE: "IN_USE", + READY: "READY", + READY_TO_ACTIVATE: "READY_TO_ACTIVATE", + REGISTERING: "REGISTERING", + REGISTRATION_FAILED: "REGISTRATION_FAILED", +} as const; + +/** + * @public + */ +export type NodeState = (typeof NodeState)[keyof typeof NodeState]; + +/** + * Placeholder documentation for DescribeNodeSummary + * @public + */ +export interface DescribeNodeSummary { /** - * The algorithm used to encrypt content. + * The ARN of the Node. It is automatically assigned when the Node is created. * @public */ - Algorithm?: Algorithm; + Arn?: string; /** - * 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. + * An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups. * @public */ - PassphraseSecretArn?: string; -} + ChannelPlacementGroups?: 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. + * The ID of the Cluster that the Node belongs to. * @public */ - Decryption?: SrtCallerDecryption; + ClusterId?: string; /** - * The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. + * The current connection state of the Node. * @public */ - MinimumLatency?: number; + ConnectionState?: NodeConnectionState; /** - * The IP address at the upstream system (the listener) that MediaLive (the caller) connects to. + * The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN. * @public */ - SrtListenerAddress?: string; + Id?: string; /** - * The port at the upstream system (the listener) that MediaLive (the caller) connects to. + * The EC2 ARN of the Instance associated with the Node. * @public */ - SrtListenerPort?: string; + InstanceArn?: string; /** - * The stream ID, if the upstream system uses this identifier. + * At the routing layer will get it from the callerId/context for use with bring your own device. * @public */ - StreamId?: string; -} + ManagedInstanceId?: string; -/** - * The configured sources for this SRT input. - * @public - */ -export interface SrtSettings { /** - * Placeholder documentation for __listOfSrtCallerSource + * The name that you specified for the Node. * @public */ - SrtCallerSources?: SrtCallerSource[]; -} + Name?: string; -/** - * @public - * @enum - */ -export const InputState = { - ATTACHED: "ATTACHED", - CREATING: "CREATING", - DELETED: "DELETED", - DELETING: "DELETING", - DETACHED: "DETACHED", -} as const; + /** + * Documentation update needed + * @public + */ + NodeInterfaceMappings?: NodeInterfaceMapping[]; -/** - * @public - */ -export type InputState = (typeof InputState)[keyof typeof InputState]; + /** + * The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails. + * @public + */ + Role?: NodeRole; -/** - * @public - * @enum - */ -export const InputType = { - AWS_CDI: "AWS_CDI", - INPUT_DEVICE: "INPUT_DEVICE", - MEDIACONNECT: "MEDIACONNECT", - MP4_FILE: "MP4_FILE", - 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", -} as const; + /** + * The current state of the Node. + * @public + */ + State?: NodeState; +} /** + * Placeholder documentation for EventBridgeRuleTemplateGroupSummary * @public */ -export type InputType = (typeof InputType)[keyof typeof InputType]; +export interface EventBridgeRuleTemplateGroupSummary { + /** + * An eventbridge rule template group's ARN (Amazon Resource Name) + * @public + */ + Arn: string | undefined; -/** - * Placeholder documentation for Input - * @public - */ -export interface Input { /** - * The Unique ARN of the input (generated, immutable). + * Placeholder documentation for __timestampIso8601 * @public */ - Arn?: string; + CreatedAt: Date | undefined; /** - * A list of channel IDs that that input is attached to (currently an input can only be attached to one channel). + * A resource's optional description. * @public */ - AttachedChannels?: string[]; + Description?: string; /** - * A list of the destinations of the input (PUSH-type). + * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` * @public */ - Destinations?: InputDestination[]; + Id: string | undefined; /** - * The generated ID of the input (unique for user account, immutable). + * Placeholder documentation for __timestampIso8601 * @public */ - Id?: string; + ModifiedAt?: Date; /** - * STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails. - * SINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input. + * A resource's name. Names must be unique within the scope of a resource type in a specific region. * @public */ - InputClass?: InputClass; + Name: string | undefined; /** - * Settings for the input devices. + * Represents the tags associated with a resource. * @public */ - InputDevices?: InputDeviceSettings[]; + Tags?: Record; /** - * A list of IDs for all Inputs which are partners of this one. + * The number of templates in a group. * @public */ - InputPartnerIds?: string[]; + TemplateCount: number | undefined; +} + +/** + * @public + * @enum + */ +export const EventBridgeRuleTemplateEventType = { + MEDIACONNECT_ALERT: "MEDIACONNECT_ALERT", + MEDIACONNECT_FLOW_STATUS_CHANGE: "MEDIACONNECT_FLOW_STATUS_CHANGE", + MEDIACONNECT_OUTPUT_HEALTH: "MEDIACONNECT_OUTPUT_HEALTH", + MEDIACONNECT_SOURCE_HEALTH: "MEDIACONNECT_SOURCE_HEALTH", + MEDIALIVE_CHANNEL_ALERT: "MEDIALIVE_CHANNEL_ALERT", + MEDIALIVE_CHANNEL_INPUT_CHANGE: "MEDIALIVE_CHANNEL_INPUT_CHANGE", + MEDIALIVE_CHANNEL_STATE_CHANGE: "MEDIALIVE_CHANNEL_STATE_CHANGE", + MEDIALIVE_MULTIPLEX_ALERT: "MEDIALIVE_MULTIPLEX_ALERT", + MEDIALIVE_MULTIPLEX_STATE_CHANGE: "MEDIALIVE_MULTIPLEX_STATE_CHANGE", + MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION: "MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION", + MEDIAPACKAGE_INPUT_NOTIFICATION: "MEDIAPACKAGE_INPUT_NOTIFICATION", + MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION: "MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION", + SIGNAL_MAP_ACTIVE_ALARM: "SIGNAL_MAP_ACTIVE_ALARM", +} as const; + +/** + * @public + */ +export type EventBridgeRuleTemplateEventType = + (typeof EventBridgeRuleTemplateEventType)[keyof typeof EventBridgeRuleTemplateEventType]; +/** + * Placeholder documentation for EventBridgeRuleTemplateSummary + * @public + */ +export interface EventBridgeRuleTemplateSummary { /** - * Certain pull input sources can be dynamic, meaning that they can have their URL's dynamically changes - * during input switch actions. Presently, this functionality only works with MP4_FILE and TS_FILE inputs. + * An eventbridge rule template's ARN (Amazon Resource Name) * @public */ - InputSourceType?: InputSourceType; + Arn: string | undefined; /** - * A list of MediaConnect Flows for this input. + * Placeholder documentation for __timestampIso8601 * @public */ - MediaConnectFlows?: MediaConnectFlow[]; + CreatedAt: Date | undefined; /** - * The user-assigned name (This is a mutable value). + * A resource's optional description. * @public */ - Name?: string; + Description?: string; /** - * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. + * The number of targets configured to send matching events. * @public */ - RoleArn?: string; + EventTargetCount: number | undefined; /** - * A list of IDs for all the Input Security Groups attached to the input. + * The type of event to match with the rule. * @public */ - SecurityGroups?: string[]; + EventType: EventBridgeRuleTemplateEventType | undefined; /** - * A list of the sources of the input (PULL-type). + * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` * @public */ - Sources?: InputSource[]; + GroupId: string | undefined; /** - * Placeholder documentation for InputState + * An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` * @public */ - State?: InputState; + Id: string | undefined; /** - * A collection of key-value pairs. + * Placeholder documentation for __timestampIso8601 * @public */ - Tags?: Record; + ModifiedAt?: Date; /** - * The different types of inputs that AWS Elemental MediaLive supports. + * A resource's name. Names must be unique within the scope of a resource type in a specific region. * @public */ - Type?: InputType; + Name: string | undefined; /** - * The settings associated with an SRT input. + * Represents the tags associated with a resource. * @public */ - SrtSettings?: SrtSettings; + Tags?: Record; } /** - * Endpoint settings for a PUSH type input. + * The target to which to send matching events. * @public */ -export interface InputDestinationRequest { +export interface EventBridgeRuleTemplateTarget { /** - * A unique name for the location the RTMP stream is being pushed - * to. + * Target ARNs must be either an SNS topic or CloudWatch log group. * @public */ - StreamName?: string; + Arn: string | undefined; } /** * @public * @enum */ -export const InputDeviceConfigurableAudioChannelPairProfile = { - CBR_AAC_HQ_192000: "CBR-AAC_HQ-192000", - CBR_AAC_HQ_256000: "CBR-AAC_HQ-256000", - CBR_AAC_HQ_384000: "CBR-AAC_HQ-384000", - CBR_AAC_HQ_512000: "CBR-AAC_HQ-512000", - DISABLED: "DISABLED", - VBR_AAC_HE_64000: "VBR-AAC_HE-64000", - VBR_AAC_HHE_16000: "VBR-AAC_HHE-16000", - VBR_AAC_LC_128000: "VBR-AAC_LC-128000", +export const HlsAdMarkers = { + ADOBE: "ADOBE", + ELEMENTAL: "ELEMENTAL", + ELEMENTAL_SCTE35: "ELEMENTAL_SCTE35", } as const; /** * @public */ -export type InputDeviceConfigurableAudioChannelPairProfile = - (typeof InputDeviceConfigurableAudioChannelPairProfile)[keyof typeof InputDeviceConfigurableAudioChannelPairProfile]; +export type HlsAdMarkers = (typeof HlsAdMarkers)[keyof typeof HlsAdMarkers]; /** - * One audio configuration that specifies the format for one audio pair that the device produces as output. + * A network route configuration. * @public */ -export interface InputDeviceConfigurableAudioChannelPairConfig { +export interface InputDestinationRoute { /** - * The ID for one audio pair configuration, a value from 1 to 8. + * The CIDR of the route. * @public */ - Id?: number; + Cidr?: string; /** - * The profile to set for one audio pair configuration. Choose an enumeration value. Each value describes one audio configuration using the format (rate control algorithm)-(codec)_(quality)-(bitrate in bytes). For example, CBR-AAC_HQ-192000. Or choose DISABLED, in which case the device won't produce audio for this pair. + * An optional gateway for the route. * @public */ - Profile?: InputDeviceConfigurableAudioChannelPairProfile; + Gateway?: string; } /** - * Settings for an input device. + * The properties for a VPC type input destination. * @public */ -export interface InputDeviceRequest { +export interface InputDestinationVpc { /** - * The unique ID for the device. + * The availability zone of the Input destination. * @public */ - Id?: string; -} + AvailabilityZone?: string; -/** - * @public - * @enum - */ -export const InputDeviceConnectionState = { - CONNECTED: "CONNECTED", - DISCONNECTED: "DISCONNECTED", -} as const; + /** + * The network interface ID of the Input destination in the VPC. + * @public + */ + NetworkInterfaceId?: string; +} /** + * The settings for a PUSH type input. * @public */ -export type InputDeviceConnectionState = (typeof InputDeviceConnectionState)[keyof typeof InputDeviceConnectionState]; +export interface InputDestination { + /** + * The system-generated static IP address of endpoint. + * It remains fixed for the lifetime of the input. + * @public + */ + Ip?: string; -/** - * @public - * @enum - */ -export const DeviceSettingsSyncState = { - SYNCED: "SYNCED", - SYNCING: "SYNCING", -} as const; + /** + * The port number for the input. + * @public + */ + Port?: string; -/** - * @public - */ -export type DeviceSettingsSyncState = (typeof DeviceSettingsSyncState)[keyof typeof DeviceSettingsSyncState]; + /** + * This represents the endpoint that the customer stream will be + * pushed to. + * @public + */ + Url?: string; -/** - * @public - * @enum - */ -export const DeviceUpdateStatus = { - NOT_UP_TO_DATE: "NOT_UP_TO_DATE", - UPDATING: "UPDATING", - UP_TO_DATE: "UP_TO_DATE", -} as const; + /** + * The properties for a VPC type input destination. + * @public + */ + Vpc?: InputDestinationVpc; -/** - * @public - */ -export type DeviceUpdateStatus = (typeof DeviceUpdateStatus)[keyof typeof DeviceUpdateStatus]; + /** + * The ID of the attached network. + * @public + */ + Network?: string; + + /** + * If the push input has an input location of ON-PREM it's a requirement to specify what the route of the input + * is going to be on the customer local network. + * @public + */ + NetworkRoutes?: InputDestinationRoute[]; +} /** * @public * @enum */ -export const InputDeviceActiveInput = { - HDMI: "HDMI", - SDI: "SDI", +export const InputClass = { + SINGLE_PIPELINE: "SINGLE_PIPELINE", + STANDARD: "STANDARD", } as const; /** * @public */ -export type InputDeviceActiveInput = (typeof InputDeviceActiveInput)[keyof typeof InputDeviceActiveInput]; - -/** - * @public - * @enum - */ -export const InputDeviceConfiguredInput = { - AUTO: "AUTO", - HDMI: "HDMI", - SDI: "SDI", -} as const; +export type InputClass = (typeof InputClass)[keyof typeof InputClass]; /** + * Settings for an input device. * @public */ -export type InputDeviceConfiguredInput = (typeof InputDeviceConfiguredInput)[keyof typeof InputDeviceConfiguredInput]; +export interface InputDeviceSettings { + /** + * The unique ID for the device. + * @public + */ + Id?: string; +} /** * @public * @enum */ -export const InputDeviceState = { - IDLE: "IDLE", - STREAMING: "STREAMING", +export const InputNetworkLocation = { + AWS: "AWS", + ON_PREMISE: "ON_PREMISE", + ON_PREMISES: "ON_PREMISES", } as const; /** * @public */ -export type InputDeviceState = (typeof InputDeviceState)[keyof typeof InputDeviceState]; +export type InputNetworkLocation = (typeof InputNetworkLocation)[keyof typeof InputNetworkLocation]; /** * @public * @enum */ -export const InputDeviceScanType = { - INTERLACED: "INTERLACED", - PROGRESSIVE: "PROGRESSIVE", +export const InputSourceType = { + DYNAMIC: "DYNAMIC", + STATIC: "STATIC", } as const; /** * @public */ -export type InputDeviceScanType = (typeof InputDeviceScanType)[keyof typeof InputDeviceScanType]; +export type InputSourceType = (typeof InputSourceType)[keyof typeof InputSourceType]; /** - * Settings that describe the active source from the input device, and the video characteristics of that source. + * The settings for a MediaConnect Flow. * @public */ -export interface InputDeviceHdSettings { - /** - * If you specified Auto as the configured input, specifies which of the sources is currently active (SDI or HDMI). - * @public - */ - ActiveInput?: InputDeviceActiveInput; - - /** - * The source at the input device that is currently active. You can specify this source. - * @public - */ - ConfiguredInput?: InputDeviceConfiguredInput; - +export interface MediaConnectFlow { /** - * The state of the input device. + * The unique ARN of the MediaConnect Flow being used as a source. * @public */ - DeviceState?: InputDeviceState; + FlowArn?: string; +} +/** + * Pair of multicast url and source ip address (optional) that make up a multicast source. + * @public + */ +export interface MulticastSource { /** - * The frame rate of the video source. + * This represents the ip address of the device sending the multicast stream. * @public */ - Framerate?: number; + SourceIp?: string; /** - * The height of the video source, in pixels. + * This represents the customer's source URL where multicast stream is pulled from. * @public */ - Height?: number; + Url: string | undefined; +} +/** + * Settings for a Multicast input. Contains a list of multicast Urls and optional source ip addresses. + * @public + */ +export interface MulticastSettings { /** - * The current maximum bitrate for ingesting this source, in bits per second. You can specify this maximum. + * Placeholder documentation for __listOfMulticastSource * @public */ - MaxBitrate?: number; + Sources?: MulticastSource[]; +} +/** + * The settings for a PULL type input. + * @public + */ +export interface InputSource { /** - * The scan type of the video source. + * The key used to extract the password from EC2 Parameter store. * @public */ - ScanType?: InputDeviceScanType; + PasswordParam?: string; /** - * The width of the video source, in pixels. + * This represents the customer's source URL where stream is + * pulled from. * @public */ - Width?: number; + Url?: string; /** - * The Link device's buffer size (latency) in milliseconds (ms). You can specify this value. + * The username for the input source. * @public */ - LatencyMs?: number; + Username?: string; } /** * @public * @enum */ -export const InputDeviceIpScheme = { - DHCP: "DHCP", - STATIC: "STATIC", +export const Algorithm = { + AES128: "AES128", + AES192: "AES192", + AES256: "AES256", } as const; /** * @public */ -export type InputDeviceIpScheme = (typeof InputDeviceIpScheme)[keyof typeof InputDeviceIpScheme]; +export type Algorithm = (typeof Algorithm)[keyof typeof Algorithm]; /** - * The network settings for the input device. + * The decryption settings for the SRT caller source. Present only if the source has decryption enabled. * @public */ -export interface InputDeviceNetworkSettings { +export interface SrtCallerDecryption { /** - * The DNS addresses of the input device. + * The algorithm used to encrypt content. * @public */ - DnsAddresses?: string[]; + Algorithm?: Algorithm; /** - * The network gateway IP address. + * 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 */ - Gateway?: string; + 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 IP address of the input device. + * The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. * @public */ - IpAddress?: string; + MinimumLatency?: number; /** - * Specifies whether the input device has been configured (outside of MediaLive) to use a dynamic IP address assignment (DHCP) or a static IP address. + * The IP address at the upstream system (the listener) that MediaLive (the caller) connects to. * @public */ - IpScheme?: InputDeviceIpScheme; + SrtListenerAddress?: string; /** - * The subnet mask of the input device. + * The port at the upstream system (the listener) that MediaLive (the caller) connects to. * @public */ - SubnetMask?: string; + 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 */ -export const InputDeviceOutputType = { - MEDIACONNECT_FLOW: "MEDIACONNECT_FLOW", - MEDIALIVE_INPUT: "MEDIALIVE_INPUT", - NONE: "NONE", +export const InputState = { + ATTACHED: "ATTACHED", + CREATING: "CREATING", + DELETED: "DELETED", + DELETING: "DELETING", + DETACHED: "DETACHED", } as const; /** * @public */ -export type InputDeviceOutputType = (typeof InputDeviceOutputType)[keyof typeof InputDeviceOutputType]; +export type InputState = (typeof InputState)[keyof typeof InputState]; /** * @public * @enum */ -export const InputDeviceType = { - HD: "HD", - UHD: "UHD", +export const InputType = { + AWS_CDI: "AWS_CDI", + INPUT_DEVICE: "INPUT_DEVICE", + MEDIACONNECT: "MEDIACONNECT", + MP4_FILE: "MP4_FILE", + MULTICAST: "MULTICAST", + 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", } as const; /** * @public */ -export type InputDeviceType = (typeof InputDeviceType)[keyof typeof InputDeviceType]; - -/** - * @public - * @enum - */ -export const InputDeviceUhdAudioChannelPairProfile = { - CBR_AAC_HQ_192000: "CBR-AAC_HQ-192000", - CBR_AAC_HQ_256000: "CBR-AAC_HQ-256000", - CBR_AAC_HQ_384000: "CBR-AAC_HQ-384000", - CBR_AAC_HQ_512000: "CBR-AAC_HQ-512000", - DISABLED: "DISABLED", - VBR_AAC_HE_64000: "VBR-AAC_HE-64000", - VBR_AAC_HHE_16000: "VBR-AAC_HHE-16000", - VBR_AAC_LC_128000: "VBR-AAC_LC-128000", -} as const; - -/** - * @public - */ -export type InputDeviceUhdAudioChannelPairProfile = - (typeof InputDeviceUhdAudioChannelPairProfile)[keyof typeof InputDeviceUhdAudioChannelPairProfile]; +export type InputType = (typeof InputType)[keyof typeof InputType]; /** - * One audio configuration that specifies the format for one audio pair that the device produces as output. + * Placeholder documentation for Input * @public */ -export interface InputDeviceUhdAudioChannelPairConfig { +export interface Input { /** - * The ID for one audio pair configuration, a value from 1 to 8. + * The Unique ARN of the input (generated, immutable). * @public */ - Id?: number; + Arn?: string; /** - * The profile for one audio pair configuration. This property describes one audio configuration in the format (rate control algorithm)-(codec)_(quality)-(bitrate in bytes). For example, CBR-AAC_HQ-192000. Or DISABLED, in which case the device won't produce audio for this pair. + * A list of channel IDs that that input is attached to (currently an input can only be attached to one channel). * @public */ - Profile?: InputDeviceUhdAudioChannelPairProfile; -} - -/** - * @public - * @enum - */ -export const InputDeviceCodec = { - AVC: "AVC", - HEVC: "HEVC", -} as const; + AttachedChannels?: string[]; -/** - * @public - */ -export type InputDeviceCodec = (typeof InputDeviceCodec)[keyof typeof InputDeviceCodec]; + /** + * A list of the destinations of the input (PUSH-type). + * @public + */ + Destinations?: InputDestination[]; -/** - * Information about the MediaConnect flow attached to the device. - * @public - */ -export interface InputDeviceMediaConnectSettings { /** - * The ARN of the MediaConnect flow. + * The generated ID of the input (unique for user account, immutable). * @public */ - FlowArn?: string; + Id?: string; /** - * The ARN for the role that MediaLive assumes to access the attached flow and secret. + * STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails. + * SINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input. * @public */ - RoleArn?: string; + InputClass?: InputClass; /** - * The ARN of the secret used to encrypt the stream. + * Settings for the input devices. * @public */ - SecretArn?: string; + InputDevices?: InputDeviceSettings[]; /** - * The name of the MediaConnect flow source. + * A list of IDs for all Inputs which are partners of this one. * @public */ - SourceName?: string; -} + InputPartnerIds?: string[]; -/** - * Settings that describe the active source from the input device, and the video characteristics of that source. - * @public - */ -export interface InputDeviceUhdSettings { /** - * If you specified Auto as the configured input, specifies which of the sources is currently active (SDI or HDMI). + * Certain pull input sources can be dynamic, meaning that they can have their URL's dynamically changes + * during input switch actions. Presently, this functionality only works with MP4_FILE and TS_FILE inputs. * @public */ - ActiveInput?: InputDeviceActiveInput; + InputSourceType?: InputSourceType; /** - * The source at the input device that is currently active. You can specify this source. + * A list of MediaConnect Flows for this input. * @public */ - ConfiguredInput?: InputDeviceConfiguredInput; + MediaConnectFlows?: MediaConnectFlow[]; /** - * The state of the input device. + * The user-assigned name (This is a mutable value). * @public */ - DeviceState?: InputDeviceState; + Name?: string; /** - * The frame rate of the video source. + * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. * @public */ - Framerate?: number; + RoleArn?: string; /** - * The height of the video source, in pixels. + * A list of IDs for all the Input Security Groups attached to the input. * @public */ - Height?: number; + SecurityGroups?: string[]; /** - * The current maximum bitrate for ingesting this source, in bits per second. You can specify this maximum. + * A list of the sources of the input (PULL-type). * @public */ - MaxBitrate?: number; + Sources?: InputSource[]; /** - * The scan type of the video source. + * Placeholder documentation for InputState * @public */ - ScanType?: InputDeviceScanType; + State?: InputState; /** - * The width of the video source, in pixels. + * A collection of key-value pairs. * @public */ - Width?: number; + Tags?: Record; /** - * The Link device's buffer size (latency) in milliseconds (ms). You can specify this value. + * The different types of inputs that AWS Elemental MediaLive supports. * @public */ - LatencyMs?: number; + Type?: InputType; /** - * The codec for the video that the device produces. + * The settings associated with an SRT input. * @public */ - Codec?: InputDeviceCodec; + SrtSettings?: SrtSettings; /** - * Information about the MediaConnect flow attached to the device. Returned only if the outputType is MEDIACONNECT_FLOW. + * The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for + * an input in a customer network. * @public */ - MediaconnectSettings?: InputDeviceMediaConnectSettings; + InputNetworkLocation?: InputNetworkLocation; /** - * An array of eight audio configurations, one for each audio pair in the source. Each audio configuration specifies either to exclude the pair, or to format it and include it in the output from the UHD device. Applies only when the device is configured as the source for a MediaConnect flow. + * Multicast Input settings. * @public */ - AudioChannelPairs?: InputDeviceUhdAudioChannelPairConfig[]; + MulticastSettings?: MulticastSettings; } /** - * Details of the input device. + * A network route configuration. * @public */ -export interface InputDeviceSummary { +export interface InputRequestDestinationRoute { /** - * The unique ARN of the input device. - * @public - */ - Arn?: string; - - /** - * The state of the connection between the input device and AWS. - * @public - */ - ConnectionState?: InputDeviceConnectionState; - - /** - * The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration. - * @public - */ - DeviceSettingsSyncState?: DeviceSettingsSyncState; - - /** - * The status of software on the input device. - * @public - */ - DeviceUpdateStatus?: DeviceUpdateStatus; - - /** - * Settings that describe an input device that is type HD. - * @public - */ - HdDeviceSettings?: InputDeviceHdSettings; - - /** - * The unique ID of the input device. + * The CIDR of the route. * @public */ - Id?: string; + Cidr?: string; /** - * The network MAC address of the input device. + * An optional gateway for the route. * @public */ - MacAddress?: string; + Gateway?: string; +} +/** + * Endpoint settings for a PUSH type input. + * @public + */ +export interface InputDestinationRequest { /** - * A name that you specify for the input device. + * A unique name for the location the RTMP stream is being pushed + * to. * @public */ - Name?: string; + StreamName?: string; /** - * Network settings for the input device. + * If the push input has an input location of ON-PREM, ID the ID of the attached network. * @public */ - NetworkSettings?: InputDeviceNetworkSettings; + Network?: string; /** - * The unique serial number of the input device. + * If the push input has an input location of ON-PREM it's a requirement to specify what the route of the input + * is going to be on the customer local network. * @public */ - SerialNumber?: string; + NetworkRoutes?: InputRequestDestinationRoute[]; /** - * The type of the input device. + * If the push input has an input location of ON-PREM it's optional to specify what the ip address + * of the input is going to be on the customer local network. * @public */ - Type?: InputDeviceType; + StaticIpAddress?: string; +} - /** - * Settings that describe an input device that is type UHD. - * @public - */ - UhdDeviceSettings?: InputDeviceUhdSettings; +/** + * @public + * @enum + */ +export const InputDeviceConfigurableAudioChannelPairProfile = { + CBR_AAC_HQ_192000: "CBR-AAC_HQ-192000", + CBR_AAC_HQ_256000: "CBR-AAC_HQ-256000", + CBR_AAC_HQ_384000: "CBR-AAC_HQ-384000", + CBR_AAC_HQ_512000: "CBR-AAC_HQ-512000", + DISABLED: "DISABLED", + VBR_AAC_HE_64000: "VBR-AAC_HE-64000", + VBR_AAC_HHE_16000: "VBR-AAC_HHE-16000", + VBR_AAC_LC_128000: "VBR-AAC_LC-128000", +} as const; - /** - * A collection of key-value pairs. - * @public - */ - Tags?: Record; +/** + * @public + */ +export type InputDeviceConfigurableAudioChannelPairProfile = + (typeof InputDeviceConfigurableAudioChannelPairProfile)[keyof typeof InputDeviceConfigurableAudioChannelPairProfile]; +/** + * One audio configuration that specifies the format for one audio pair that the device produces as output. + * @public + */ +export interface InputDeviceConfigurableAudioChannelPairConfig { /** - * The Availability Zone associated with this input device. + * The ID for one audio pair configuration, a value from 1 to 8. * @public */ - AvailabilityZone?: string; + Id?: number; /** - * An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT. + * The profile to set for one audio pair configuration. Choose an enumeration value. Each value describes one audio configuration using the format (rate control algorithm)-(codec)_(quality)-(bitrate in bytes). For example, CBR-AAC_HQ-192000. Or choose DISABLED, in which case the device won't produce audio for this pair. * @public */ - MedialiveInputArns?: string[]; + Profile?: InputDeviceConfigurableAudioChannelPairProfile; +} +/** + * Settings for an input device. + * @public + */ +export interface InputDeviceRequest { /** - * The output attachment type of the input device. Specifies MEDIACONNECT_FLOW if this device is the source for a MediaConnect flow. Specifies MEDIALIVE_INPUT if this device is the source for a MediaLive input. + * The unique ID for the device. * @public */ - OutputType?: InputDeviceOutputType; + Id?: string; } /** * @public * @enum */ -export const InputSecurityGroupState = { - DELETED: "DELETED", - IDLE: "IDLE", - IN_USE: "IN_USE", - UPDATING: "UPDATING", +export const InputDeviceConnectionState = { + CONNECTED: "CONNECTED", + DISCONNECTED: "DISCONNECTED", } as const; /** * @public */ -export type InputSecurityGroupState = (typeof InputSecurityGroupState)[keyof typeof InputSecurityGroupState]; +export type InputDeviceConnectionState = (typeof InputDeviceConnectionState)[keyof typeof InputDeviceConnectionState]; /** - * Whitelist rule * @public + * @enum */ -export interface InputWhitelistRule { - /** - * The IPv4 CIDR that's whitelisted. - * @public - */ - Cidr?: string; -} - -/** - * An Input Security Group - * @public - */ -export interface InputSecurityGroup { - /** - * Unique ARN of Input Security Group - * @public - */ - Arn?: string; - - /** - * The Id of the Input Security Group - * @public - */ - Id?: string; - - /** - * The list of inputs currently using this Input Security Group. - * @public - */ - Inputs?: string[]; - - /** - * The current state of the Input Security Group. - * @public - */ - State?: InputSecurityGroupState; - - /** - * A collection of key-value pairs. - * @public - */ - Tags?: Record; - - /** - * Whitelist rules and their sync status - * @public - */ - WhitelistRules?: InputWhitelistRule[]; -} +export const DeviceSettingsSyncState = { + SYNCED: "SYNCED", + SYNCING: "SYNCING", +} as const; /** - * Settings for for a PULL type input. * @public */ -export interface InputSourceRequest { - /** - * The key used to extract the password from EC2 Parameter store. - * @public - */ - PasswordParam?: string; - - /** - * This represents the customer's source URL where stream is - * pulled from. - * @public - */ - Url?: string; - - /** - * The username for the input source. - * @public - */ - Username?: string; -} +export type DeviceSettingsSyncState = (typeof DeviceSettingsSyncState)[keyof typeof DeviceSettingsSyncState]; /** - * An IPv4 CIDR to whitelist. * @public + * @enum */ -export interface InputWhitelistRuleCidr { - /** - * The IPv4 CIDR to whitelist. - * @public - */ - Cidr?: string; -} +export const DeviceUpdateStatus = { + NOT_UP_TO_DATE: "NOT_UP_TO_DATE", + UPDATING: "UPDATING", + UP_TO_DATE: "UP_TO_DATE", +} as const; /** - * The settings for a MediaConnect Flow. * @public */ -export interface MediaConnectFlowRequest { - /** - * The ARN of the MediaConnect Flow that you want to use as a source. - * @public - */ - FlowArn?: string; -} +export type DeviceUpdateStatus = (typeof DeviceUpdateStatus)[keyof typeof DeviceUpdateStatus]; /** - * A direct source or destination neighbor to an AWS media resource. * @public + * @enum */ -export interface MediaResourceNeighbor { - /** - * The ARN of a resource used in AWS media workflows. - * @public - */ - Arn: string | undefined; - - /** - * The logical name of an AWS media resource. - * @public - */ - Name?: string; -} +export const InputDeviceActiveInput = { + HDMI: "HDMI", + SDI: "SDI", +} as const; /** - * Multiplex MediaConnect output destination settings. * @public */ -export interface MultiplexMediaConnectOutputDestinationSettings { - /** - * The MediaConnect entitlement ARN available as a Flow source. - * @public - */ - EntitlementArn?: string; -} +export type InputDeviceActiveInput = (typeof InputDeviceActiveInput)[keyof typeof InputDeviceActiveInput]; /** - * Multiplex output destination settings * @public + * @enum */ -export interface MultiplexOutputDestination { - /** - * Multiplex MediaConnect output destination settings. - * @public - */ - MediaConnectSettings?: MultiplexMediaConnectOutputDestinationSettings; -} +export const InputDeviceConfiguredInput = { + AUTO: "AUTO", + HDMI: "HDMI", + SDI: "SDI", +} as const; /** - * The current source for one of the pipelines in the multiplex. * @public */ -export interface MultiplexProgramPipelineDetail { - /** - * Identifies the channel pipeline that is currently active for the pipeline (identified by PipelineId) in the multiplex. - * @public - */ - ActiveChannelPipeline?: string; - - /** - * Identifies a specific pipeline in the multiplex. - * @public - */ - PipelineId?: string; -} +export type InputDeviceConfiguredInput = (typeof InputDeviceConfiguredInput)[keyof typeof InputDeviceConfiguredInput]; /** - * Placeholder documentation for MultiplexProgramSummary * @public + * @enum */ -export interface MultiplexProgramSummary { - /** - * The MediaLive Channel associated with the program. - * @public - */ - ChannelId?: string; - - /** - * The name of the multiplex program. - * @public - */ - ProgramName?: string; -} +export const InputDeviceState = { + IDLE: "IDLE", + STREAMING: "STREAMING", +} as const; /** - * Contains summary configuration for a Multiplex event. * @public */ -export interface MultiplexSettingsSummary { - /** - * Transport stream bit rate. - * @public - */ - TransportStreamBitrate?: number; -} +export type InputDeviceState = (typeof InputDeviceState)[keyof typeof InputDeviceState]; /** * @public * @enum */ -export const MultiplexState = { - CREATE_FAILED: "CREATE_FAILED", - CREATING: "CREATING", - DELETED: "DELETED", - DELETING: "DELETING", - IDLE: "IDLE", - RECOVERING: "RECOVERING", - RUNNING: "RUNNING", - STARTING: "STARTING", - STOPPING: "STOPPING", +export const InputDeviceScanType = { + INTERLACED: "INTERLACED", + PROGRESSIVE: "PROGRESSIVE", } as const; /** * @public */ -export type MultiplexState = (typeof MultiplexState)[keyof typeof MultiplexState]; +export type InputDeviceScanType = (typeof InputDeviceScanType)[keyof typeof InputDeviceScanType]; /** - * Placeholder documentation for MultiplexSummary + * Settings that describe the active source from the input device, and the video characteristics of that source. * @public */ -export interface MultiplexSummary { +export interface InputDeviceHdSettings { /** - * The unique arn of the multiplex. + * If you specified Auto as the configured input, specifies which of the sources is currently active (SDI or HDMI). * @public */ - Arn?: string; + ActiveInput?: InputDeviceActiveInput; /** - * A list of availability zones for the multiplex. + * The source at the input device that is currently active. You can specify this source. * @public */ - AvailabilityZones?: string[]; + ConfiguredInput?: InputDeviceConfiguredInput; /** - * The unique id of the multiplex. + * The state of the input device. * @public */ - Id?: string; + DeviceState?: InputDeviceState; /** - * Configuration for a multiplex event. + * The frame rate of the video source. * @public */ - MultiplexSettings?: MultiplexSettingsSummary; + Framerate?: number; /** - * The name of the multiplex. + * The height of the video source, in pixels. * @public */ - Name?: string; + Height?: number; /** - * The number of currently healthy pipelines. + * The current maximum bitrate for ingesting this source, in bits per second. You can specify this maximum. * @public */ - PipelinesRunningCount?: number; + MaxBitrate?: number; /** - * The number of programs in the multiplex. + * The scan type of the video source. * @public */ - ProgramCount?: number; + ScanType?: InputDeviceScanType; /** - * The current state of the multiplex. + * The width of the video source, in pixels. * @public */ - State?: MultiplexState; + Width?: number; /** - * A collection of key-value pairs. + * The Link device's buffer size (latency) in milliseconds (ms). You can specify this value. * @public */ - Tags?: Record; + LatencyMs?: number; } /** * @public * @enum */ -export const OfferingDurationUnits = { - MONTHS: "MONTHS", +export const InputDeviceIpScheme = { + DHCP: "DHCP", + STATIC: "STATIC", } as const; /** * @public */ -export type OfferingDurationUnits = (typeof OfferingDurationUnits)[keyof typeof OfferingDurationUnits]; +export type InputDeviceIpScheme = (typeof InputDeviceIpScheme)[keyof typeof InputDeviceIpScheme]; /** + * The network settings for the input device. * @public - * @enum */ -export const OfferingType = { - NO_UPFRONT: "NO_UPFRONT", -} as const; +export interface InputDeviceNetworkSettings { + /** + * The DNS addresses of the input device. + * @public + */ + DnsAddresses?: string[]; -/** - * @public - */ -export type OfferingType = (typeof OfferingType)[keyof typeof OfferingType]; + /** + * The network gateway IP address. + * @public + */ + Gateway?: string; -/** - * @public - * @enum - */ -export const ReservationCodec = { - AUDIO: "AUDIO", - AVC: "AVC", - HEVC: "HEVC", - LINK: "LINK", - MPEG2: "MPEG2", -} as const; + /** + * The IP address of the input device. + * @public + */ + IpAddress?: string; -/** - * @public - */ -export type ReservationCodec = (typeof ReservationCodec)[keyof typeof ReservationCodec]; + /** + * Specifies whether the input device has been configured (outside of MediaLive) to use a dynamic IP address assignment (DHCP) or a static IP address. + * @public + */ + IpScheme?: InputDeviceIpScheme; + + /** + * The subnet mask of the input device. + * @public + */ + SubnetMask?: string; +} /** * @public * @enum */ -export const ReservationMaximumBitrate = { - MAX_10_MBPS: "MAX_10_MBPS", - MAX_20_MBPS: "MAX_20_MBPS", - MAX_50_MBPS: "MAX_50_MBPS", +export const InputDeviceOutputType = { + MEDIACONNECT_FLOW: "MEDIACONNECT_FLOW", + MEDIALIVE_INPUT: "MEDIALIVE_INPUT", + NONE: "NONE", } as const; /** * @public */ -export type ReservationMaximumBitrate = (typeof ReservationMaximumBitrate)[keyof typeof ReservationMaximumBitrate]; +export type InputDeviceOutputType = (typeof InputDeviceOutputType)[keyof typeof InputDeviceOutputType]; /** * @public * @enum */ -export const ReservationMaximumFramerate = { - MAX_30_FPS: "MAX_30_FPS", - MAX_60_FPS: "MAX_60_FPS", +export const InputDeviceType = { + HD: "HD", + UHD: "UHD", } as const; /** * @public */ -export type ReservationMaximumFramerate = - (typeof ReservationMaximumFramerate)[keyof typeof ReservationMaximumFramerate]; +export type InputDeviceType = (typeof InputDeviceType)[keyof typeof InputDeviceType]; /** * @public * @enum */ -export const ReservationResolution = { - FHD: "FHD", - HD: "HD", - SD: "SD", - UHD: "UHD", +export const InputDeviceUhdAudioChannelPairProfile = { + CBR_AAC_HQ_192000: "CBR-AAC_HQ-192000", + CBR_AAC_HQ_256000: "CBR-AAC_HQ-256000", + CBR_AAC_HQ_384000: "CBR-AAC_HQ-384000", + CBR_AAC_HQ_512000: "CBR-AAC_HQ-512000", + DISABLED: "DISABLED", + VBR_AAC_HE_64000: "VBR-AAC_HE-64000", + VBR_AAC_HHE_16000: "VBR-AAC_HHE-16000", + VBR_AAC_LC_128000: "VBR-AAC_LC-128000", } as const; /** * @public */ -export type ReservationResolution = (typeof ReservationResolution)[keyof typeof ReservationResolution]; +export type InputDeviceUhdAudioChannelPairProfile = + (typeof InputDeviceUhdAudioChannelPairProfile)[keyof typeof InputDeviceUhdAudioChannelPairProfile]; /** + * One audio configuration that specifies the format for one audio pair that the device produces as output. * @public - * @enum */ -export const ReservationResourceType = { - CHANNEL: "CHANNEL", - INPUT: "INPUT", - MULTIPLEX: "MULTIPLEX", - OUTPUT: "OUTPUT", -} as const; +export interface InputDeviceUhdAudioChannelPairConfig { + /** + * The ID for one audio pair configuration, a value from 1 to 8. + * @public + */ + Id?: number; -/** - * @public - */ -export type ReservationResourceType = (typeof ReservationResourceType)[keyof typeof ReservationResourceType]; + /** + * The profile for one audio pair configuration. This property describes one audio configuration in the format (rate control algorithm)-(codec)_(quality)-(bitrate in bytes). For example, CBR-AAC_HQ-192000. Or DISABLED, in which case the device won't produce audio for this pair. + * @public + */ + Profile?: InputDeviceUhdAudioChannelPairProfile; +} /** * @public * @enum */ -export const ReservationSpecialFeature = { - ADVANCED_AUDIO: "ADVANCED_AUDIO", - AUDIO_NORMALIZATION: "AUDIO_NORMALIZATION", - MGHD: "MGHD", - MGUHD: "MGUHD", +export const InputDeviceCodec = { + AVC: "AVC", + HEVC: "HEVC", } as const; /** * @public */ -export type ReservationSpecialFeature = (typeof ReservationSpecialFeature)[keyof typeof ReservationSpecialFeature]; +export type InputDeviceCodec = (typeof InputDeviceCodec)[keyof typeof InputDeviceCodec]; /** + * Information about the MediaConnect flow attached to the device. * @public - * @enum */ -export const ReservationVideoQuality = { - ENHANCED: "ENHANCED", - PREMIUM: "PREMIUM", - STANDARD: "STANDARD", -} as const; +export interface InputDeviceMediaConnectSettings { + /** + * The ARN of the MediaConnect flow. + * @public + */ + FlowArn?: string; -/** - * @public - */ -export type ReservationVideoQuality = (typeof ReservationVideoQuality)[keyof typeof ReservationVideoQuality]; + /** + * The ARN for the role that MediaLive assumes to access the attached flow and secret. + * @public + */ + RoleArn?: string; + + /** + * The ARN of the secret used to encrypt the stream. + * @public + */ + SecretArn?: string; + + /** + * The name of the MediaConnect flow source. + * @public + */ + SourceName?: string; +} /** - * Resource configuration (codec, resolution, bitrate, ...) + * Settings that describe the active source from the input device, and the video characteristics of that source. * @public */ -export interface ReservationResourceSpecification { +export interface InputDeviceUhdSettings { /** - * Channel class, e.g. 'STANDARD' + * If you specified Auto as the configured input, specifies which of the sources is currently active (SDI or HDMI). * @public */ - ChannelClass?: ChannelClass; + ActiveInput?: InputDeviceActiveInput; /** - * Codec, e.g. 'AVC' + * The source at the input device that is currently active. You can specify this source. * @public */ - Codec?: ReservationCodec; + ConfiguredInput?: InputDeviceConfiguredInput; /** - * Maximum bitrate, e.g. 'MAX_20_MBPS' + * The state of the input device. * @public */ - MaximumBitrate?: ReservationMaximumBitrate; + DeviceState?: InputDeviceState; /** - * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) + * The frame rate of the video source. * @public */ - MaximumFramerate?: ReservationMaximumFramerate; + Framerate?: number; /** - * Resolution, e.g. 'HD' + * The height of the video source, in pixels. * @public */ - Resolution?: ReservationResolution; + Height?: number; /** - * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' + * The current maximum bitrate for ingesting this source, in bits per second. You can specify this maximum. * @public */ - ResourceType?: ReservationResourceType; + MaxBitrate?: number; /** - * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) + * The scan type of the video source. * @public */ - SpecialFeature?: ReservationSpecialFeature; + ScanType?: InputDeviceScanType; /** - * Video quality, e.g. 'STANDARD' (Outputs only) + * The width of the video source, in pixels. * @public */ - VideoQuality?: ReservationVideoQuality; + Width?: number; + + /** + * The Link device's buffer size (latency) in milliseconds (ms). You can specify this value. + * @public + */ + LatencyMs?: number; + + /** + * The codec for the video that the device produces. + * @public + */ + Codec?: InputDeviceCodec; + + /** + * Information about the MediaConnect flow attached to the device. Returned only if the outputType is MEDIACONNECT_FLOW. + * @public + */ + MediaconnectSettings?: InputDeviceMediaConnectSettings; + + /** + * An array of eight audio configurations, one for each audio pair in the source. Each audio configuration specifies either to exclude the pair, or to format it and include it in the output from the UHD device. Applies only when the device is configured as the source for a MediaConnect flow. + * @public + */ + AudioChannelPairs?: InputDeviceUhdAudioChannelPairConfig[]; } /** - * Reserved resources available for purchase + * Details of the input device. * @public */ -export interface Offering { +export interface InputDeviceSummary { /** - * Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' + * The unique ARN of the input device. * @public */ Arn?: string; /** - * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + * The state of the connection between the input device and AWS. * @public */ - CurrencyCode?: string; + ConnectionState?: InputDeviceConnectionState; /** - * Lease duration, e.g. '12' + * The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration. * @public */ - Duration?: number; + DeviceSettingsSyncState?: DeviceSettingsSyncState; /** - * Units for duration, e.g. 'MONTHS' + * The status of software on the input device. * @public */ - DurationUnits?: OfferingDurationUnits; + DeviceUpdateStatus?: DeviceUpdateStatus; /** - * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + * Settings that describe an input device that is type HD. * @public */ - FixedPrice?: number; + HdDeviceSettings?: InputDeviceHdSettings; /** - * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + * The unique ID of the input device. * @public */ - OfferingDescription?: string; + Id?: string; /** - * Unique offering ID, e.g. '87654321' + * The network MAC address of the input device. * @public */ - OfferingId?: string; + MacAddress?: string; /** - * Offering type, e.g. 'NO_UPFRONT' + * A name that you specify for the input device. * @public */ - OfferingType?: OfferingType; + Name?: string; /** - * AWS region, e.g. 'us-west-2' + * Network settings for the input device. * @public */ - Region?: string; + NetworkSettings?: InputDeviceNetworkSettings; /** - * Resource configuration details + * The unique serial number of the input device. * @public */ - ResourceSpecification?: ReservationResourceSpecification; + SerialNumber?: string; /** - * Recurring usage charge for each reserved resource, e.g. '157.0' + * The type of the input device. * @public */ - UsagePrice?: number; -} + Type?: InputDeviceType; -/** - * @public - * @enum - */ -export const M2tsAbsentInputAudioBehavior = { - DROP: "DROP", - ENCODE_SILENCE: "ENCODE_SILENCE", -} as const; + /** + * Settings that describe an input device that is type UHD. + * @public + */ + UhdDeviceSettings?: InputDeviceUhdSettings; -/** - * @public - */ -export type M2tsAbsentInputAudioBehavior = - (typeof M2tsAbsentInputAudioBehavior)[keyof typeof M2tsAbsentInputAudioBehavior]; + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; -/** - * @public - * @enum - */ -export const M2tsArib = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; + /** + * The Availability Zone associated with this input device. + * @public + */ + AvailabilityZone?: string; -/** - * @public - */ -export type M2tsArib = (typeof M2tsArib)[keyof typeof M2tsArib]; + /** + * An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT. + * @public + */ + MedialiveInputArns?: string[]; + + /** + * The output attachment type of the input device. Specifies MEDIACONNECT_FLOW if this device is the source for a MediaConnect flow. Specifies MEDIALIVE_INPUT if this device is the source for a MediaLive input. + * @public + */ + OutputType?: InputDeviceOutputType; +} /** * @public * @enum */ -export const M2tsAribCaptionsPidControl = { - AUTO: "AUTO", - USE_CONFIGURED: "USE_CONFIGURED", +export const InputSecurityGroupState = { + DELETED: "DELETED", + IDLE: "IDLE", + IN_USE: "IN_USE", + UPDATING: "UPDATING", } as const; /** * @public */ -export type M2tsAribCaptionsPidControl = (typeof M2tsAribCaptionsPidControl)[keyof typeof M2tsAribCaptionsPidControl]; +export type InputSecurityGroupState = (typeof InputSecurityGroupState)[keyof typeof InputSecurityGroupState]; /** + * Whitelist rule * @public - * @enum */ -export const M2tsAudioBufferModel = { - ATSC: "ATSC", - DVB: "DVB", -} as const; +export interface InputWhitelistRule { + /** + * The IPv4 CIDR that's whitelisted. + * @public + */ + Cidr?: string; +} /** + * An Input Security Group * @public */ -export type M2tsAudioBufferModel = (typeof M2tsAudioBufferModel)[keyof typeof M2tsAudioBufferModel]; +export interface InputSecurityGroup { + /** + * Unique ARN of Input Security Group + * @public + */ + Arn?: string; -/** - * @public - * @enum - */ -export const M2tsAudioStreamType = { - ATSC: "ATSC", - DVB: "DVB", -} as const; + /** + * The Id of the Input Security Group + * @public + */ + Id?: string; -/** - * @public - */ -export type M2tsAudioStreamType = (typeof M2tsAudioStreamType)[keyof typeof M2tsAudioStreamType]; + /** + * The list of inputs currently using this Input Security Group. + * @public + */ + Inputs?: string[]; -/** - * @public - * @enum - */ -export const M2tsBufferModel = { - MULTIPLEX: "MULTIPLEX", - NONE: "NONE", -} as const; + /** + * The current state of the Input Security Group. + * @public + */ + State?: InputSecurityGroupState; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; + + /** + * Whitelist rules and their sync status + * @public + */ + WhitelistRules?: InputWhitelistRule[]; +} /** + * Settings for for a PULL type input. * @public */ -export type M2tsBufferModel = (typeof M2tsBufferModel)[keyof typeof M2tsBufferModel]; +export interface InputSourceRequest { + /** + * The key used to extract the password from EC2 Parameter store. + * @public + */ + PasswordParam?: string; + + /** + * This represents the customer's source URL where stream is + * pulled from. + * @public + */ + Url?: string; + + /** + * The username for the input source. + * @public + */ + Username?: string; +} /** + * An IPv4 CIDR to whitelist. * @public - * @enum */ -export const M2tsCcDescriptor = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; +export interface InputWhitelistRuleCidr { + /** + * The IPv4 CIDR to whitelist. + * @public + */ + Cidr?: string; +} /** + * Used in ClusterNetworkSettingsCreateRequest. * @public */ -export type M2tsCcDescriptor = (typeof M2tsCcDescriptor)[keyof typeof M2tsCcDescriptor]; +export interface InterfaceMappingCreateRequest { + /** + * The logical name for one interface (on every Node) that handles a specific type of traffic. We recommend that the name hints at the physical interface it applies to. For example, it could refer to the traffic that the physical interface handles. For example, my-Inputs-Interface. + * @public + */ + LogicalInterfaceName?: string; + + /** + * The ID of the network that you want to connect to the specified logicalInterfaceName. + * @public + */ + NetworkId?: string; +} /** - * DVB Network Information Table (NIT) + * Placeholder documentation for InterfaceMappingUpdateRequest * @public */ -export interface DvbNitSettings { +export interface InterfaceMappingUpdateRequest { /** - * The numeric value placed in the Network Information Table (NIT). + * The logical name for one interface (on every Node) that handles a specific type of traffic. We recommend that the name hints at the physical interface it applies to. For example, it could refer to the traffic that the physical interface handles. For example, my-Inputs-Interface. * @public */ - NetworkId: number | undefined; + LogicalInterfaceName?: string; /** - * The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters. + * The ID of the network that you want to connect to the specified logicalInterfaceName. You can use the ListNetworks operation to discover all the IDs. * @public */ - NetworkName: string | undefined; + NetworkId?: string; +} +/** + * Used in CreateNetworkRequest. + * @public + */ +export interface IpPoolCreateRequest { /** - * The number of milliseconds between instances of this table in the output transport stream. + * A CIDR block of IP addresses to reserve for MediaLive Anywhere. * @public */ - RepInterval?: number; + Cidr?: string; } /** + * Used in UpdateNetworkRequest. * @public - * @enum */ -export const DvbSdtOutputSdt = { - SDT_FOLLOW: "SDT_FOLLOW", - SDT_FOLLOW_IF_PRESENT: "SDT_FOLLOW_IF_PRESENT", - SDT_MANUAL: "SDT_MANUAL", - SDT_NONE: "SDT_NONE", -} as const; +export interface IpPoolUpdateRequest { + /** + * A CIDR block of IP addresses to reserve for MediaLive Anywhere. + * @public + */ + Cidr?: string; +} /** + * The settings for a MediaConnect Flow. * @public */ -export type DvbSdtOutputSdt = (typeof DvbSdtOutputSdt)[keyof typeof DvbSdtOutputSdt]; +export interface MediaConnectFlowRequest { + /** + * The ARN of the MediaConnect Flow that you want to use as a source. + * @public + */ + FlowArn?: string; +} /** - * DVB Service Description Table (SDT) + * A direct source or destination neighbor to an AWS media resource. * @public */ -export interface DvbSdtSettings { +export interface MediaResourceNeighbor { /** - * Selects method of inserting SDT information into output stream. The sdtFollow setting copies SDT information from input stream to output stream. The sdtFollowIfPresent setting copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. The sdtManual setting means user will enter the SDT information. The sdtNone setting means output stream will not contain SDT information. + * The ARN of a resource used in AWS media workflows. * @public */ - OutputSdt?: DvbSdtOutputSdt; + Arn: string | undefined; /** - * The number of milliseconds between instances of this table in the output transport stream. + * The logical name of an AWS media resource. * @public */ - RepInterval?: number; + Name?: string; +} +/** + * Pair of multicast url and source ip address (optional) that make up a multicast source. + * @public + */ +export interface MulticastSourceCreateRequest { /** - * The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. + * This represents the ip address of the device sending the multicast stream. * @public */ - ServiceName?: string; + SourceIp?: string; /** - * The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. + * This represents the customer's source URL where multicast stream is pulled from. * @public */ - ServiceProviderName?: string; + Url: string | undefined; } /** - * DVB Time and Date Table (SDT) + * Pair of multicast url and source ip address (optional) that make up a multicast source. * @public */ -export interface DvbTdtSettings { +export interface MulticastSourceUpdateRequest { /** - * The number of milliseconds between instances of this table in the output transport stream. + * This represents the ip address of the device sending the multicast stream. * @public */ - RepInterval?: number; + SourceIp?: string; + + /** + * This represents the customer's source URL where multicast stream is pulled from. + * @public + */ + Url: string | undefined; } /** + * Multiplex MediaConnect output destination settings. * @public - * @enum */ -export const M2tsEbifControl = { - NONE: "NONE", - PASSTHROUGH: "PASSTHROUGH", -} as const; +export interface MultiplexMediaConnectOutputDestinationSettings { + /** + * The MediaConnect entitlement ARN available as a Flow source. + * @public + */ + EntitlementArn?: string; +} /** + * Multiplex output destination settings * @public */ -export type M2tsEbifControl = (typeof M2tsEbifControl)[keyof typeof M2tsEbifControl]; +export interface MultiplexOutputDestination { + /** + * Multiplex MediaConnect output destination settings. + * @public + */ + MediaConnectSettings?: MultiplexMediaConnectOutputDestinationSettings; +} /** + * The current source for one of the pipelines in the multiplex. * @public - * @enum */ -export const M2tsAudioInterval = { - VIDEO_AND_FIXED_INTERVALS: "VIDEO_AND_FIXED_INTERVALS", - VIDEO_INTERVAL: "VIDEO_INTERVAL", -} as const; - -/** +export interface MultiplexProgramPipelineDetail { + /** + * Identifies the channel pipeline that is currently active for the pipeline (identified by PipelineId) in the multiplex. + * @public + */ + ActiveChannelPipeline?: string; + + /** + * Identifies a specific pipeline in the multiplex. + * @public + */ + PipelineId?: string; +} + +/** + * Placeholder documentation for MultiplexProgramSummary * @public */ -export type M2tsAudioInterval = (typeof M2tsAudioInterval)[keyof typeof M2tsAudioInterval]; +export interface MultiplexProgramSummary { + /** + * The MediaLive Channel associated with the program. + * @public + */ + ChannelId?: string; + + /** + * The name of the multiplex program. + * @public + */ + ProgramName?: string; +} + +/** + * Contains summary configuration for a Multiplex event. + * @public + */ +export interface MultiplexSettingsSummary { + /** + * Transport stream bit rate. + * @public + */ + TransportStreamBitrate?: number; +} /** * @public * @enum */ -export const M2tsEbpPlacement = { - VIDEO_AND_AUDIO_PIDS: "VIDEO_AND_AUDIO_PIDS", - VIDEO_PID: "VIDEO_PID", +export const MultiplexState = { + CREATE_FAILED: "CREATE_FAILED", + CREATING: "CREATING", + DELETED: "DELETED", + DELETING: "DELETING", + IDLE: "IDLE", + RECOVERING: "RECOVERING", + RUNNING: "RUNNING", + STARTING: "STARTING", + STOPPING: "STOPPING", } as const; /** * @public */ -export type M2tsEbpPlacement = (typeof M2tsEbpPlacement)[keyof typeof M2tsEbpPlacement]; +export type MultiplexState = (typeof MultiplexState)[keyof typeof MultiplexState]; /** + * Placeholder documentation for MultiplexSummary * @public - * @enum */ -export const M2tsEsRateInPes = { - EXCLUDE: "EXCLUDE", - INCLUDE: "INCLUDE", -} as const; +export interface MultiplexSummary { + /** + * The unique arn of the multiplex. + * @public + */ + Arn?: string; + + /** + * A list of availability zones for the multiplex. + * @public + */ + AvailabilityZones?: string[]; + + /** + * The unique id of the multiplex. + * @public + */ + Id?: string; + + /** + * Configuration for a multiplex event. + * @public + */ + MultiplexSettings?: MultiplexSettingsSummary; + + /** + * The name of the multiplex. + * @public + */ + Name?: string; + + /** + * The number of currently healthy pipelines. + * @public + */ + PipelinesRunningCount?: number; + + /** + * The number of programs in the multiplex. + * @public + */ + ProgramCount?: number; + + /** + * The current state of the multiplex. + * @public + */ + State?: MultiplexState; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; +} /** + * Used in CreateNodeRequest. * @public */ -export type M2tsEsRateInPes = (typeof M2tsEsRateInPes)[keyof typeof M2tsEsRateInPes]; +export interface NodeInterfaceMappingCreateRequest { + /** + * Specify one of the logicalInterfaceNames that you created in the Cluster that this node belongs to. For example, my-Inputs-Interface. + * @public + */ + LogicalInterfaceName?: string; + + /** + * The style of the network -- NAT or BRIDGE. + * @public + */ + NetworkInterfaceMode?: NetworkInterfaceMode; + + /** + * Specify the physical name that corresponds to the logicalInterfaceName that you specified in this interface mapping. For example, Eth1 or ENO1234EXAMPLE. + * @public + */ + PhysicalInterfaceName?: string; +} /** * @public * @enum */ -export const M2tsKlv = { - NONE: "NONE", - PASSTHROUGH: "PASSTHROUGH", +export const OfferingDurationUnits = { + MONTHS: "MONTHS", } as const; /** * @public */ -export type M2tsKlv = (typeof M2tsKlv)[keyof typeof M2tsKlv]; +export type OfferingDurationUnits = (typeof OfferingDurationUnits)[keyof typeof OfferingDurationUnits]; /** * @public * @enum */ -export const M2tsNielsenId3Behavior = { - NO_PASSTHROUGH: "NO_PASSTHROUGH", - PASSTHROUGH: "PASSTHROUGH", +export const OfferingType = { + NO_UPFRONT: "NO_UPFRONT", } as const; /** * @public */ -export type M2tsNielsenId3Behavior = (typeof M2tsNielsenId3Behavior)[keyof typeof M2tsNielsenId3Behavior]; +export type OfferingType = (typeof OfferingType)[keyof typeof OfferingType]; /** * @public * @enum */ -export const M2tsPcrControl = { - CONFIGURED_PCR_PERIOD: "CONFIGURED_PCR_PERIOD", - PCR_EVERY_PES_PACKET: "PCR_EVERY_PES_PACKET", +export const ReservationCodec = { + AUDIO: "AUDIO", + AV1: "AV1", + AVC: "AVC", + HEVC: "HEVC", + LINK: "LINK", + MPEG2: "MPEG2", } as const; /** * @public */ -export type M2tsPcrControl = (typeof M2tsPcrControl)[keyof typeof M2tsPcrControl]; +export type ReservationCodec = (typeof ReservationCodec)[keyof typeof ReservationCodec]; /** * @public * @enum */ -export const M2tsRateMode = { - CBR: "CBR", - VBR: "VBR", +export const ReservationMaximumBitrate = { + MAX_10_MBPS: "MAX_10_MBPS", + MAX_20_MBPS: "MAX_20_MBPS", + MAX_50_MBPS: "MAX_50_MBPS", } as const; /** * @public */ -export type M2tsRateMode = (typeof M2tsRateMode)[keyof typeof M2tsRateMode]; +export type ReservationMaximumBitrate = (typeof ReservationMaximumBitrate)[keyof typeof ReservationMaximumBitrate]; /** * @public * @enum */ -export const M2tsScte35Control = { - NONE: "NONE", - PASSTHROUGH: "PASSTHROUGH", +export const ReservationMaximumFramerate = { + MAX_30_FPS: "MAX_30_FPS", + MAX_60_FPS: "MAX_60_FPS", } as const; /** * @public */ -export type M2tsScte35Control = (typeof M2tsScte35Control)[keyof typeof M2tsScte35Control]; +export type ReservationMaximumFramerate = + (typeof ReservationMaximumFramerate)[keyof typeof ReservationMaximumFramerate]; /** * @public * @enum */ -export const M2tsSegmentationMarkers = { - EBP: "EBP", - EBP_LEGACY: "EBP_LEGACY", - NONE: "NONE", - PSI_SEGSTART: "PSI_SEGSTART", - RAI_ADAPT: "RAI_ADAPT", - RAI_SEGSTART: "RAI_SEGSTART", +export const ReservationResolution = { + FHD: "FHD", + HD: "HD", + SD: "SD", + UHD: "UHD", } as const; /** * @public */ -export type M2tsSegmentationMarkers = (typeof M2tsSegmentationMarkers)[keyof typeof M2tsSegmentationMarkers]; +export type ReservationResolution = (typeof ReservationResolution)[keyof typeof ReservationResolution]; /** * @public * @enum */ -export const M2tsSegmentationStyle = { - MAINTAIN_CADENCE: "MAINTAIN_CADENCE", - RESET_CADENCE: "RESET_CADENCE", +export const ReservationResourceType = { + CHANNEL: "CHANNEL", + INPUT: "INPUT", + MULTIPLEX: "MULTIPLEX", + OUTPUT: "OUTPUT", } as const; /** * @public */ -export type M2tsSegmentationStyle = (typeof M2tsSegmentationStyle)[keyof typeof M2tsSegmentationStyle]; +export type ReservationResourceType = (typeof ReservationResourceType)[keyof typeof ReservationResourceType]; /** * @public * @enum */ -export const M2tsTimedMetadataBehavior = { - NO_PASSTHROUGH: "NO_PASSTHROUGH", - PASSTHROUGH: "PASSTHROUGH", +export const ReservationSpecialFeature = { + ADVANCED_AUDIO: "ADVANCED_AUDIO", + AUDIO_NORMALIZATION: "AUDIO_NORMALIZATION", + MGHD: "MGHD", + MGUHD: "MGUHD", } as const; /** * @public */ -export type M2tsTimedMetadataBehavior = (typeof M2tsTimedMetadataBehavior)[keyof typeof M2tsTimedMetadataBehavior]; +export type ReservationSpecialFeature = (typeof ReservationSpecialFeature)[keyof typeof ReservationSpecialFeature]; /** - * M2ts Settings * @public + * @enum */ -export interface M2tsSettings { - /** - * When set to drop, output audio streams will be removed from the program if the selected input audio stream is removed from the input. This allows the output audio configuration to dynamically change based on input configuration. If this is set to encodeSilence, all output audio streams will output encoded silence when not connected to an active input stream. - * @public - */ - AbsentInputAudioBehavior?: M2tsAbsentInputAudioBehavior; - - /** - * When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. - * @public - */ - Arib?: M2tsArib; - - /** - * 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). - * @public - */ - AribCaptionsPid?: string; - - /** - * If set to auto, pid number used for ARIB Captions will be auto-selected from unused pids. If set to useConfigured, ARIB Captions will be on the configured pid number. - * @public - */ - AribCaptionsPidControl?: M2tsAribCaptionsPidControl; - - /** - * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used. - * @public - */ - AudioBufferModel?: M2tsAudioBufferModel; - - /** - * The number of audio frames to insert for each PES packet. - * @public - */ - AudioFramesPerPes?: number; - - /** - * 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). - * @public - */ - AudioPids?: string; - - /** - * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06. - * @public - */ - AudioStreamType?: M2tsAudioStreamType; - - /** - * The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. - * @public - */ - Bitrate?: number; - - /** - * Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to ensure accurate network packet timing. Or set to NONE, which might result in lower latency but will result in more variability in output network packet timing. This variability might cause interruptions, jitter, or bursty behavior in your playback or receiving devices. - * @public - */ - BufferModel?: M2tsBufferModel; - - /** - * When set to enabled, generates captionServiceDescriptor in PMT. - * @public - */ - CcDescriptor?: M2tsCcDescriptor; - - /** - * Inserts DVB Network Information Table (NIT) at the specified table repetition interval. - * @public - */ - DvbNitSettings?: DvbNitSettings; - - /** - * Inserts DVB Service Description Table (SDT) at the specified table repetition interval. - * @public - */ - DvbSdtSettings?: DvbSdtSettings; - - /** - * 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). - * @public - */ - DvbSubPids?: string; - - /** - * Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. - * @public - */ - DvbTdtSettings?: DvbTdtSettings; - - /** - * Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). - * @public - */ - DvbTeletextPid?: string; - - /** - * If set to passthrough, passes any EBIF data from the input source to this output. - * @public - */ - Ebif?: M2tsEbifControl; - - /** - * When videoAndFixedIntervals is selected, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. Only available when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will always follow the video interval. - * @public - */ - EbpAudioInterval?: M2tsAudioInterval; - - /** - * 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. - * @public - */ - EbpLookaheadMs?: number; - - /** - * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP markers will be placed on the video PID and all audio PIDs. If set to videoPid, EBP markers will be placed on only the video PID. - * @public - */ - EbpPlacement?: M2tsEbpPlacement; - - /** - * This field is unused and deprecated. - * @public - */ - EcmPid?: string; - - /** - * Include or exclude the ES Rate field in the PES header. - * @public - */ - EsRateInPes?: M2tsEsRateInPes; - - /** - * Packet Identifier (PID) for input source ETV Platform data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). - * @public - */ - EtvPlatformPid?: string; - - /** - * Packet Identifier (PID) for input source ETV Signal data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). - * @public - */ - EtvSignalPid?: string; - - /** - * The length in seconds of each fragment. Only used with EBP markers. - * @public - */ - FragmentTime?: number; - - /** - * If set to passthrough, passes any KLV data from the input source to this output. - * @public - */ - Klv?: M2tsKlv; - - /** - * Packet Identifier (PID) for input source KLV 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). - * @public - */ - KlvDataPids?: string; - - /** - * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. - * @public - */ - NielsenId3Behavior?: M2tsNielsenId3Behavior; +export const ReservationVideoQuality = { + ENHANCED: "ENHANCED", + PREMIUM: "PREMIUM", + STANDARD: "STANDARD", +} as const; - /** - * 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. - * @public - */ - NullPacketBitrate?: number; +/** + * @public + */ +export type ReservationVideoQuality = (typeof ReservationVideoQuality)[keyof typeof ReservationVideoQuality]; +/** + * Resource configuration (codec, resolution, bitrate, ...) + * @public + */ +export interface ReservationResourceSpecification { /** - * The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. + * Channel class, e.g. 'STANDARD' * @public */ - PatInterval?: number; + ChannelClass?: ChannelClass; /** - * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. + * Codec, e.g. 'AVC' * @public */ - PcrControl?: M2tsPcrControl; + Codec?: ReservationCodec; /** - * Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream. + * Maximum bitrate, e.g. 'MAX_20_MBPS' * @public */ - PcrPeriod?: number; + MaximumBitrate?: ReservationMaximumBitrate; /** - * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only) * @public */ - PcrPid?: string; + MaximumFramerate?: ReservationMaximumFramerate; /** - * The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. + * Resolution, e.g. 'HD' * @public */ - PmtInterval?: number; + Resolution?: ReservationResolution; /** - * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' * @public */ - PmtPid?: string; + ResourceType?: ReservationResourceType; /** - * The value of the program number field in the Program Map Table. + * Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) * @public */ - ProgramNum?: number; + SpecialFeature?: ReservationSpecialFeature; /** - * When vbr, does not insert null packets into transport stream to fill specified bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. + * Video quality, e.g. 'STANDARD' (Outputs only) * @public */ - RateMode?: M2tsRateMode; + VideoQuality?: ReservationVideoQuality; +} +/** + * Reserved resources available for purchase + * @public + */ +export interface Offering { /** - * Packet Identifier (PID) for input source SCTE-27 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). + * Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321' * @public */ - Scte27Pids?: string; + Arn?: string; /** - * Optionally pass SCTE-35 signals from the input source to this output. + * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' * @public */ - Scte35Control?: M2tsScte35Control; + CurrencyCode?: string; /** - * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Lease duration, e.g. '12' * @public */ - Scte35Pid?: string; + Duration?: number; /** - * Inserts segmentation markers at each segmentationTime period. raiSegstart sets the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI bit and adds the current timecode in the private data bytes. psiSegstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format. + * Units for duration, e.g. 'MONTHS' * @public */ - SegmentationMarkers?: M2tsSegmentationMarkers; + DurationUnits?: OfferingDurationUnits; /** - * The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. - * - * When a segmentation style of "resetCadence" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of $segmentationTime seconds. - * - * When a segmentation style of "maintainCadence" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentationTime seconds. Note that EBP lookahead is a slight exception to this rule. + * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering * @public */ - SegmentationStyle?: M2tsSegmentationStyle; + FixedPrice?: number; /** - * The length in seconds of each segment. Required unless markers is set to _none_. + * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' * @public */ - SegmentationTime?: number; + OfferingDescription?: string; /** - * When set to passthrough, timed metadata will be passed through from input to output. + * Unique offering ID, e.g. '87654321' * @public */ - TimedMetadataBehavior?: M2tsTimedMetadataBehavior; + OfferingId?: string; /** - * Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Offering type, e.g. 'NO_UPFRONT' * @public */ - TimedMetadataPid?: string; + OfferingType?: OfferingType; /** - * The value of the transport stream ID field in the Program Map Table. + * AWS region, e.g. 'us-west-2' * @public */ - TransportStreamId?: number; + Region?: string; /** - * Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * Resource configuration details * @public */ - VideoPid?: string; + ResourceSpecification?: ReservationResourceSpecification; /** - * Defines the amount SCTE-35 preroll will be increased (in milliseconds) on the output. Preroll is the amount of time between the presence of a SCTE-35 indication in a transport stream and the PTS of the video frame it references. Zero means don't add pullup (it doesn't mean set the preroll to zero). Negative pullup is not supported, which means that you can't make the preroll shorter. Be aware that latency in the output will increase by the pullup amount. + * Recurring usage charge for each reserved resource, e.g. '157.0' * @public */ - Scte35PrerollPullupMilliseconds?: number; + UsagePrice?: number; } /** - * Raw Settings + * @public + * @enum + */ +export const M2tsAbsentInputAudioBehavior = { + DROP: "DROP", + ENCODE_SILENCE: "ENCODE_SILENCE", +} as const; + +/** * @public */ -export interface RawSettings {} +export type M2tsAbsentInputAudioBehavior = + (typeof M2tsAbsentInputAudioBehavior)[keyof typeof M2tsAbsentInputAudioBehavior]; /** - * Archive Container Settings * @public + * @enum */ -export interface ArchiveContainerSettings { - /** - * M2ts Settings - * @public - */ - M2tsSettings?: M2tsSettings; +export const M2tsArib = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; - /** - * Raw Settings - * @public - */ - RawSettings?: RawSettings; -} +/** + * @public + */ +export type M2tsArib = (typeof M2tsArib)[keyof typeof M2tsArib]; /** - * Archive Output Settings * @public + * @enum */ -export interface ArchiveOutputSettings { - /** - * Settings specific to the container type of the file. - * @public - */ - ContainerSettings: ArchiveContainerSettings | undefined; +export const M2tsAribCaptionsPidControl = { + AUTO: "AUTO", + USE_CONFIGURED: "USE_CONFIGURED", +} as const; - /** - * Output file extension. If excluded, this will be auto-selected from the container type. - * @public - */ - Extension?: string; +/** + * @public + */ +export type M2tsAribCaptionsPidControl = (typeof M2tsAribCaptionsPidControl)[keyof typeof M2tsAribCaptionsPidControl]; - /** - * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. - * @public - */ - NameModifier?: string; -} +/** + * @public + * @enum + */ +export const M2tsAudioBufferModel = { + ATSC: "ATSC", + DVB: "DVB", +} as const; /** - * Cmaf Ingest Output Settings * @public */ -export interface CmafIngestOutputSettings { - /** - * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. - * @public - */ - NameModifier?: string; -} +export type M2tsAudioBufferModel = (typeof M2tsAudioBufferModel)[keyof typeof M2tsAudioBufferModel]; /** - * Frame Capture Output Settings * @public + * @enum */ -export interface FrameCaptureOutputSettings { - /** - * Required if the output group contains more than one output. This modifier forms part of the output file name. - * @public - */ - NameModifier?: string; -} +export const M2tsAudioStreamType = { + ATSC: "ATSC", + DVB: "DVB", +} as const; + +/** + * @public + */ +export type M2tsAudioStreamType = (typeof M2tsAudioStreamType)[keyof typeof M2tsAudioStreamType]; /** * @public * @enum */ -export const HlsH265PackagingType = { - HEV1: "HEV1", - HVC1: "HVC1", +export const M2tsBufferModel = { + MULTIPLEX: "MULTIPLEX", + NONE: "NONE", } as const; /** * @public */ -export type HlsH265PackagingType = (typeof HlsH265PackagingType)[keyof typeof HlsH265PackagingType]; +export type M2tsBufferModel = (typeof M2tsBufferModel)[keyof typeof M2tsBufferModel]; /** * @public * @enum */ -export const AudioOnlyHlsTrackType = { - ALTERNATE_AUDIO_AUTO_SELECT: "ALTERNATE_AUDIO_AUTO_SELECT", - ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT: "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT", - ALTERNATE_AUDIO_NOT_AUTO_SELECT: "ALTERNATE_AUDIO_NOT_AUTO_SELECT", - AUDIO_ONLY_VARIANT_STREAM: "AUDIO_ONLY_VARIANT_STREAM", +export const M2tsCcDescriptor = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", } as const; /** * @public */ -export type AudioOnlyHlsTrackType = (typeof AudioOnlyHlsTrackType)[keyof typeof AudioOnlyHlsTrackType]; +export type M2tsCcDescriptor = (typeof M2tsCcDescriptor)[keyof typeof M2tsCcDescriptor]; + +/** + * DVB Network Information Table (NIT) + * @public + */ +export interface DvbNitSettings { + /** + * The numeric value placed in the Network Information Table (NIT). + * @public + */ + NetworkId: number | undefined; + + /** + * The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters. + * @public + */ + NetworkName: string | undefined; + + /** + * The number of milliseconds between instances of this table in the output transport stream. + * @public + */ + RepInterval?: number; +} /** * @public * @enum */ -export const AudioOnlyHlsSegmentType = { - AAC: "AAC", - FMP4: "FMP4", +export const DvbSdtOutputSdt = { + SDT_FOLLOW: "SDT_FOLLOW", + SDT_FOLLOW_IF_PRESENT: "SDT_FOLLOW_IF_PRESENT", + SDT_MANUAL: "SDT_MANUAL", + SDT_NONE: "SDT_NONE", } as const; /** * @public */ -export type AudioOnlyHlsSegmentType = (typeof AudioOnlyHlsSegmentType)[keyof typeof AudioOnlyHlsSegmentType]; +export type DvbSdtOutputSdt = (typeof DvbSdtOutputSdt)[keyof typeof DvbSdtOutputSdt]; /** - * Audio Only Hls Settings + * DVB Service Description Table (SDT) * @public */ -export interface AudioOnlyHlsSettings { +export interface DvbSdtSettings { + /** + * Selects method of inserting SDT information into output stream. The sdtFollow setting copies SDT information from input stream to output stream. The sdtFollowIfPresent setting copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. The sdtManual setting means user will enter the SDT information. The sdtNone setting means output stream will not contain SDT information. + * @public + */ + OutputSdt?: DvbSdtOutputSdt; + /** - * Specifies the group to which the audio Rendition belongs. + * The number of milliseconds between instances of this table in the output transport stream. * @public */ - AudioGroupId?: string; + RepInterval?: number; /** - * Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend a low bit-size file because the image increases the output audio bandwidth. - * - * The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native Frames" standard. + * The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. * @public */ - AudioOnlyImage?: InputLocation; + ServiceName?: string; /** - * Four types of audio-only tracks are supported: - * - * Audio-Only Variant Stream - * The client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. - * - * Alternate Audio, Auto Select, Default - * Alternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES - * - * Alternate Audio, Auto Select, Not Default - * Alternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES - * - * Alternate Audio, not Auto Select - * Alternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO + * The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters. * @public */ - AudioTrackType?: AudioOnlyHlsTrackType; + ServiceProviderName?: string; +} +/** + * DVB Time and Date Table (SDT) + * @public + */ +export interface DvbTdtSettings { /** - * Specifies the segment type. + * The number of milliseconds between instances of this table in the output transport stream. * @public */ - SegmentType?: AudioOnlyHlsSegmentType; + RepInterval?: number; } /** * @public * @enum */ -export const Fmp4NielsenId3Behavior = { - NO_PASSTHROUGH: "NO_PASSTHROUGH", +export const M2tsEbifControl = { + NONE: "NONE", PASSTHROUGH: "PASSTHROUGH", } as const; /** * @public */ -export type Fmp4NielsenId3Behavior = (typeof Fmp4NielsenId3Behavior)[keyof typeof Fmp4NielsenId3Behavior]; +export type M2tsEbifControl = (typeof M2tsEbifControl)[keyof typeof M2tsEbifControl]; /** * @public * @enum */ -export const Fmp4TimedMetadataBehavior = { - NO_PASSTHROUGH: "NO_PASSTHROUGH", - PASSTHROUGH: "PASSTHROUGH", +export const M2tsAudioInterval = { + VIDEO_AND_FIXED_INTERVALS: "VIDEO_AND_FIXED_INTERVALS", + VIDEO_INTERVAL: "VIDEO_INTERVAL", } as const; /** * @public */ -export type Fmp4TimedMetadataBehavior = (typeof Fmp4TimedMetadataBehavior)[keyof typeof Fmp4TimedMetadataBehavior]; +export type M2tsAudioInterval = (typeof M2tsAudioInterval)[keyof typeof M2tsAudioInterval]; /** - * Fmp4 Hls Settings * @public + * @enum */ -export interface Fmp4HlsSettings { - /** - * 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 ','. - * @public - */ - AudioRenditionSets?: string; +export const M2tsEbpPlacement = { + VIDEO_AND_AUDIO_PIDS: "VIDEO_AND_AUDIO_PIDS", + VIDEO_PID: "VIDEO_PID", +} as const; - /** - * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. - * @public - */ - NielsenId3Behavior?: Fmp4NielsenId3Behavior; +/** + * @public + */ +export type M2tsEbpPlacement = (typeof M2tsEbpPlacement)[keyof typeof M2tsEbpPlacement]; - /** - * When set to passthrough, timed metadata is passed through from input to output. - * @public - */ - TimedMetadataBehavior?: Fmp4TimedMetadataBehavior; -} +/** + * @public + * @enum + */ +export const M2tsEsRateInPes = { + EXCLUDE: "EXCLUDE", + INCLUDE: "INCLUDE", +} as const; /** - * Frame Capture Hls Settings * @public */ -export interface FrameCaptureHlsSettings {} +export type M2tsEsRateInPes = (typeof M2tsEsRateInPes)[keyof typeof M2tsEsRateInPes]; /** * @public * @enum */ -export const M3u8KlvBehavior = { - NO_PASSTHROUGH: "NO_PASSTHROUGH", +export const M2tsKlv = { + NONE: "NONE", PASSTHROUGH: "PASSTHROUGH", } as const; /** * @public */ -export type M3u8KlvBehavior = (typeof M3u8KlvBehavior)[keyof typeof M3u8KlvBehavior]; +export type M2tsKlv = (typeof M2tsKlv)[keyof typeof M2tsKlv]; /** * @public * @enum */ -export const M3u8NielsenId3Behavior = { +export const M2tsNielsenId3Behavior = { NO_PASSTHROUGH: "NO_PASSTHROUGH", PASSTHROUGH: "PASSTHROUGH", } as const; @@ -6456,13 +6600,13 @@ export const M3u8NielsenId3Behavior = { /** * @public */ -export type M3u8NielsenId3Behavior = (typeof M3u8NielsenId3Behavior)[keyof typeof M3u8NielsenId3Behavior]; +export type M2tsNielsenId3Behavior = (typeof M2tsNielsenId3Behavior)[keyof typeof M2tsNielsenId3Behavior]; /** * @public * @enum */ -export const M3u8PcrControl = { +export const M2tsPcrControl = { CONFIGURED_PCR_PERIOD: "CONFIGURED_PCR_PERIOD", PCR_EVERY_PES_PACKET: "PCR_EVERY_PES_PACKET", } as const; @@ -6470,530 +6614,436 @@ export const M3u8PcrControl = { /** * @public */ -export type M3u8PcrControl = (typeof M3u8PcrControl)[keyof typeof M3u8PcrControl]; +export type M2tsPcrControl = (typeof M2tsPcrControl)[keyof typeof M2tsPcrControl]; /** * @public * @enum */ -export const M3u8Scte35Behavior = { - NO_PASSTHROUGH: "NO_PASSTHROUGH", - PASSTHROUGH: "PASSTHROUGH", +export const M2tsRateMode = { + CBR: "CBR", + VBR: "VBR", } as const; /** * @public */ -export type M3u8Scte35Behavior = (typeof M3u8Scte35Behavior)[keyof typeof M3u8Scte35Behavior]; +export type M2tsRateMode = (typeof M2tsRateMode)[keyof typeof M2tsRateMode]; /** * @public * @enum */ -export const M3u8TimedMetadataBehavior = { - NO_PASSTHROUGH: "NO_PASSTHROUGH", +export const M2tsScte35Control = { + NONE: "NONE", PASSTHROUGH: "PASSTHROUGH", } as const; /** * @public */ -export type M3u8TimedMetadataBehavior = (typeof M3u8TimedMetadataBehavior)[keyof typeof M3u8TimedMetadataBehavior]; +export type M2tsScte35Control = (typeof M2tsScte35Control)[keyof typeof M2tsScte35Control]; /** - * Settings information for the .m3u8 container * @public + * @enum */ -export interface M3u8Settings { - /** - * The number of audio frames to insert for each PES packet. - * @public - */ - AudioFramesPerPes?: number; +export const M2tsSegmentationMarkers = { + EBP: "EBP", + EBP_LEGACY: "EBP_LEGACY", + NONE: "NONE", + PSI_SEGSTART: "PSI_SEGSTART", + RAI_ADAPT: "RAI_ADAPT", + RAI_SEGSTART: "RAI_SEGSTART", +} as const; - /** - * 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. - * @public - */ - AudioPids?: string; +/** + * @public + */ +export type M2tsSegmentationMarkers = (typeof M2tsSegmentationMarkers)[keyof typeof M2tsSegmentationMarkers]; - /** - * This parameter is unused and deprecated. - * @public - */ - EcmPid?: string; +/** + * @public + * @enum + */ +export const M2tsSegmentationStyle = { + MAINTAIN_CADENCE: "MAINTAIN_CADENCE", + RESET_CADENCE: "RESET_CADENCE", +} as const; - /** - * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. - * @public - */ - NielsenId3Behavior?: M3u8NielsenId3Behavior; +/** + * @public + */ +export type M2tsSegmentationStyle = (typeof M2tsSegmentationStyle)[keyof typeof M2tsSegmentationStyle]; - /** - * 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. - * @public - */ - PatInterval?: number; +/** + * @public + * @enum + */ +export const M2tsTimedMetadataBehavior = { + NO_PASSTHROUGH: "NO_PASSTHROUGH", + PASSTHROUGH: "PASSTHROUGH", +} as const; - /** - * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. - * @public - */ - PcrControl?: M3u8PcrControl; +/** + * @public + */ +export type M2tsTimedMetadataBehavior = (typeof M2tsTimedMetadataBehavior)[keyof typeof M2tsTimedMetadataBehavior]; +/** + * M2ts Settings + * @public + */ +export interface M2tsSettings { /** - * Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream. + * When set to drop, output audio streams will be removed from the program if the selected input audio stream is removed from the input. This allows the output audio configuration to dynamically change based on input configuration. If this is set to encodeSilence, all output audio streams will output encoded silence when not connected to an active input stream. * @public */ - PcrPeriod?: number; + AbsentInputAudioBehavior?: M2tsAbsentInputAudioBehavior; /** - * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. + * When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. * @public */ - PcrPid?: string; + Arib?: M2tsArib; /** - * 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. + * 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). * @public */ - PmtInterval?: number; + AribCaptionsPid?: string; /** - * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. + * If set to auto, pid number used for ARIB Captions will be auto-selected from unused pids. If set to useConfigured, ARIB Captions will be on the configured pid number. * @public */ - PmtPid?: string; + AribCaptionsPidControl?: M2tsAribCaptionsPidControl; /** - * The value of the program number field in the Program Map Table. + * When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used. * @public */ - ProgramNum?: number; + AudioBufferModel?: M2tsAudioBufferModel; /** - * If set to passthrough, passes any SCTE-35 signals from the input source to this output. + * The number of audio frames to insert for each PES packet. * @public */ - Scte35Behavior?: M3u8Scte35Behavior; + AudioFramesPerPes?: number; /** - * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. + * 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). * @public */ - Scte35Pid?: string; + AudioPids?: string; /** - * When set to passthrough, timed metadata is passed through from input to output. + * When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06. * @public */ - TimedMetadataBehavior?: M3u8TimedMetadataBehavior; + AudioStreamType?: M2tsAudioStreamType; /** - * Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). + * The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. * @public */ - TimedMetadataPid?: string; + Bitrate?: number; /** - * The value of the transport stream ID field in the Program Map Table. + * Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to ensure accurate network packet timing. Or set to NONE, which might result in lower latency but will result in more variability in output network packet timing. This variability might cause interruptions, jitter, or bursty behavior in your playback or receiving devices. * @public */ - TransportStreamId?: number; + BufferModel?: M2tsBufferModel; /** - * Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. + * When set to enabled, generates captionServiceDescriptor in PMT. * @public */ - VideoPid?: string; + CcDescriptor?: M2tsCcDescriptor; /** - * If set to passthrough, passes any KLV data from the input source to this output. + * Inserts DVB Network Information Table (NIT) at the specified table repetition interval. * @public */ - KlvBehavior?: M3u8KlvBehavior; + DvbNitSettings?: DvbNitSettings; /** - * Packet Identifier (PID) for input source KLV 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). + * Inserts DVB Service Description Table (SDT) at the specified table repetition interval. * @public */ - KlvDataPids?: string; -} + DvbSdtSettings?: DvbSdtSettings; -/** - * Standard Hls Settings - * @public - */ -export interface StandardHlsSettings { /** - * 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 ','. + * 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). * @public */ - AudioRenditionSets?: string; + DvbSubPids?: string; /** - * Settings information for the .m3u8 container + * Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. * @public */ - M3u8Settings: M3u8Settings | undefined; -} + DvbTdtSettings?: DvbTdtSettings; -/** - * Hls Settings - * @public - */ -export interface HlsSettings { /** - * Audio Only Hls Settings + * Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). * @public */ - AudioOnlyHlsSettings?: AudioOnlyHlsSettings; + DvbTeletextPid?: string; /** - * Fmp4 Hls Settings + * If set to passthrough, passes any EBIF data from the input source to this output. * @public */ - Fmp4HlsSettings?: Fmp4HlsSettings; + Ebif?: M2tsEbifControl; /** - * Frame Capture Hls Settings + * When videoAndFixedIntervals is selected, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. Only available when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will always follow the video interval. * @public */ - FrameCaptureHlsSettings?: FrameCaptureHlsSettings; + EbpAudioInterval?: M2tsAudioInterval; /** - * Standard Hls Settings + * 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. * @public */ - StandardHlsSettings?: StandardHlsSettings; -} + EbpLookaheadMs?: number; -/** - * Hls Output Settings - * @public - */ -export interface HlsOutputSettings { /** - * Only applicable when this output is referencing an H.265 video description. - * Specifies whether MP4 segments should be packaged as HEV1 or HVC1. + * Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP markers will be placed on the video PID and all audio PIDs. If set to videoPid, EBP markers will be placed on only the video PID. * @public */ - H265PackagingType?: HlsH265PackagingType; + EbpPlacement?: M2tsEbpPlacement; /** - * Settings regarding the underlying stream. These settings are different for audio-only outputs. + * This field is unused and deprecated. * @public */ - HlsSettings: HlsSettings | undefined; + EcmPid?: string; /** - * String concatenated to the end of the destination filename. Accepts \"Format Identifiers\":#formatIdentifierParameters. + * Include or exclude the ES Rate field in the PES header. * @public */ - NameModifier?: string; + EsRateInPes?: M2tsEsRateInPes; /** - * String concatenated to end of segment filenames. + * Packet Identifier (PID) for input source ETV Platform data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). * @public */ - SegmentModifier?: string; -} - -/** - * Media Package Output Settings - * @public - */ -export interface MediaPackageOutputSettings {} - -/** - * @public - * @enum - */ -export const MsSmoothH265PackagingType = { - HEV1: "HEV1", - HVC1: "HVC1", -} as const; - -/** - * @public - */ -export type MsSmoothH265PackagingType = (typeof MsSmoothH265PackagingType)[keyof typeof MsSmoothH265PackagingType]; + EtvPlatformPid?: string; -/** - * Ms Smooth Output Settings - * @public - */ -export interface MsSmoothOutputSettings { /** - * Only applicable when this output is referencing an H.265 video description. - * Specifies whether MP4 segments should be packaged as HEV1 or HVC1. + * Packet Identifier (PID) for input source ETV Signal data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). * @public */ - H265PackagingType?: MsSmoothH265PackagingType; + EtvSignalPid?: string; /** - * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. + * The length in seconds of each fragment. Only used with EBP markers. * @public */ - NameModifier?: string; -} + FragmentTime?: number; -/** - * Reference to an OutputDestination ID defined in the channel - * @public - */ -export interface OutputLocationRef { /** - * Placeholder documentation for __string + * If set to passthrough, passes any KLV data from the input source to this output. * @public */ - DestinationRefId?: string; -} + Klv?: M2tsKlv; -/** - * Multiplex Output Settings - * @public - */ -export interface MultiplexOutputSettings { /** - * Destination is a Multiplex. + * Packet Identifier (PID) for input source KLV 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). * @public */ - Destination: OutputLocationRef | undefined; -} - -/** - * @public - * @enum - */ -export const RtmpOutputCertificateMode = { - SELF_SIGNED: "SELF_SIGNED", - VERIFY_AUTHENTICITY: "VERIFY_AUTHENTICITY", -} as const; - -/** - * @public - */ -export type RtmpOutputCertificateMode = (typeof RtmpOutputCertificateMode)[keyof typeof RtmpOutputCertificateMode]; + KlvDataPids?: string; -/** - * Rtmp Output Settings - * @public - */ -export interface RtmpOutputSettings { /** - * If set to verifyAuthenticity, verify the tls certificate chain to a trusted Certificate Authority (CA). This will cause rtmps outputs with self-signed certificates to fail. + * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. * @public */ - CertificateMode?: RtmpOutputCertificateMode; + NielsenId3Behavior?: M2tsNielsenId3Behavior; /** - * Number of seconds to wait before retrying a connection to the Flash Media server if the connection is lost. + * 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. * @public */ - ConnectionRetryInterval?: number; + NullPacketBitrate?: number; /** - * The RTMP endpoint excluding the stream name (eg. rtmp://host/appname). For connection to Akamai, a username and password must be supplied. URI fields accept format identifiers. + * The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. * @public */ - Destination: OutputLocationRef | undefined; + PatInterval?: number; /** - * Number of retry attempts. + * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. * @public */ - NumRetries?: number; -} + PcrControl?: M2tsPcrControl; -/** - * Udp Container Settings - * @public - */ -export interface UdpContainerSettings { /** - * M2ts Settings + * Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream. * @public */ - M2tsSettings?: M2tsSettings; -} - -/** - * @public - * @enum - */ -export const FecOutputIncludeFec = { - COLUMN: "COLUMN", - COLUMN_AND_ROW: "COLUMN_AND_ROW", -} as const; - -/** - * @public - */ -export type FecOutputIncludeFec = (typeof FecOutputIncludeFec)[keyof typeof FecOutputIncludeFec]; + PcrPeriod?: number; -/** - * Fec Output Settings - * @public - */ -export interface FecOutputSettings { /** - * 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. + * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). * @public */ - ColumnDepth?: number; + PcrPid?: string; /** - * Enables column only or column and row based FEC + * The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000. * @public */ - IncludeFec?: FecOutputIncludeFec; + PmtInterval?: number; /** - * 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. + * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). * @public */ - RowLength?: number; -} + PmtPid?: string; -/** - * Udp Output Settings - * @public - */ -export interface UdpOutputSettings { /** - * 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. + * The value of the program number field in the Program Map Table. * @public */ - BufferMsec?: number; + ProgramNum?: number; /** - * Udp Container Settings + * When vbr, does not insert null packets into transport stream to fill specified bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. * @public */ - ContainerSettings: UdpContainerSettings | undefined; + RateMode?: M2tsRateMode; /** - * 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). + * Packet Identifier (PID) for input source SCTE-27 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). * @public */ - Destination: OutputLocationRef | undefined; + Scte27Pids?: string; /** - * Settings for enabling and adjusting Forward Error Correction on UDP outputs. + * Optionally pass SCTE-35 signals from the input source to this output. * @public */ - FecOutputSettings?: FecOutputSettings; -} + Scte35Control?: M2tsScte35Control; -/** - * Output Settings - * @public - */ -export interface OutputSettings { /** - * Archive Output Settings + * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). * @public */ - ArchiveOutputSettings?: ArchiveOutputSettings; + Scte35Pid?: string; /** - * Frame Capture Output Settings + * Inserts segmentation markers at each segmentationTime period. raiSegstart sets the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI bit and adds the current timecode in the private data bytes. psiSegstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format. * @public */ - FrameCaptureOutputSettings?: FrameCaptureOutputSettings; + SegmentationMarkers?: M2tsSegmentationMarkers; /** - * Hls Output Settings + * The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. + * + * When a segmentation style of "resetCadence" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of $segmentationTime seconds. + * + * When a segmentation style of "maintainCadence" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentationTime seconds. Note that EBP lookahead is a slight exception to this rule. * @public */ - HlsOutputSettings?: HlsOutputSettings; + SegmentationStyle?: M2tsSegmentationStyle; /** - * Media Package Output Settings + * The length in seconds of each segment. Required unless markers is set to _none_. * @public */ - MediaPackageOutputSettings?: MediaPackageOutputSettings; + SegmentationTime?: number; /** - * Ms Smooth Output Settings + * When set to passthrough, timed metadata will be passed through from input to output. * @public */ - MsSmoothOutputSettings?: MsSmoothOutputSettings; + TimedMetadataBehavior?: M2tsTimedMetadataBehavior; /** - * Multiplex Output Settings + * Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). * @public */ - MultiplexOutputSettings?: MultiplexOutputSettings; + TimedMetadataPid?: string; /** - * Rtmp Output Settings + * The value of the transport stream ID field in the Program Map Table. * @public */ - RtmpOutputSettings?: RtmpOutputSettings; + TransportStreamId?: number; /** - * Udp Output Settings + * Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). * @public */ - UdpOutputSettings?: UdpOutputSettings; + VideoPid?: string; /** - * Cmaf Ingest Output Settings + * Defines the amount SCTE-35 preroll will be increased (in milliseconds) on the output. Preroll is the amount of time between the presence of a SCTE-35 indication in a transport stream and the PTS of the video frame it references. Zero means don't add pullup (it doesn't mean set the preroll to zero). Negative pullup is not supported, which means that you can't make the preroll shorter. Be aware that latency in the output will increase by the pullup amount. * @public */ - CmafIngestOutputSettings?: CmafIngestOutputSettings; + Scte35PrerollPullupMilliseconds?: number; } /** - * Output settings. There can be multiple outputs within a group. + * Raw Settings + * @public + */ +export interface RawSettings {} + +/** + * Archive Container Settings * @public */ -export interface Output { +export interface ArchiveContainerSettings { /** - * The names of the AudioDescriptions used as audio sources for this output. + * M2ts Settings * @public */ - AudioDescriptionNames?: string[]; + M2tsSettings?: M2tsSettings; /** - * The names of the CaptionDescriptions used as caption sources for this output. + * Raw Settings * @public */ - CaptionDescriptionNames?: string[]; + RawSettings?: RawSettings; +} +/** + * Archive Output Settings + * @public + */ +export interface ArchiveOutputSettings { /** - * The name used to identify an output. + * Settings specific to the container type of the file. * @public */ - OutputName?: string; + ContainerSettings: ArchiveContainerSettings | undefined; /** - * Output type-specific settings. + * Output file extension. If excluded, this will be auto-selected from the container type. * @public */ - OutputSettings: OutputSettings | undefined; + Extension?: string; /** - * The name of the VideoDescription used as the source for this output. + * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. * @public */ - VideoDescriptionName?: string; + NameModifier?: string; } /** - * @public - * @enum - */ -export const S3CannedAcl = { - AUTHENTICATED_READ: "AUTHENTICATED_READ", - BUCKET_OWNER_FULL_CONTROL: "BUCKET_OWNER_FULL_CONTROL", - BUCKET_OWNER_READ: "BUCKET_OWNER_READ", - PUBLIC_READ: "PUBLIC_READ", -} as const; - -/** + * Cmaf Ingest Output Settings * @public */ -export type S3CannedAcl = (typeof S3CannedAcl)[keyof typeof S3CannedAcl]; +export interface CmafIngestOutputSettings { + /** + * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. + * @public + */ + NameModifier?: string; +} diff --git a/clients/client-medialive/src/models/models_1.ts b/clients/client-medialive/src/models/models_1.ts index 6e8750e6f421..d3d4b84cf99e 100644 --- a/clients/client-medialive/src/models/models_1.ts +++ b/clients/client-medialive/src/models/models_1.ts @@ -5,1325 +5,1136 @@ import { MediaLiveServiceException as __BaseException } from "./MediaLiveService import { Algorithm, - AudioDescription, + ArchiveOutputSettings, BatchFailedResultModel, BatchSuccessfulResultModel, - CaptionDescription, CaptionLanguageMapping, - CdiInputSpecification, - ChannelClass, - ChannelEgressEndpoint, - ChannelState, - CloudWatchAlarmTemplateComparisonOperator, - CloudWatchAlarmTemplateStatistic, - CloudWatchAlarmTemplateTargetResourceType, - CloudWatchAlarmTemplateTreatMissingData, + CmafIngestOutputSettings, ColorCorrection, - EventBridgeRuleTemplateEventType, - EventBridgeRuleTemplateTarget, Hdr10Settings, HlsAdMarkers, - Input, - InputAttachment, - InputDestinationRequest, - InputDeviceSettings, InputLocation, - InputSecurityGroup, - InputSourceRequest, - InputSpecification, - InputType, - InputWhitelistRuleCidr, - LogLevel, - MaintenanceDay, - MaintenanceStatus, - MediaConnectFlowRequest, - MultiplexOutputDestination, - MultiplexProgramPipelineDetail, - MultiplexState, + M2tsSettings, OfferingDurationUnits, OfferingType, - Output, - OutputDestination, - OutputLocationRef, ReservationResourceSpecification, - S3CannedAcl, - 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 + * Frame Capture Output Settings * @public */ -export interface ArchiveGroupSettings { - /** - * Parameters that control interactions with the CDN. - * @public - */ - ArchiveCdnSettings?: ArchiveCdnSettings; - +export interface FrameCaptureOutputSettings { /** - * 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. + * Required if the output group contains more than one output. This modifier forms part of the output file name. * @public */ - RolloverInterval?: number; + NameModifier?: string; } /** * @public * @enum */ -export const CmafNielsenId3Behavior = { - NO_PASSTHROUGH: "NO_PASSTHROUGH", - PASSTHROUGH: "PASSTHROUGH", +export const HlsH265PackagingType = { + HEV1: "HEV1", + HVC1: "HVC1", } as const; /** * @public */ -export type CmafNielsenId3Behavior = (typeof CmafNielsenId3Behavior)[keyof typeof CmafNielsenId3Behavior]; +export type HlsH265PackagingType = (typeof HlsH265PackagingType)[keyof typeof HlsH265PackagingType]; /** * @public * @enum */ -export const Scte35Type = { - NONE: "NONE", - SCTE_35_WITHOUT_SEGMENTATION: "SCTE_35_WITHOUT_SEGMENTATION", +export const AudioOnlyHlsTrackType = { + ALTERNATE_AUDIO_AUTO_SELECT: "ALTERNATE_AUDIO_AUTO_SELECT", + ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT: "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT", + ALTERNATE_AUDIO_NOT_AUTO_SELECT: "ALTERNATE_AUDIO_NOT_AUTO_SELECT", + AUDIO_ONLY_VARIANT_STREAM: "AUDIO_ONLY_VARIANT_STREAM", } as const; /** * @public */ -export type Scte35Type = (typeof Scte35Type)[keyof typeof Scte35Type]; +export type AudioOnlyHlsTrackType = (typeof AudioOnlyHlsTrackType)[keyof typeof AudioOnlyHlsTrackType]; /** * @public * @enum */ -export const CmafIngestSegmentLengthUnits = { - MILLISECONDS: "MILLISECONDS", - SECONDS: "SECONDS", +export const AudioOnlyHlsSegmentType = { + AAC: "AAC", + FMP4: "FMP4", } as const; /** * @public */ -export type CmafIngestSegmentLengthUnits = - (typeof CmafIngestSegmentLengthUnits)[keyof typeof CmafIngestSegmentLengthUnits]; +export type AudioOnlyHlsSegmentType = (typeof AudioOnlyHlsSegmentType)[keyof typeof AudioOnlyHlsSegmentType]; /** - * Cmaf Ingest Group Settings + * Audio Only Hls Settings * @public */ -export interface CmafIngestGroupSettings { - /** - * A HTTP destination for the tracks - * @public - */ - Destination: OutputLocationRef | undefined; - - /** - * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. - * @public - */ - NielsenId3Behavior?: CmafNielsenId3Behavior; - - /** - * Type of scte35 track to add. none or scte35WithoutSegmentation - * @public - */ - Scte35Type?: Scte35Type; - +export interface AudioOnlyHlsSettings { /** - * The nominal duration of segments. The units are specified in SegmentLengthUnits. The segments will end on the next keyframe after the specified duration, so the actual segment length might be longer, and it might be a fraction of the units. + * Specifies the group to which the audio Rendition belongs. * @public */ - SegmentLength?: number; + AudioGroupId?: string; /** - * Time unit for segment length parameter. + * Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend a low bit-size file because the image increases the output audio bandwidth. + * + * The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native Frames" standard. * @public */ - SegmentLengthUnits?: CmafIngestSegmentLengthUnits; + AudioOnlyImage?: InputLocation; /** - * Number of milliseconds to delay the output from the second pipeline. + * Four types of audio-only tracks are supported: + * + * Audio-Only Variant Stream + * The client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. + * + * Alternate Audio, Auto Select, Default + * Alternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES + * + * Alternate Audio, Auto Select, Not Default + * Alternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES + * + * Alternate Audio, not Auto Select + * Alternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO * @public */ - SendDelayMs?: number; -} + AudioTrackType?: AudioOnlyHlsTrackType; -/** - * Frame Capture S3 Settings - * @public - */ -export interface FrameCaptureS3Settings { /** - * Specify the canned ACL to apply to each S3 request. Defaults to none. + * Specifies the segment type. * @public */ - CannedAcl?: S3CannedAcl; + SegmentType?: AudioOnlyHlsSegmentType; } /** - * Frame Capture Cdn Settings * @public + * @enum */ -export interface FrameCaptureCdnSettings { - /** - * Frame Capture S3 Settings - * @public - */ - FrameCaptureS3Settings?: FrameCaptureS3Settings; -} +export const Fmp4NielsenId3Behavior = { + NO_PASSTHROUGH: "NO_PASSTHROUGH", + PASSTHROUGH: "PASSTHROUGH", +} as const; /** - * Frame Capture Group Settings * @public */ -export interface FrameCaptureGroupSettings { - /** - * The destination for the frame capture files. Either the URI for an Amazon S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling-) or the URI for a MediaStore container, plus a file name prefix (for example, mediastoressl://sportsDelivery/20180820/curling-). The final file names consist of the prefix from the destination field (for example, "curling-") + name modifier + the counter (5 digits, starting from 00001) + extension (which is always .jpg). For example, curling-low.00001.jpg - * @public - */ - Destination: OutputLocationRef | undefined; - - /** - * Parameters that control interactions with the CDN. - * @public - */ - FrameCaptureCdnSettings?: FrameCaptureCdnSettings; -} +export type Fmp4NielsenId3Behavior = (typeof Fmp4NielsenId3Behavior)[keyof typeof Fmp4NielsenId3Behavior]; /** * @public * @enum */ -export const HlsCaptionLanguageSetting = { - INSERT: "INSERT", - NONE: "NONE", - OMIT: "OMIT", +export const Fmp4TimedMetadataBehavior = { + NO_PASSTHROUGH: "NO_PASSTHROUGH", + PASSTHROUGH: "PASSTHROUGH", } as const; /** * @public */ -export type HlsCaptionLanguageSetting = (typeof HlsCaptionLanguageSetting)[keyof typeof HlsCaptionLanguageSetting]; +export type Fmp4TimedMetadataBehavior = (typeof Fmp4TimedMetadataBehavior)[keyof typeof Fmp4TimedMetadataBehavior]; /** + * Fmp4 Hls Settings * @public - * @enum */ -export const HlsClientCache = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; +export interface Fmp4HlsSettings { + /** + * 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 ','. + * @public + */ + AudioRenditionSets?: string; + + /** + * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. + * @public + */ + NielsenId3Behavior?: Fmp4NielsenId3Behavior; + + /** + * When set to passthrough, timed metadata is passed through from input to output. + * @public + */ + TimedMetadataBehavior?: Fmp4TimedMetadataBehavior; +} /** + * Frame Capture Hls Settings * @public */ -export type HlsClientCache = (typeof HlsClientCache)[keyof typeof HlsClientCache]; +export interface FrameCaptureHlsSettings {} /** * @public * @enum */ -export const HlsCodecSpecification = { - RFC_4281: "RFC_4281", - RFC_6381: "RFC_6381", +export const M3u8KlvBehavior = { + NO_PASSTHROUGH: "NO_PASSTHROUGH", + PASSTHROUGH: "PASSTHROUGH", } as const; /** * @public */ -export type HlsCodecSpecification = (typeof HlsCodecSpecification)[keyof typeof HlsCodecSpecification]; +export type M3u8KlvBehavior = (typeof M3u8KlvBehavior)[keyof typeof M3u8KlvBehavior]; /** * @public * @enum */ -export const HlsDirectoryStructure = { - SINGLE_DIRECTORY: "SINGLE_DIRECTORY", - SUBDIRECTORY_PER_STREAM: "SUBDIRECTORY_PER_STREAM", +export const M3u8NielsenId3Behavior = { + NO_PASSTHROUGH: "NO_PASSTHROUGH", + PASSTHROUGH: "PASSTHROUGH", } as const; /** * @public */ -export type HlsDirectoryStructure = (typeof HlsDirectoryStructure)[keyof typeof HlsDirectoryStructure]; +export type M3u8NielsenId3Behavior = (typeof M3u8NielsenId3Behavior)[keyof typeof M3u8NielsenId3Behavior]; /** * @public * @enum */ -export const HlsDiscontinuityTags = { - INSERT: "INSERT", - NEVER_INSERT: "NEVER_INSERT", +export const M3u8PcrControl = { + CONFIGURED_PCR_PERIOD: "CONFIGURED_PCR_PERIOD", + PCR_EVERY_PES_PACKET: "PCR_EVERY_PES_PACKET", } as const; /** * @public */ -export type HlsDiscontinuityTags = (typeof HlsDiscontinuityTags)[keyof typeof HlsDiscontinuityTags]; +export type M3u8PcrControl = (typeof M3u8PcrControl)[keyof typeof M3u8PcrControl]; /** * @public * @enum */ -export const HlsEncryptionType = { - AES128: "AES128", - SAMPLE_AES: "SAMPLE_AES", +export const M3u8Scte35Behavior = { + NO_PASSTHROUGH: "NO_PASSTHROUGH", + PASSTHROUGH: "PASSTHROUGH", } as const; /** * @public */ -export type HlsEncryptionType = (typeof HlsEncryptionType)[keyof typeof HlsEncryptionType]; +export type M3u8Scte35Behavior = (typeof M3u8Scte35Behavior)[keyof typeof M3u8Scte35Behavior]; /** * @public * @enum */ -export const HlsAkamaiHttpTransferMode = { - CHUNKED: "CHUNKED", - NON_CHUNKED: "NON_CHUNKED", +export const M3u8TimedMetadataBehavior = { + NO_PASSTHROUGH: "NO_PASSTHROUGH", + PASSTHROUGH: "PASSTHROUGH", } as const; /** * @public */ -export type HlsAkamaiHttpTransferMode = (typeof HlsAkamaiHttpTransferMode)[keyof typeof HlsAkamaiHttpTransferMode]; +export type M3u8TimedMetadataBehavior = (typeof M3u8TimedMetadataBehavior)[keyof typeof M3u8TimedMetadataBehavior]; /** - * Hls Akamai Settings + * Settings information for the .m3u8 container * @public */ -export interface HlsAkamaiSettings { +export interface M3u8Settings { /** - * Number of seconds to wait before retrying connection to the CDN if the connection is lost. + * The number of audio frames to insert for each PES packet. * @public */ - ConnectionRetryInterval?: number; + AudioFramesPerPes?: number; /** - * Size in seconds of file cache for streaming outputs. + * 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. * @public */ - FilecacheDuration?: number; + AudioPids?: string; /** - * Specify whether or not to use chunked transfer encoding to Akamai. User should contact Akamai to enable this feature. + * This parameter is unused and deprecated. * @public */ - HttpTransferMode?: HlsAkamaiHttpTransferMode; + EcmPid?: string; /** - * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3. + * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. * @public */ - NumRetries?: number; + NielsenId3Behavior?: M3u8NielsenId3Behavior; /** - * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + * 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. * @public */ - RestartDelay?: number; + PatInterval?: number; /** - * Salt for authenticated Akamai. + * When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. * @public */ - Salt?: string; + PcrControl?: M3u8PcrControl; /** - * Token parameter for authenticated akamai. If not specified, _gda_ is used. + * Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream. * @public */ - Token?: string; -} + PcrPeriod?: number; -/** - * Hls Basic Put Settings - * @public - */ -export interface HlsBasicPutSettings { /** - * Number of seconds to wait before retrying connection to the CDN if the connection is lost. + * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. * @public */ - ConnectionRetryInterval?: number; + PcrPid?: string; /** - * Size in seconds of file cache for streaming outputs. + * 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. * @public */ - FilecacheDuration?: number; + PmtInterval?: number; /** - * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3. + * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. * @public */ - NumRetries?: number; + PmtPid?: string; /** - * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + * The value of the program number field in the Program Map Table. * @public */ - RestartDelay?: number; -} + ProgramNum?: number; -/** - * @public - * @enum - */ -export const HlsMediaStoreStorageClass = { - TEMPORAL: "TEMPORAL", -} as const; + /** + * If set to passthrough, passes any SCTE-35 signals from the input source to this output. + * @public + */ + Scte35Behavior?: M3u8Scte35Behavior; -/** - * @public - */ -export type HlsMediaStoreStorageClass = (typeof HlsMediaStoreStorageClass)[keyof typeof HlsMediaStoreStorageClass]; + /** + * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. + * @public + */ + Scte35Pid?: string; -/** - * Hls Media Store Settings - * @public - */ -export interface HlsMediaStoreSettings { /** - * Number of seconds to wait before retrying connection to the CDN if the connection is lost. + * When set to passthrough, timed metadata is passed through from input to output. * @public */ - ConnectionRetryInterval?: number; + TimedMetadataBehavior?: M3u8TimedMetadataBehavior; /** - * Size in seconds of file cache for streaming outputs. + * Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6). * @public */ - FilecacheDuration?: number; + TimedMetadataPid?: string; /** - * When set to temporal, output files are stored in non-persistent memory for faster reading and writing. + * The value of the transport stream ID field in the Program Map Table. * @public */ - MediaStoreStorageClass?: HlsMediaStoreStorageClass; + TransportStreamId?: number; /** - * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3. + * Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. * @public */ - NumRetries?: number; + VideoPid?: string; /** - * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + * If set to passthrough, passes any KLV data from the input source to this output. * @public */ - RestartDelay?: number; + KlvBehavior?: M3u8KlvBehavior; + + /** + * Packet Identifier (PID) for input source KLV 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). + * @public + */ + KlvDataPids?: string; } /** - * Hls S3 Settings + * Standard Hls Settings * @public */ -export interface HlsS3Settings { +export interface StandardHlsSettings { /** - * Specify the canned ACL to apply to each S3 request. Defaults to none. + * 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 ','. * @public */ - CannedAcl?: S3CannedAcl; + AudioRenditionSets?: string; + + /** + * Settings information for the .m3u8 container + * @public + */ + M3u8Settings: M3u8Settings | undefined; } /** + * Hls Settings * @public - * @enum */ -export const HlsWebdavHttpTransferMode = { - CHUNKED: "CHUNKED", - NON_CHUNKED: "NON_CHUNKED", -} as const; - -/** - * @public - */ -export type HlsWebdavHttpTransferMode = (typeof HlsWebdavHttpTransferMode)[keyof typeof HlsWebdavHttpTransferMode]; - -/** - * Hls Webdav Settings - * @public - */ -export interface HlsWebdavSettings { - /** - * Number of seconds to wait before retrying connection to the CDN if the connection is lost. - * @public - */ - ConnectionRetryInterval?: number; +export interface HlsSettings { + /** + * Audio Only Hls Settings + * @public + */ + AudioOnlyHlsSettings?: AudioOnlyHlsSettings; /** - * Size in seconds of file cache for streaming outputs. - * @public - */ - FilecacheDuration?: number; - - /** - * Specify whether or not to use chunked transfer encoding to WebDAV. + * Fmp4 Hls Settings * @public */ - HttpTransferMode?: HlsWebdavHttpTransferMode; + Fmp4HlsSettings?: Fmp4HlsSettings; /** - * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3. + * Frame Capture Hls Settings * @public */ - NumRetries?: number; + FrameCaptureHlsSettings?: FrameCaptureHlsSettings; /** - * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + * Standard Hls Settings * @public */ - RestartDelay?: number; + StandardHlsSettings?: StandardHlsSettings; } /** - * Hls Cdn Settings + * Hls Output Settings * @public */ -export interface HlsCdnSettings { - /** - * Hls Akamai Settings - * @public - */ - HlsAkamaiSettings?: HlsAkamaiSettings; - +export interface HlsOutputSettings { /** - * Hls Basic Put Settings + * Only applicable when this output is referencing an H.265 video description. + * Specifies whether MP4 segments should be packaged as HEV1 or HVC1. * @public */ - HlsBasicPutSettings?: HlsBasicPutSettings; + H265PackagingType?: HlsH265PackagingType; /** - * Hls Media Store Settings + * Settings regarding the underlying stream. These settings are different for audio-only outputs. * @public */ - HlsMediaStoreSettings?: HlsMediaStoreSettings; + HlsSettings: HlsSettings | undefined; /** - * Hls S3 Settings + * String concatenated to the end of the destination filename. Accepts \"Format Identifiers\":#formatIdentifierParameters. * @public */ - HlsS3Settings?: HlsS3Settings; + NameModifier?: string; /** - * Hls Webdav Settings + * String concatenated to end of segment filenames. * @public */ - HlsWebdavSettings?: HlsWebdavSettings; + SegmentModifier?: string; } /** - * @public - * @enum - */ -export const HlsId3SegmentTaggingState = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** + * Media Package Output Settings * @public */ -export type HlsId3SegmentTaggingState = (typeof HlsId3SegmentTaggingState)[keyof typeof HlsId3SegmentTaggingState]; +export interface MediaPackageOutputSettings {} /** * @public * @enum */ -export const IFrameOnlyPlaylistType = { - DISABLED: "DISABLED", - STANDARD: "STANDARD", +export const MsSmoothH265PackagingType = { + HEV1: "HEV1", + HVC1: "HVC1", } as const; /** * @public */ -export type IFrameOnlyPlaylistType = (typeof IFrameOnlyPlaylistType)[keyof typeof IFrameOnlyPlaylistType]; +export type MsSmoothH265PackagingType = (typeof MsSmoothH265PackagingType)[keyof typeof MsSmoothH265PackagingType]; /** + * Ms Smooth Output Settings * @public - * @enum */ -export const HlsIncompleteSegmentBehavior = { - AUTO: "AUTO", - SUPPRESS: "SUPPRESS", -} as const; +export interface MsSmoothOutputSettings { + /** + * Only applicable when this output is referencing an H.265 video description. + * Specifies whether MP4 segments should be packaged as HEV1 or HVC1. + * @public + */ + H265PackagingType?: MsSmoothH265PackagingType; -/** - * @public - */ -export type HlsIncompleteSegmentBehavior = - (typeof HlsIncompleteSegmentBehavior)[keyof typeof HlsIncompleteSegmentBehavior]; + /** + * String concatenated to the end of the destination filename. Required for multiple outputs of the same type. + * @public + */ + NameModifier?: string; +} /** + * Reference to an OutputDestination ID defined in the channel * @public - * @enum */ -export const InputLossActionForHlsOut = { - EMIT_OUTPUT: "EMIT_OUTPUT", - PAUSE_OUTPUT: "PAUSE_OUTPUT", -} as const; +export interface OutputLocationRef { + /** + * Placeholder documentation for __string + * @public + */ + DestinationRefId?: string; +} /** + * Multiplex Output Settings * @public */ -export type InputLossActionForHlsOut = (typeof InputLossActionForHlsOut)[keyof typeof InputLossActionForHlsOut]; +export interface MultiplexOutputSettings { + /** + * Destination is a Multiplex. + * @public + */ + Destination: OutputLocationRef | undefined; +} /** * @public * @enum */ -export const HlsIvInManifest = { - EXCLUDE: "EXCLUDE", - INCLUDE: "INCLUDE", +export const RtmpOutputCertificateMode = { + SELF_SIGNED: "SELF_SIGNED", + VERIFY_AUTHENTICITY: "VERIFY_AUTHENTICITY", } as const; /** * @public */ -export type HlsIvInManifest = (typeof HlsIvInManifest)[keyof typeof HlsIvInManifest]; +export type RtmpOutputCertificateMode = (typeof RtmpOutputCertificateMode)[keyof typeof RtmpOutputCertificateMode]; /** + * Rtmp Output Settings * @public - * @enum */ -export const HlsIvSource = { - EXPLICIT: "EXPLICIT", - FOLLOWS_SEGMENT_NUMBER: "FOLLOWS_SEGMENT_NUMBER", -} as const; +export interface RtmpOutputSettings { + /** + * If set to verifyAuthenticity, verify the tls certificate chain to a trusted Certificate Authority (CA). This will cause rtmps outputs with self-signed certificates to fail. + * @public + */ + CertificateMode?: RtmpOutputCertificateMode; -/** - * @public - */ -export type HlsIvSource = (typeof HlsIvSource)[keyof typeof HlsIvSource]; + /** + * Number of seconds to wait before retrying a connection to the Flash Media server if the connection is lost. + * @public + */ + ConnectionRetryInterval?: number; -/** - * Static Key Settings - * @public - */ -export interface StaticKeySettings { /** - * The URL of the license server used for protecting content. + * The RTMP endpoint excluding the stream name (eg. rtmp://host/appname). For connection to Akamai, a username and password must be supplied. URI fields accept format identifiers. * @public */ - KeyProviderServer?: InputLocation; + Destination: OutputLocationRef | undefined; /** - * Static key value as a 32 character hexadecimal string. + * Number of retry attempts. * @public */ - StaticKeyValue: string | undefined; + NumRetries?: number; } /** - * Key Provider Settings + * Udp Container Settings * @public */ -export interface KeyProviderSettings { +export interface UdpContainerSettings { /** - * Static Key Settings + * M2ts Settings * @public */ - StaticKeySettings?: StaticKeySettings; + M2tsSettings?: M2tsSettings; } /** * @public * @enum */ -export const HlsManifestCompression = { - GZIP: "GZIP", - NONE: "NONE", +export const SrtEncryptionType = { + AES128: "AES128", + AES192: "AES192", + AES256: "AES256", } as const; /** * @public */ -export type HlsManifestCompression = (typeof HlsManifestCompression)[keyof typeof HlsManifestCompression]; - -/** - * @public - * @enum - */ -export const HlsManifestDurationFormat = { - FLOATING_POINT: "FLOATING_POINT", - INTEGER: "INTEGER", -} as const; +export type SrtEncryptionType = (typeof SrtEncryptionType)[keyof typeof SrtEncryptionType]; /** + * Srt Output Settings * @public */ -export type HlsManifestDurationFormat = (typeof HlsManifestDurationFormat)[keyof typeof HlsManifestDurationFormat]; +export interface SrtOutputSettings { + /** + * SRT output buffering in milliseconds. A higher value increases latency through the encoder. But the benefits are that it helps to maintain a constant, low-jitter SRT output, and it accommodates clock recovery, input switching, input disruptions, picture reordering, and so on. Range: 0-10000 milliseconds. + * @public + */ + BufferMsec?: number; -/** - * @public - * @enum - */ -export const HlsMode = { - LIVE: "LIVE", - VOD: "VOD", -} as const; + /** + * Udp Container Settings + * @public + */ + ContainerSettings: UdpContainerSettings | undefined; -/** - * @public - */ -export type HlsMode = (typeof HlsMode)[keyof typeof HlsMode]; + /** + * Reference to an OutputDestination ID defined in the channel + * @public + */ + Destination: OutputLocationRef | undefined; -/** - * @public - * @enum - */ -export const HlsOutputSelection = { - MANIFESTS_AND_SEGMENTS: "MANIFESTS_AND_SEGMENTS", - SEGMENTS_ONLY: "SEGMENTS_ONLY", - VARIANT_MANIFESTS_AND_SEGMENTS: "VARIANT_MANIFESTS_AND_SEGMENTS", -} as const; + /** + * The encryption level for the content. Valid values are AES128, AES192, AES256. You and the downstream system should plan how to set this field because the values must not conflict with each other. + * @public + */ + EncryptionType?: SrtEncryptionType; -/** - * @public - */ -export type HlsOutputSelection = (typeof HlsOutputSelection)[keyof typeof HlsOutputSelection]; + /** + * The latency value, in milliseconds, that is proposed during the SRT connection handshake. SRT will choose the maximum of the values proposed by the sender and receiver. On the sender side, latency is the amount of time a packet is held to give it a chance to be delivered successfully. On the receiver side, latency is the amount of time the packet is held before delivering to the application, aiding in packet recovery and matching as closely as possible the packet timing of the sender. Range: 40-16000 milliseconds. + * @public + */ + Latency?: number; +} /** * @public * @enum */ -export const HlsProgramDateTime = { - EXCLUDE: "EXCLUDE", - INCLUDE: "INCLUDE", +export const FecOutputIncludeFec = { + COLUMN: "COLUMN", + COLUMN_AND_ROW: "COLUMN_AND_ROW", } as const; /** * @public */ -export type HlsProgramDateTime = (typeof HlsProgramDateTime)[keyof typeof HlsProgramDateTime]; +export type FecOutputIncludeFec = (typeof FecOutputIncludeFec)[keyof typeof FecOutputIncludeFec]; /** + * Fec Output Settings * @public - * @enum */ -export const HlsProgramDateTimeClock = { - INITIALIZE_FROM_OUTPUT_TIMECODE: "INITIALIZE_FROM_OUTPUT_TIMECODE", - SYSTEM_CLOCK: "SYSTEM_CLOCK", -} as const; +export interface FecOutputSettings { + /** + * 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. + * @public + */ + ColumnDepth?: number; -/** - * @public - */ -export type HlsProgramDateTimeClock = (typeof HlsProgramDateTimeClock)[keyof typeof HlsProgramDateTimeClock]; + /** + * Enables column only or column and row based FEC + * @public + */ + IncludeFec?: FecOutputIncludeFec; -/** - * @public - * @enum - */ -export const HlsRedundantManifest = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; + /** + * 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. + * @public + */ + RowLength?: number; +} /** + * Udp Output Settings * @public */ -export type HlsRedundantManifest = (typeof HlsRedundantManifest)[keyof typeof HlsRedundantManifest]; +export interface UdpOutputSettings { + /** + * 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. + * @public + */ + BufferMsec?: number; -/** - * @public - * @enum - */ -export const HlsSegmentationMode = { - USE_INPUT_SEGMENTATION: "USE_INPUT_SEGMENTATION", - USE_SEGMENT_DURATION: "USE_SEGMENT_DURATION", -} as const; + /** + * Udp Container Settings + * @public + */ + ContainerSettings: UdpContainerSettings | undefined; -/** - * @public - */ -export type HlsSegmentationMode = (typeof HlsSegmentationMode)[keyof typeof HlsSegmentationMode]; + /** + * 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). + * @public + */ + Destination: OutputLocationRef | undefined; -/** - * @public - * @enum - */ -export const HlsStreamInfResolution = { - EXCLUDE: "EXCLUDE", - INCLUDE: "INCLUDE", -} as const; + /** + * Settings for enabling and adjusting Forward Error Correction on UDP outputs. + * @public + */ + FecOutputSettings?: FecOutputSettings; +} /** + * Output Settings * @public */ -export type HlsStreamInfResolution = (typeof HlsStreamInfResolution)[keyof typeof HlsStreamInfResolution]; +export interface OutputSettings { + /** + * Archive Output Settings + * @public + */ + ArchiveOutputSettings?: ArchiveOutputSettings; -/** - * @public - * @enum - */ -export const HlsTimedMetadataId3Frame = { - NONE: "NONE", - PRIV: "PRIV", - TDRL: "TDRL", -} as const; - -/** - * @public - */ -export type HlsTimedMetadataId3Frame = (typeof HlsTimedMetadataId3Frame)[keyof typeof HlsTimedMetadataId3Frame]; - -/** - * @public - * @enum - */ -export const HlsTsFileMode = { - SEGMENTED_FILES: "SEGMENTED_FILES", - SINGLE_FILE: "SINGLE_FILE", -} as const; - -/** - * @public - */ -export type HlsTsFileMode = (typeof HlsTsFileMode)[keyof typeof HlsTsFileMode]; - -/** - * Hls Group Settings - * @public - */ -export interface HlsGroupSettings { /** - * Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. + * Frame Capture Output Settings * @public */ - AdMarkers?: HlsAdMarkers[]; + FrameCaptureOutputSettings?: FrameCaptureOutputSettings; /** - * 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. + * Hls Output Settings * @public */ - BaseUrlContent?: string; + HlsOutputSettings?: HlsOutputSettings; /** - * Optional. One value per output group. - * - * This field is required only if you are completing Base URL content A, and the downstream system has notified you that the media files for pipeline 1 of all outputs are in a location different from the media files for pipeline 0. + * Media Package Output Settings * @public */ - BaseUrlContent1?: string; + MediaPackageOutputSettings?: MediaPackageOutputSettings; /** - * 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. + * Ms Smooth Output Settings * @public */ - BaseUrlManifest?: string; + MsSmoothOutputSettings?: MsSmoothOutputSettings; /** - * Optional. One value per output group. - * - * Complete this field only if you are completing Base URL manifest A, and the downstream system has notified you that the child manifest files for pipeline 1 of all outputs are in a location different from the child manifest files for pipeline 0. + * Multiplex Output Settings * @public */ - BaseUrlManifest1?: string; + MultiplexOutputSettings?: MultiplexOutputSettings; /** - * Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to "insert". + * Rtmp Output Settings * @public */ - CaptionLanguageMappings?: CaptionLanguageMapping[]; + RtmpOutputSettings?: RtmpOutputSettings; /** - * Applies only to 608 Embedded output captions. - * insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. - * none: Include CLOSED-CAPTIONS=NONE line in the manifest. - * omit: Omit any CLOSED-CAPTIONS line from the manifest. + * Udp Output Settings * @public */ - CaptionLanguageSetting?: HlsCaptionLanguageSetting; + UdpOutputSettings?: UdpOutputSettings; /** - * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, which prevents clients from saving media segments for later replay. + * Cmaf Ingest Output Settings * @public */ - ClientCache?: HlsClientCache; + CmafIngestOutputSettings?: CmafIngestOutputSettings; /** - * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. + * Srt Output Settings * @public */ - CodecSpecification?: HlsCodecSpecification; + SrtOutputSettings?: SrtOutputSettings; +} +/** + * Output settings. There can be multiple outputs within a group. + * @public + */ +export interface Output { /** - * 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. + * The names of the AudioDescriptions used as audio sources for this output. * @public */ - ConstantIv?: string; + AudioDescriptionNames?: string[]; /** - * A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled). + * The names of the CaptionDescriptions used as caption sources for this output. * @public */ - Destination: OutputLocationRef | undefined; + CaptionDescriptionNames?: string[]; /** - * Place segments in subdirectories. + * The name used to identify an output. * @public */ - DirectoryStructure?: HlsDirectoryStructure; + OutputName?: string; /** - * Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests for this output group. - * Typically, choose Insert because these tags are required in the manifest (according to the HLS specification) and serve an important purpose. - * Choose Never Insert only if the downstream system is doing real-time failover (without using the MediaLive automatic failover feature) and only if that downstream system has advised you to exclude the tags. + * Output type-specific settings. * @public */ - DiscontinuityTags?: HlsDiscontinuityTags; + OutputSettings: OutputSettings | undefined; /** - * Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired. + * The name of the VideoDescription used as the source for this output. * @public */ - EncryptionType?: HlsEncryptionType; + VideoDescriptionName?: string; +} - /** - * Parameters that control interactions with the CDN. - * @public - */ - HlsCdnSettings?: HlsCdnSettings; +/** + * @public + * @enum + */ +export const S3CannedAcl = { + AUTHENTICATED_READ: "AUTHENTICATED_READ", + BUCKET_OWNER_FULL_CONTROL: "BUCKET_OWNER_FULL_CONTROL", + BUCKET_OWNER_READ: "BUCKET_OWNER_READ", + PUBLIC_READ: "PUBLIC_READ", +} as const; - /** - * State of HLS ID3 Segment Tagging - * @public - */ - HlsId3SegmentTagging?: HlsId3SegmentTaggingState; +/** + * @public + */ +export type S3CannedAcl = (typeof S3CannedAcl)[keyof typeof S3CannedAcl]; +/** + * Archive S3 Settings + * @public + */ +export interface ArchiveS3Settings { /** - * DISABLED: Do not create an I-frame-only manifest, but do create the master and media manifests (according to the Output Selection field). - * - * STANDARD: Create an I-frame-only manifest for each output that contains video, as well as the other manifests (according to the Output Selection field). The I-frame manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, #EXT-X-BYTERANGE:160364@1461888" + * Specify the canned ACL to apply to each S3 request. Defaults to none. * @public */ - IFrameOnlyPlaylists?: IFrameOnlyPlaylistType; + CannedAcl?: S3CannedAcl; +} +/** + * Archive Cdn Settings + * @public + */ +export interface ArchiveCdnSettings { /** - * Specifies whether to include the final (incomplete) segment in the media output when the pipeline stops producing output because of a channel stop, a channel pause or a loss of input to the pipeline. - * Auto means that MediaLive decides whether to include the final segment, depending on the channel class and the types of output groups. - * Suppress means to never include the incomplete segment. We recommend you choose Auto and let MediaLive control the behavior. + * Archive S3 Settings * @public */ - IncompleteSegmentBehavior?: HlsIncompleteSegmentBehavior; + ArchiveS3Settings?: ArchiveS3Settings; +} +/** + * Archive Group Settings + * @public + */ +export interface ArchiveGroupSettings { /** - * Applies only if Mode field is LIVE. - * - * Specifies the maximum number of segments in the media manifest file. After this maximum, older segments are removed from the media manifest. This number must be smaller than the number in the Keep Segments field. + * Parameters that control interactions with the CDN. * @public */ - IndexNSegments?: number; + ArchiveCdnSettings?: ArchiveCdnSettings; /** - * Parameter that control output group behavior on input loss. + * A directory and base filename where archive files should be written. * @public */ - InputLossAction?: InputLossActionForHlsOut; + Destination: OutputLocationRef | undefined; /** - * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If set to "include", IV is listed in the manifest, otherwise the IV is not in the manifest. + * Number of seconds to write to archive file before closing and starting a new one. * @public */ - IvInManifest?: HlsIvInManifest; + RolloverInterval?: number; +} - /** - * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If this setting is "followsSegmentNumber", it will cause the IV to change every segment (to match the segment number). If this is set to "explicit", you must enter a constantIv value. - * @public - */ - IvSource?: HlsIvSource; +/** + * @public + * @enum + */ +export const CmafNielsenId3Behavior = { + NO_PASSTHROUGH: "NO_PASSTHROUGH", + PASSTHROUGH: "PASSTHROUGH", +} as const; + +/** + * @public + */ +export type CmafNielsenId3Behavior = (typeof CmafNielsenId3Behavior)[keyof typeof CmafNielsenId3Behavior]; + +/** + * @public + * @enum + */ +export const Scte35Type = { + NONE: "NONE", + SCTE_35_WITHOUT_SEGMENTATION: "SCTE_35_WITHOUT_SEGMENTATION", +} as const; + +/** + * @public + */ +export type Scte35Type = (typeof Scte35Type)[keyof typeof Scte35Type]; + +/** + * @public + * @enum + */ +export const CmafIngestSegmentLengthUnits = { + MILLISECONDS: "MILLISECONDS", + SECONDS: "SECONDS", +} as const; + +/** + * @public + */ +export type CmafIngestSegmentLengthUnits = + (typeof CmafIngestSegmentLengthUnits)[keyof typeof CmafIngestSegmentLengthUnits]; +/** + * Cmaf Ingest Group Settings + * @public + */ +export interface CmafIngestGroupSettings { /** - * Applies only if Mode field is LIVE. - * - * Specifies the number of media segments to retain in the destination directory. This number should be bigger than indexNSegments (Num segments). We recommend (value = (2 x indexNsegments) + 1). - * - * If this "keep segments" number is too low, the following might happen: the player is still reading a media manifest file that lists this segment, but that segment has been removed from the destination directory (as directed by indexNSegments). This situation would result in a 404 HTTP error on the player. + * A HTTP destination for the tracks * @public */ - KeepSegments?: number; + Destination: OutputLocationRef | undefined; /** - * 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. + * If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. * @public */ - KeyFormat?: string; + NielsenId3Behavior?: CmafNielsenId3Behavior; /** - * Either a single positive integer version value or a slash delimited list of version values (1/2/3). + * Type of scte35 track to add. none or scte35WithoutSegmentation * @public */ - KeyFormatVersions?: string; + Scte35Type?: Scte35Type; /** - * The key provider settings. + * The nominal duration of segments. The units are specified in SegmentLengthUnits. The segments will end on the next keyframe after the specified duration, so the actual segment length might be longer, and it might be a fraction of the units. * @public */ - KeyProviderSettings?: KeyProviderSettings; + SegmentLength?: number; /** - * When set to gzip, compresses HLS playlist. + * Time unit for segment length parameter. * @public */ - ManifestCompression?: HlsManifestCompression; + SegmentLengthUnits?: CmafIngestSegmentLengthUnits; /** - * Indicates whether the output manifest should use floating point or integer values for segment duration. + * Number of milliseconds to delay the output from the second pipeline. * @public */ - ManifestDurationFormat?: HlsManifestDurationFormat; + SendDelayMs?: number; +} +/** + * Frame Capture S3 Settings + * @public + */ +export interface FrameCaptureS3Settings { /** - * Minimum length of MPEG-2 Transport Stream segments in seconds. When set, minimum segment length is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed. + * Specify the canned ACL to apply to each S3 request. Defaults to none. * @public */ - MinSegmentLength?: number; + CannedAcl?: S3CannedAcl; +} +/** + * Frame Capture Cdn Settings + * @public + */ +export interface FrameCaptureCdnSettings { /** - * If "vod", all segments are indexed and kept permanently in the destination and manifest. If "live", only the number segments specified in keepSegments and indexNSegments are kept; newer segments replace older segments, which may prevent players from rewinding all the way to the beginning of the event. - * - * VOD mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, converting it to a "VOD" type manifest on completion of the stream. + * Frame Capture S3 Settings * @public */ - Mode?: HlsMode; + FrameCaptureS3Settings?: FrameCaptureS3Settings; +} +/** + * Frame Capture Group Settings + * @public + */ +export interface FrameCaptureGroupSettings { /** - * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and media manifests) for this output group. - * - * VARIANT_MANIFESTS_AND_SEGMENTS: Generates media manifests for this output group, but not a master manifest. - * - * SEGMENTS_ONLY: Does not generate any manifests for this output group. + * The destination for the frame capture files. Either the URI for an Amazon S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling-) or the URI for a MediaStore container, plus a file name prefix (for example, mediastoressl://sportsDelivery/20180820/curling-). The final file names consist of the prefix from the destination field (for example, "curling-") + name modifier + the counter (5 digits, starting from 00001) + extension (which is always .jpg). For example, curling-low.00001.jpg * @public */ - OutputSelection?: HlsOutputSelection; + Destination: OutputLocationRef | undefined; /** - * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated using the program date time clock. + * Parameters that control interactions with the CDN. * @public */ - ProgramDateTime?: HlsProgramDateTime; - - /** - * Specifies the algorithm used to drive the HLS EXT-X-PROGRAM-DATE-TIME clock. Options include: - * - * INITIALIZE_FROM_OUTPUT_TIMECODE: The PDT clock is initialized as a function of the first output timecode, then incremented by the EXTINF duration of each encoded segment. - * - * SYSTEM_CLOCK: The PDT clock is initialized as a function of the UTC wall clock, then incremented by the EXTINF duration of each encoded segment. If the PDT clock diverges from the wall clock by more than 500ms, it is resynchronized to the wall clock. - * @public - */ - ProgramDateTimeClock?: HlsProgramDateTimeClock; - - /** - * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. - * @public - */ - ProgramDateTimePeriod?: number; - - /** - * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information about both pipelines: first its own media files, then the media files of the other pipeline. This feature allows playout device that support stale manifest detection to switch from one manifest to the other, when the current manifest seems to be stale. There are still two destinations and two master manifests, but both master manifests reference the media files from both pipelines. - * - * DISABLED: The master manifest (.m3u8 file) for each pipeline includes information about its own pipeline only. - * - * For an HLS output group with MediaPackage as the destination, the DISABLED behavior is always followed. MediaPackage regenerates the manifests it serves to players so a redundant manifest from MediaLive is irrelevant. - * @public - */ - RedundantManifest?: HlsRedundantManifest; - - /** - * Length of MPEG-2 Transport Stream segments to create in seconds. Note that segments will end on the next keyframe after this duration, so actual segment length may be longer. - * @public - */ - SegmentLength?: number; - - /** - * useInputSegmentation has been deprecated. The configured segment size is always used. - * @public - */ - SegmentationMode?: HlsSegmentationMode; - - /** - * Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect. - * @public - */ - SegmentsPerSubdirectory?: number; - - /** - * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. - * @public - */ - StreamInfResolution?: HlsStreamInfResolution; - - /** - * Indicates ID3 frame that has the timecode. - * @public - */ - TimedMetadataId3Frame?: HlsTimedMetadataId3Frame; - - /** - * Timed Metadata interval in seconds. - * @public - */ - TimedMetadataId3Period?: number; - - /** - * Provides an extra millisecond delta offset to fine tune the timestamps. - * @public - */ - TimestampDeltaMilliseconds?: number; - - /** - * SEGMENTED_FILES: Emit the program as segments - multiple .ts media files. - * - * SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to index segments for playback. A typical use for this value is when sending the output to AWS Elemental MediaConvert, which can accept only a single media file. Playback while the channel is running is not guaranteed due to HTTP server caching. - * @public - */ - TsFileMode?: HlsTsFileMode; -} - -/** - * Media Package Group Settings - * @public - */ -export interface MediaPackageGroupSettings { - /** - * MediaPackage channel destination. - * @public - */ - Destination: OutputLocationRef | undefined; + FrameCaptureCdnSettings?: FrameCaptureCdnSettings; } /** * @public * @enum */ -export const SmoothGroupAudioOnlyTimecodeControl = { - PASSTHROUGH: "PASSTHROUGH", - USE_CONFIGURED_CLOCK: "USE_CONFIGURED_CLOCK", -} as const; - -/** - * @public - */ -export type SmoothGroupAudioOnlyTimecodeControl = - (typeof SmoothGroupAudioOnlyTimecodeControl)[keyof typeof SmoothGroupAudioOnlyTimecodeControl]; - -/** - * @public - * @enum - */ -export const SmoothGroupCertificateMode = { - SELF_SIGNED: "SELF_SIGNED", - VERIFY_AUTHENTICITY: "VERIFY_AUTHENTICITY", -} as const; - -/** - * @public - */ -export type SmoothGroupCertificateMode = (typeof SmoothGroupCertificateMode)[keyof typeof SmoothGroupCertificateMode]; - -/** - * @public - * @enum - */ -export const SmoothGroupEventIdMode = { - NO_EVENT_ID: "NO_EVENT_ID", - USE_CONFIGURED: "USE_CONFIGURED", - USE_TIMESTAMP: "USE_TIMESTAMP", +export const HlsCaptionLanguageSetting = { + INSERT: "INSERT", + NONE: "NONE", + OMIT: "OMIT", } as const; /** * @public */ -export type SmoothGroupEventIdMode = (typeof SmoothGroupEventIdMode)[keyof typeof SmoothGroupEventIdMode]; +export type HlsCaptionLanguageSetting = (typeof HlsCaptionLanguageSetting)[keyof typeof HlsCaptionLanguageSetting]; /** * @public * @enum */ -export const SmoothGroupEventStopBehavior = { - NONE: "NONE", - SEND_EOS: "SEND_EOS", +export const HlsClientCache = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", } as const; /** * @public */ -export type SmoothGroupEventStopBehavior = - (typeof SmoothGroupEventStopBehavior)[keyof typeof SmoothGroupEventStopBehavior]; +export type HlsClientCache = (typeof HlsClientCache)[keyof typeof HlsClientCache]; /** * @public * @enum */ -export const InputLossActionForMsSmoothOut = { - EMIT_OUTPUT: "EMIT_OUTPUT", - PAUSE_OUTPUT: "PAUSE_OUTPUT", +export const HlsCodecSpecification = { + RFC_4281: "RFC_4281", + RFC_6381: "RFC_6381", } as const; /** * @public */ -export type InputLossActionForMsSmoothOut = - (typeof InputLossActionForMsSmoothOut)[keyof typeof InputLossActionForMsSmoothOut]; +export type HlsCodecSpecification = (typeof HlsCodecSpecification)[keyof typeof HlsCodecSpecification]; /** * @public * @enum */ -export const SmoothGroupSegmentationMode = { - USE_INPUT_SEGMENTATION: "USE_INPUT_SEGMENTATION", - USE_SEGMENT_DURATION: "USE_SEGMENT_DURATION", +export const HlsDirectoryStructure = { + SINGLE_DIRECTORY: "SINGLE_DIRECTORY", + SUBDIRECTORY_PER_STREAM: "SUBDIRECTORY_PER_STREAM", } as const; /** * @public */ -export type SmoothGroupSegmentationMode = - (typeof SmoothGroupSegmentationMode)[keyof typeof SmoothGroupSegmentationMode]; +export type HlsDirectoryStructure = (typeof HlsDirectoryStructure)[keyof typeof HlsDirectoryStructure]; /** * @public * @enum */ -export const SmoothGroupSparseTrackType = { - NONE: "NONE", - SCTE_35: "SCTE_35", - SCTE_35_WITHOUT_SEGMENTATION: "SCTE_35_WITHOUT_SEGMENTATION", +export const HlsDiscontinuityTags = { + INSERT: "INSERT", + NEVER_INSERT: "NEVER_INSERT", } as const; /** * @public */ -export type SmoothGroupSparseTrackType = (typeof SmoothGroupSparseTrackType)[keyof typeof SmoothGroupSparseTrackType]; +export type HlsDiscontinuityTags = (typeof HlsDiscontinuityTags)[keyof typeof HlsDiscontinuityTags]; /** * @public * @enum */ -export const SmoothGroupStreamManifestBehavior = { - DO_NOT_SEND: "DO_NOT_SEND", - SEND: "SEND", +export const HlsEncryptionType = { + AES128: "AES128", + SAMPLE_AES: "SAMPLE_AES", } as const; /** * @public */ -export type SmoothGroupStreamManifestBehavior = - (typeof SmoothGroupStreamManifestBehavior)[keyof typeof SmoothGroupStreamManifestBehavior]; +export type HlsEncryptionType = (typeof HlsEncryptionType)[keyof typeof HlsEncryptionType]; /** * @public * @enum */ -export const SmoothGroupTimestampOffsetMode = { - USE_CONFIGURED_OFFSET: "USE_CONFIGURED_OFFSET", - USE_EVENT_START_DATE: "USE_EVENT_START_DATE", +export const HlsAkamaiHttpTransferMode = { + CHUNKED: "CHUNKED", + NON_CHUNKED: "NON_CHUNKED", } as const; /** * @public */ -export type SmoothGroupTimestampOffsetMode = - (typeof SmoothGroupTimestampOffsetMode)[keyof typeof SmoothGroupTimestampOffsetMode]; +export type HlsAkamaiHttpTransferMode = (typeof HlsAkamaiHttpTransferMode)[keyof typeof HlsAkamaiHttpTransferMode]; /** - * Ms Smooth Group Settings + * Hls Akamai Settings * @public */ -export interface MsSmoothGroupSettings { +export interface HlsAkamaiSettings { /** - * The ID to include in each message in the sparse track. Ignored if sparseTrackType is NONE. + * Number of seconds to wait before retrying connection to the CDN if the connection is lost. * @public */ - AcquisitionPointId?: string; + ConnectionRetryInterval?: number; /** - * If set to passthrough for an audio-only MS Smooth output, the fragment absolute time will be set to the current timecode. This option does not write timecodes to the audio elementary stream. + * Size in seconds of file cache for streaming outputs. * @public */ - AudioOnlyTimecodeControl?: SmoothGroupAudioOnlyTimecodeControl; + FilecacheDuration?: number; /** - * If set to verifyAuthenticity, verify the https certificate chain to a trusted Certificate Authority (CA). This will cause https outputs to self-signed certificates to fail. + * Specify whether or not to use chunked transfer encoding to Akamai. User should contact Akamai to enable this feature. * @public */ - CertificateMode?: SmoothGroupCertificateMode; + HttpTransferMode?: HlsAkamaiHttpTransferMode; /** - * 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. + * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3. * @public */ - ConnectionRetryInterval?: number; + NumRetries?: number; /** - * Smooth Streaming publish point on an IIS server. Elemental Live acts as a "Push" encoder to IIS. + * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. * @public */ - Destination: OutputLocationRef | undefined; + RestartDelay?: number; /** - * MS Smooth event ID to be sent to the IIS server. - * - * Should only be specified if eventIdMode is set to useConfigured. + * Salt for authenticated Akamai. * @public */ - EventId?: string; + Salt?: string; /** - * Specifies whether or not to send an event ID to the IIS server. If no event ID is sent and the same Live Event is used without changing the publishing point, clients might see cached video from the previous run. - * - * Options: - * - "useConfigured" - use the value provided in eventId - * - "useTimestamp" - generate and send an event ID based on the current timestamp - * - "noEventId" - do not send an event ID to the IIS server. + * Token parameter for authenticated akamai. If not specified, _gda_ is used. * @public */ - EventIdMode?: SmoothGroupEventIdMode; + Token?: string; +} +/** + * Hls Basic Put Settings + * @public + */ +export interface HlsBasicPutSettings { /** - * When set to sendEos, send EOS signal to IIS server when stopping the event + * Number of seconds to wait before retrying connection to the CDN if the connection is lost. * @public */ - EventStopBehavior?: SmoothGroupEventStopBehavior; + ConnectionRetryInterval?: number; /** * Size in seconds of file cache for streaming outputs. @@ -1332,153 +1143,213 @@ export interface MsSmoothGroupSettings { FilecacheDuration?: number; /** - * Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate. - * @public - */ - FragmentLength?: number; - - /** - * Parameter that control output group behavior on input loss. - * @public - */ - InputLossAction?: InputLossActionForMsSmoothOut; - - /** - * Number of retry attempts. + * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3. * @public */ NumRetries?: number; /** - * Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration. + * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. * @public */ RestartDelay?: number; +} - /** - * useInputSegmentation has been deprecated. The configured segment size is always used. - * @public - */ - SegmentationMode?: SmoothGroupSegmentationMode; - - /** - * Number of milliseconds to delay the output from the second pipeline. +/** + * @public + * @enum + */ +export const HlsMediaStoreStorageClass = { + TEMPORAL: "TEMPORAL", +} as const; + +/** + * @public + */ +export type HlsMediaStoreStorageClass = (typeof HlsMediaStoreStorageClass)[keyof typeof HlsMediaStoreStorageClass]; + +/** + * Hls Media Store Settings + * @public + */ +export interface HlsMediaStoreSettings { + /** + * Number of seconds to wait before retrying connection to the CDN if the connection is lost. * @public */ - SendDelayMs?: number; + ConnectionRetryInterval?: number; /** - * Identifies the type of data to place in the sparse track: - * - SCTE35: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame to start a new segment. - * - SCTE35_WITHOUT_SEGMENTATION: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame but don't start a new segment. - * - NONE: Don't generate a sparse track for any outputs in this output group. + * Size in seconds of file cache for streaming outputs. * @public */ - SparseTrackType?: SmoothGroupSparseTrackType; + FilecacheDuration?: number; /** - * When set to send, send stream manifest so publishing point doesn't start until all streams start. + * When set to temporal, output files are stored in non-persistent memory for faster reading and writing. * @public */ - StreamManifestBehavior?: SmoothGroupStreamManifestBehavior; + MediaStoreStorageClass?: HlsMediaStoreStorageClass; /** - * Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset. + * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3. * @public */ - TimestampOffset?: string; + NumRetries?: number; /** - * Type of timestamp date offset to use. - * - useEventStartDate: Use the date the event was started as the offset - * - useConfiguredOffset: Use an explicitly configured date as the offset + * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. * @public */ - TimestampOffsetMode?: SmoothGroupTimestampOffsetMode; + RestartDelay?: number; } /** - * Multiplex Group Settings + * Hls S3 Settings * @public */ -export interface MultiplexGroupSettings {} +export interface HlsS3Settings { + /** + * Specify the canned ACL to apply to each S3 request. Defaults to none. + * @public + */ + CannedAcl?: S3CannedAcl; +} /** * @public * @enum */ -export const RtmpAdMarkers = { - ON_CUE_POINT_SCTE35: "ON_CUE_POINT_SCTE35", +export const HlsWebdavHttpTransferMode = { + CHUNKED: "CHUNKED", + NON_CHUNKED: "NON_CHUNKED", } as const; /** * @public */ -export type RtmpAdMarkers = (typeof RtmpAdMarkers)[keyof typeof RtmpAdMarkers]; +export type HlsWebdavHttpTransferMode = (typeof HlsWebdavHttpTransferMode)[keyof typeof HlsWebdavHttpTransferMode]; /** + * Hls Webdav Settings * @public - * @enum */ -export const AuthenticationScheme = { - AKAMAI: "AKAMAI", - COMMON: "COMMON", -} as const; +export interface HlsWebdavSettings { + /** + * Number of seconds to wait before retrying connection to the CDN if the connection is lost. + * @public + */ + ConnectionRetryInterval?: number; + + /** + * Size in seconds of file cache for streaming outputs. + * @public + */ + FilecacheDuration?: number; + + /** + * Specify whether or not to use chunked transfer encoding to WebDAV. + * @public + */ + HttpTransferMode?: HlsWebdavHttpTransferMode; + + /** + * Number of retry attempts that will be made before the Live Event is put into an error state. Applies only if the CDN destination URI begins with "s3" or "mediastore". For other URIs, the value is always 3. + * @public + */ + NumRetries?: number; + + /** + * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + * @public + */ + RestartDelay?: number; +} /** + * Hls Cdn Settings * @public */ -export type AuthenticationScheme = (typeof AuthenticationScheme)[keyof typeof AuthenticationScheme]; +export interface HlsCdnSettings { + /** + * Hls Akamai Settings + * @public + */ + HlsAkamaiSettings?: HlsAkamaiSettings; + + /** + * Hls Basic Put Settings + * @public + */ + HlsBasicPutSettings?: HlsBasicPutSettings; + + /** + * Hls Media Store Settings + * @public + */ + HlsMediaStoreSettings?: HlsMediaStoreSettings; + + /** + * Hls S3 Settings + * @public + */ + HlsS3Settings?: HlsS3Settings; + + /** + * Hls Webdav Settings + * @public + */ + HlsWebdavSettings?: HlsWebdavSettings; +} /** * @public * @enum */ -export const RtmpCacheFullBehavior = { - DISCONNECT_IMMEDIATELY: "DISCONNECT_IMMEDIATELY", - WAIT_FOR_SERVER: "WAIT_FOR_SERVER", +export const HlsId3SegmentTaggingState = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", } as const; /** * @public */ -export type RtmpCacheFullBehavior = (typeof RtmpCacheFullBehavior)[keyof typeof RtmpCacheFullBehavior]; +export type HlsId3SegmentTaggingState = (typeof HlsId3SegmentTaggingState)[keyof typeof HlsId3SegmentTaggingState]; /** * @public * @enum */ -export const RtmpCaptionData = { - ALL: "ALL", - FIELD1_608: "FIELD1_608", - FIELD1_AND_FIELD2_608: "FIELD1_AND_FIELD2_608", +export const IFrameOnlyPlaylistType = { + DISABLED: "DISABLED", + STANDARD: "STANDARD", } as const; /** * @public */ -export type RtmpCaptionData = (typeof RtmpCaptionData)[keyof typeof RtmpCaptionData]; +export type IFrameOnlyPlaylistType = (typeof IFrameOnlyPlaylistType)[keyof typeof IFrameOnlyPlaylistType]; /** * @public * @enum */ -export const IncludeFillerNalUnits = { +export const HlsIncompleteSegmentBehavior = { AUTO: "AUTO", - DROP: "DROP", - INCLUDE: "INCLUDE", + SUPPRESS: "SUPPRESS", } as const; /** * @public */ -export type IncludeFillerNalUnits = (typeof IncludeFillerNalUnits)[keyof typeof IncludeFillerNalUnits]; +export type HlsIncompleteSegmentBehavior = + (typeof HlsIncompleteSegmentBehavior)[keyof typeof HlsIncompleteSegmentBehavior]; /** * @public * @enum */ -export const InputLossActionForRtmpOut = { +export const InputLossActionForHlsOut = { EMIT_OUTPUT: "EMIT_OUTPUT", PAUSE_OUTPUT: "PAUSE_OUTPUT", } as const; @@ -1486,3271 +1357,2881 @@ export const InputLossActionForRtmpOut = { /** * @public */ -export type InputLossActionForRtmpOut = (typeof InputLossActionForRtmpOut)[keyof typeof InputLossActionForRtmpOut]; +export type InputLossActionForHlsOut = (typeof InputLossActionForHlsOut)[keyof typeof InputLossActionForHlsOut]; /** - * Rtmp Group Settings * @public + * @enum */ -export interface RtmpGroupSettings { - /** - * Choose the ad marker type for this output group. MediaLive will create a message based on the content of each SCTE-35 message, format it for that marker type, and insert it in the datastream. - * @public - */ - AdMarkers?: RtmpAdMarkers[]; - - /** - * Authentication scheme to use when connecting with CDN - * @public - */ - AuthenticationScheme?: AuthenticationScheme; +export const HlsIvInManifest = { + EXCLUDE: "EXCLUDE", + INCLUDE: "INCLUDE", +} as const; - /** - * Controls behavior when content cache fills up. If remote origin server stalls the RTMP connection and does not accept content fast enough the 'Media Cache' will fill up. When the cache reaches the duration specified by cacheLength the cache will stop accepting new content. If set to disconnectImmediately, the RTMP output will force a disconnect. Clear the media cache, and reconnect after restartDelay seconds. If set to waitForServer, the RTMP output will wait up to 5 minutes to allow the origin server to begin accepting data again. - * @public - */ - CacheFullBehavior?: RtmpCacheFullBehavior; +/** + * @public + */ +export type HlsIvInManifest = (typeof HlsIvInManifest)[keyof typeof HlsIvInManifest]; - /** - * Cache length, in seconds, is used to calculate buffer size. - * @public - */ - CacheLength?: number; +/** + * @public + * @enum + */ +export const HlsIvSource = { + EXPLICIT: "EXPLICIT", + FOLLOWS_SEGMENT_NUMBER: "FOLLOWS_SEGMENT_NUMBER", +} as const; - /** - * Controls the types of data that passes to onCaptionInfo outputs. If set to 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608' then DTVCC data will be stripped out, but 608 data from both fields will be passed. If set to 'field1608' then only the data carried in 608 from field 1 video will be passed. - * @public - */ - CaptionData?: RtmpCaptionData; +/** + * @public + */ +export type HlsIvSource = (typeof HlsIvSource)[keyof typeof HlsIvSource]; +/** + * Static Key Settings + * @public + */ +export interface StaticKeySettings { /** - * Controls the behavior of this RTMP group if input becomes unavailable. - * - * - emitOutput: Emit a slate until input returns. - * - pauseOutput: Stop transmitting data until input returns. This does not close the underlying RTMP connection. + * The URL of the license server used for protecting content. * @public */ - InputLossAction?: InputLossActionForRtmpOut; + KeyProviderServer?: InputLocation; /** - * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. + * Static key value as a 32 character hexadecimal string. * @public */ - RestartDelay?: number; + StaticKeyValue: string | undefined; +} +/** + * Key Provider Settings + * @public + */ +export interface KeyProviderSettings { /** - * Applies only when the rate control mode (in the codec settings) is CBR (constant bit rate). Controls whether the RTMP output stream is padded (with FILL NAL units) in order to achieve a constant bit rate that is truly constant. When there is no padding, the bandwidth varies (up to the bitrate value in the codec settings). We recommend that you choose Auto. + * Static Key Settings * @public */ - IncludeFillerNalUnits?: IncludeFillerNalUnits; + StaticKeySettings?: StaticKeySettings; } /** * @public * @enum */ -export const InputLossActionForUdpOut = { - DROP_PROGRAM: "DROP_PROGRAM", - DROP_TS: "DROP_TS", - EMIT_PROGRAM: "EMIT_PROGRAM", +export const HlsManifestCompression = { + GZIP: "GZIP", + NONE: "NONE", } as const; /** * @public */ -export type InputLossActionForUdpOut = (typeof InputLossActionForUdpOut)[keyof typeof InputLossActionForUdpOut]; +export type HlsManifestCompression = (typeof HlsManifestCompression)[keyof typeof HlsManifestCompression]; /** * @public * @enum */ -export const UdpTimedMetadataId3Frame = { - NONE: "NONE", - PRIV: "PRIV", - TDRL: "TDRL", +export const HlsManifestDurationFormat = { + FLOATING_POINT: "FLOATING_POINT", + INTEGER: "INTEGER", } as const; /** * @public */ -export type UdpTimedMetadataId3Frame = (typeof UdpTimedMetadataId3Frame)[keyof typeof UdpTimedMetadataId3Frame]; +export type HlsManifestDurationFormat = (typeof HlsManifestDurationFormat)[keyof typeof HlsManifestDurationFormat]; /** - * Udp Group Settings * @public + * @enum */ -export interface UdpGroupSettings { +export const HlsMode = { + LIVE: "LIVE", + VOD: "VOD", +} as const; + +/** + * @public + */ +export type HlsMode = (typeof HlsMode)[keyof typeof HlsMode]; + +/** + * @public + * @enum + */ +export const HlsOutputSelection = { + MANIFESTS_AND_SEGMENTS: "MANIFESTS_AND_SEGMENTS", + SEGMENTS_ONLY: "SEGMENTS_ONLY", + VARIANT_MANIFESTS_AND_SEGMENTS: "VARIANT_MANIFESTS_AND_SEGMENTS", +} as const; + +/** + * @public + */ +export type HlsOutputSelection = (typeof HlsOutputSelection)[keyof typeof HlsOutputSelection]; + +/** + * @public + * @enum + */ +export const HlsProgramDateTime = { + EXCLUDE: "EXCLUDE", + INCLUDE: "INCLUDE", +} as const; + +/** + * @public + */ +export type HlsProgramDateTime = (typeof HlsProgramDateTime)[keyof typeof HlsProgramDateTime]; + +/** + * @public + * @enum + */ +export const HlsProgramDateTimeClock = { + INITIALIZE_FROM_OUTPUT_TIMECODE: "INITIALIZE_FROM_OUTPUT_TIMECODE", + SYSTEM_CLOCK: "SYSTEM_CLOCK", +} as const; + +/** + * @public + */ +export type HlsProgramDateTimeClock = (typeof HlsProgramDateTimeClock)[keyof typeof HlsProgramDateTimeClock]; + +/** + * @public + * @enum + */ +export const HlsRedundantManifest = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** + * @public + */ +export type HlsRedundantManifest = (typeof HlsRedundantManifest)[keyof typeof HlsRedundantManifest]; + +/** + * @public + * @enum + */ +export const HlsSegmentationMode = { + USE_INPUT_SEGMENTATION: "USE_INPUT_SEGMENTATION", + USE_SEGMENT_DURATION: "USE_SEGMENT_DURATION", +} as const; + +/** + * @public + */ +export type HlsSegmentationMode = (typeof HlsSegmentationMode)[keyof typeof HlsSegmentationMode]; + +/** + * @public + * @enum + */ +export const HlsStreamInfResolution = { + EXCLUDE: "EXCLUDE", + INCLUDE: "INCLUDE", +} as const; + +/** + * @public + */ +export type HlsStreamInfResolution = (typeof HlsStreamInfResolution)[keyof typeof HlsStreamInfResolution]; + +/** + * @public + * @enum + */ +export const HlsTimedMetadataId3Frame = { + NONE: "NONE", + PRIV: "PRIV", + TDRL: "TDRL", +} as const; + +/** + * @public + */ +export type HlsTimedMetadataId3Frame = (typeof HlsTimedMetadataId3Frame)[keyof typeof HlsTimedMetadataId3Frame]; + +/** + * @public + * @enum + */ +export const HlsTsFileMode = { + SEGMENTED_FILES: "SEGMENTED_FILES", + SINGLE_FILE: "SINGLE_FILE", +} as const; + +/** + * @public + */ +export type HlsTsFileMode = (typeof HlsTsFileMode)[keyof typeof HlsTsFileMode]; + +/** + * Hls Group Settings + * @public + */ +export interface HlsGroupSettings { /** - * Specifies behavior of last resort when input video is lost, and no more backup inputs are available. When dropTs is selected the entire transport stream will stop being emitted. When dropProgram is selected the program can be dropped from the transport stream (and replaced with null packets to meet the TS bitrate requirement). Or, when emitProgram is chosen the transport stream will continue to be produced normally with repeat frames, black frames, or slate frames substituted for the absent input video. + * Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. * @public */ - InputLossAction?: InputLossActionForUdpOut; + AdMarkers?: HlsAdMarkers[]; /** - * Indicates ID3 frame that has the timecode. + * 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. * @public */ - TimedMetadataId3Frame?: UdpTimedMetadataId3Frame; + BaseUrlContent?: string; /** - * Timed Metadata interval in seconds. + * Optional. One value per output group. + * + * This field is required only if you are completing Base URL content A, and the downstream system has notified you that the media files for pipeline 1 of all outputs are in a location different from the media files for pipeline 0. * @public */ - TimedMetadataId3Period?: number; -} + BaseUrlContent1?: string; -/** - * Output Group Settings - * @public - */ -export interface OutputGroupSettings { /** - * Archive Group Settings + * 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. * @public */ - ArchiveGroupSettings?: ArchiveGroupSettings; + BaseUrlManifest?: string; /** - * Frame Capture Group Settings + * Optional. One value per output group. + * + * Complete this field only if you are completing Base URL manifest A, and the downstream system has notified you that the child manifest files for pipeline 1 of all outputs are in a location different from the child manifest files for pipeline 0. * @public */ - FrameCaptureGroupSettings?: FrameCaptureGroupSettings; + BaseUrlManifest1?: string; /** - * Hls Group Settings + * Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to "insert". * @public */ - HlsGroupSettings?: HlsGroupSettings; + CaptionLanguageMappings?: CaptionLanguageMapping[]; /** - * Media Package Group Settings + * Applies only to 608 Embedded output captions. + * insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. + * none: Include CLOSED-CAPTIONS=NONE line in the manifest. + * omit: Omit any CLOSED-CAPTIONS line from the manifest. * @public */ - MediaPackageGroupSettings?: MediaPackageGroupSettings; + CaptionLanguageSetting?: HlsCaptionLanguageSetting; /** - * Ms Smooth Group Settings + * When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, which prevents clients from saving media segments for later replay. * @public */ - MsSmoothGroupSettings?: MsSmoothGroupSettings; + ClientCache?: HlsClientCache; /** - * Multiplex Group Settings + * Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. * @public */ - MultiplexGroupSettings?: MultiplexGroupSettings; + CodecSpecification?: HlsCodecSpecification; /** - * Rtmp Group Settings + * 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. * @public */ - RtmpGroupSettings?: RtmpGroupSettings; + ConstantIv?: string; /** - * Udp Group Settings + * A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled). * @public */ - UdpGroupSettings?: UdpGroupSettings; + Destination: OutputLocationRef | undefined; /** - * Cmaf Ingest Group Settings + * Place segments in subdirectories. * @public */ - CmafIngestGroupSettings?: CmafIngestGroupSettings; -} + DirectoryStructure?: HlsDirectoryStructure; -/** - * Output groups for this Live Event. Output groups contain information about where streams should be distributed. - * @public - */ -export interface OutputGroup { /** - * Custom output group name optionally defined by the user. + * Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests for this output group. + * Typically, choose Insert because these tags are required in the manifest (according to the HLS specification) and serve an important purpose. + * Choose Never Insert only if the downstream system is doing real-time failover (without using the MediaLive automatic failover feature) and only if that downstream system has advised you to exclude the tags. * @public */ - Name?: string; + DiscontinuityTags?: HlsDiscontinuityTags; /** - * Settings associated with the output group. + * Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired. * @public */ - OutputGroupSettings: OutputGroupSettings | undefined; + EncryptionType?: HlsEncryptionType; /** - * Placeholder documentation for __listOfOutput + * Parameters that control interactions with the CDN. * @public */ - Outputs: Output[] | undefined; -} + HlsCdnSettings?: HlsCdnSettings; -/** - * Runtime details of a pipeline when a channel is running. - * @public - */ -export interface PipelineDetail { /** - * The name of the active input attachment currently being ingested by this pipeline. + * State of HLS ID3 Segment Tagging * @public */ - ActiveInputAttachmentName?: string; + HlsId3SegmentTagging?: HlsId3SegmentTaggingState; /** - * The name of the input switch schedule action that occurred most recently and that resulted in the switch to the current input attachment for this pipeline. + * DISABLED: Do not create an I-frame-only manifest, but do create the master and media manifests (according to the Output Selection field). + * + * STANDARD: Create an I-frame-only manifest for each output that contains video, as well as the other manifests (according to the Output Selection field). The I-frame manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, #EXT-X-BYTERANGE:160364@1461888" * @public */ - ActiveInputSwitchActionName?: string; + IFrameOnlyPlaylists?: IFrameOnlyPlaylistType; /** - * The name of the motion graphics activate action that occurred most recently and that resulted in the current graphics URI for this pipeline. + * Specifies whether to include the final (incomplete) segment in the media output when the pipeline stops producing output because of a channel stop, a channel pause or a loss of input to the pipeline. + * Auto means that MediaLive decides whether to include the final segment, depending on the channel class and the types of output groups. + * Suppress means to never include the incomplete segment. We recommend you choose Auto and let MediaLive control the behavior. * @public */ - ActiveMotionGraphicsActionName?: string; + IncompleteSegmentBehavior?: HlsIncompleteSegmentBehavior; /** - * The current URI being used for HTML5 motion graphics for this pipeline. + * Applies only if Mode field is LIVE. + * + * Specifies the maximum number of segments in the media manifest file. After this maximum, older segments are removed from the media manifest. This number must be smaller than the number in the Keep Segments field. * @public */ - ActiveMotionGraphicsUri?: string; + IndexNSegments?: number; /** - * Pipeline ID + * Parameter that control output group behavior on input loss. * @public */ - PipelineId?: string; -} + InputLossAction?: InputLossActionForHlsOut; -/** - * @public - * @enum - */ -export const PipelineId = { - PIPELINE_0: "PIPELINE_0", - PIPELINE_1: "PIPELINE_1", -} as const; + /** + * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If set to "include", IV is listed in the manifest, otherwise the IV is not in the manifest. + * @public + */ + IvInManifest?: HlsIvInManifest; -/** - * @public - */ -export type PipelineId = (typeof PipelineId)[keyof typeof PipelineId]; - -/** - * Settings for pausing a pipeline. - * @public - */ -export interface PipelinePauseStateSettings { /** - * Pipeline ID to pause ("PIPELINE_0" or "PIPELINE_1"). + * For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If this setting is "followsSegmentNumber", it will cause the IV to change every segment (to match the segment number). If this is set to "explicit", you must enter a constantIv value. * @public */ - PipelineId: PipelineId | undefined; -} - -/** - * @public - * @enum - */ -export const ReservationAutomaticRenewal = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", - UNAVAILABLE: "UNAVAILABLE", -} as const; - -/** - * @public - */ -export type ReservationAutomaticRenewal = - (typeof ReservationAutomaticRenewal)[keyof typeof ReservationAutomaticRenewal]; + IvSource?: HlsIvSource; -/** - * The Renewal settings for Reservations - * @public - */ -export interface RenewalSettings { /** - * Automatic renewal status for the reservation + * Applies only if Mode field is LIVE. + * + * Specifies the number of media segments to retain in the destination directory. This number should be bigger than indexNSegments (Num segments). We recommend (value = (2 x indexNsegments) + 1). + * + * If this "keep segments" number is too low, the following might happen: the player is still reading a media manifest file that lists this segment, but that segment has been removed from the destination directory (as directed by indexNSegments). This situation would result in a 404 HTTP error on the player. * @public */ - AutomaticRenewal?: ReservationAutomaticRenewal; + KeepSegments?: number; /** - * Count for the reservation renewal + * 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. * @public */ - RenewalCount?: number; -} - -/** - * @public - * @enum - */ -export const ReservationState = { - ACTIVE: "ACTIVE", - CANCELED: "CANCELED", - DELETED: "DELETED", - EXPIRED: "EXPIRED", -} as const; - -/** - * @public - */ -export type ReservationState = (typeof ReservationState)[keyof typeof ReservationState]; + KeyFormat?: string; -/** - * Reserved resources available to use - * @public - */ -export interface Reservation { /** - * Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567' + * Either a single positive integer version value or a slash delimited list of version values (1/2/3). * @public */ - Arn?: string; + KeyFormatVersions?: string; /** - * Number of reserved resources + * The key provider settings. * @public */ - Count?: number; + KeyProviderSettings?: KeyProviderSettings; /** - * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' + * When set to gzip, compresses HLS playlist. * @public */ - CurrencyCode?: string; + ManifestCompression?: HlsManifestCompression; /** - * Lease duration, e.g. '12' + * Indicates whether the output manifest should use floating point or integer values for segment duration. * @public */ - Duration?: number; + ManifestDurationFormat?: HlsManifestDurationFormat; /** - * Units for duration, e.g. 'MONTHS' + * Minimum length of MPEG-2 Transport Stream segments in seconds. When set, minimum segment length is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed. * @public */ - DurationUnits?: OfferingDurationUnits; + MinSegmentLength?: number; /** - * Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00' + * If "vod", all segments are indexed and kept permanently in the destination and manifest. If "live", only the number segments specified in keepSegments and indexNSegments are kept; newer segments replace older segments, which may prevent players from rewinding all the way to the beginning of the event. + * + * VOD mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, converting it to a "VOD" type manifest on completion of the stream. * @public */ - End?: string; + Mode?: HlsMode; /** - * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering + * MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and media manifests) for this output group. + * + * VARIANT_MANIFESTS_AND_SEGMENTS: Generates media manifests for this output group, but not a master manifest. + * + * SEGMENTS_ONLY: Does not generate any manifests for this output group. * @public */ - FixedPrice?: number; + OutputSelection?: HlsOutputSelection; /** - * User specified reservation name + * Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated using the program date time clock. * @public */ - Name?: string; + ProgramDateTime?: HlsProgramDateTime; /** - * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' + * Specifies the algorithm used to drive the HLS EXT-X-PROGRAM-DATE-TIME clock. Options include: + * + * INITIALIZE_FROM_OUTPUT_TIMECODE: The PDT clock is initialized as a function of the first output timecode, then incremented by the EXTINF duration of each encoded segment. + * + * SYSTEM_CLOCK: The PDT clock is initialized as a function of the UTC wall clock, then incremented by the EXTINF duration of each encoded segment. If the PDT clock diverges from the wall clock by more than 500ms, it is resynchronized to the wall clock. * @public */ - OfferingDescription?: string; + ProgramDateTimeClock?: HlsProgramDateTimeClock; /** - * Unique offering ID, e.g. '87654321' + * Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. * @public */ - OfferingId?: string; + ProgramDateTimePeriod?: number; /** - * Offering type, e.g. 'NO_UPFRONT' + * ENABLED: The master manifest (.m3u8 file) for each pipeline includes information about both pipelines: first its own media files, then the media files of the other pipeline. This feature allows playout device that support stale manifest detection to switch from one manifest to the other, when the current manifest seems to be stale. There are still two destinations and two master manifests, but both master manifests reference the media files from both pipelines. + * + * DISABLED: The master manifest (.m3u8 file) for each pipeline includes information about its own pipeline only. + * + * For an HLS output group with MediaPackage as the destination, the DISABLED behavior is always followed. MediaPackage regenerates the manifests it serves to players so a redundant manifest from MediaLive is irrelevant. * @public */ - OfferingType?: OfferingType; + RedundantManifest?: HlsRedundantManifest; /** - * AWS region, e.g. 'us-west-2' + * Length of MPEG-2 Transport Stream segments to create in seconds. Note that segments will end on the next keyframe after this duration, so actual segment length may be longer. * @public */ - Region?: string; + SegmentLength?: number; /** - * Renewal settings for the reservation + * useInputSegmentation has been deprecated. The configured segment size is always used. * @public */ - RenewalSettings?: RenewalSettings; + SegmentationMode?: HlsSegmentationMode; /** - * Unique reservation ID, e.g. '1234567' + * Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect. * @public */ - ReservationId?: string; + SegmentsPerSubdirectory?: number; /** - * Resource configuration details + * Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest. * @public */ - ResourceSpecification?: ReservationResourceSpecification; + StreamInfResolution?: HlsStreamInfResolution; /** - * Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00' + * Indicates ID3 frame that has the timecode. * @public */ - Start?: string; + TimedMetadataId3Frame?: HlsTimedMetadataId3Frame; /** - * Current state of reservation, e.g. 'ACTIVE' + * Timed Metadata interval in seconds. * @public */ - State?: ReservationState; + TimedMetadataId3Period?: number; /** - * A collection of key-value pairs + * Provides an extra millisecond delta offset to fine tune the timestamps. * @public */ - Tags?: Record; + TimestampDeltaMilliseconds?: number; /** - * Recurring usage charge for each reserved resource, e.g. '157.0' + * SEGMENTED_FILES: Emit the program as segments - multiple .ts media files. + * + * SINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to index segments for playback. A typical use for this value is when sending the output to AWS Elemental MediaConvert, which can accept only a single media file. Playback while the channel is running is not guaranteed due to HTTP server caching. * @public */ - UsagePrice?: number; + TsFileMode?: HlsTsFileMode; } /** - * Settings for the action to insert a user-defined ID3 tag in each HLS segment + * Media Package Group Settings * @public */ -export interface HlsId3SegmentTaggingScheduleActionSettings { - /** - * ID3 tag to insert into each segment. Supports special keyword identifiers to substitute in segment-related values.\nSupported keyword identifiers: https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html - * @public - */ - Tag?: string; - +export interface MediaPackageGroupSettings { /** - * Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure + * MediaPackage channel destination. * @public */ - Id3?: string; + Destination: OutputLocationRef | undefined; } /** - * Settings for the action to emit HLS metadata * @public + * @enum */ -export interface HlsTimedMetadataScheduleActionSettings { - /** - * Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure - * @public - */ - Id3: string | undefined; -} +export const SmoothGroupAudioOnlyTimecodeControl = { + PASSTHROUGH: "PASSTHROUGH", + USE_CONFIGURED_CLOCK: "USE_CONFIGURED_CLOCK", +} as const; + +/** + * @public + */ +export type SmoothGroupAudioOnlyTimecodeControl = + (typeof SmoothGroupAudioOnlyTimecodeControl)[keyof typeof SmoothGroupAudioOnlyTimecodeControl]; /** * @public * @enum */ -export const InputTimecodeSource = { - EMBEDDED: "EMBEDDED", - ZEROBASED: "ZEROBASED", +export const SmoothGroupCertificateMode = { + SELF_SIGNED: "SELF_SIGNED", + VERIFY_AUTHENTICITY: "VERIFY_AUTHENTICITY", } as const; /** * @public */ -export type InputTimecodeSource = (typeof InputTimecodeSource)[keyof typeof InputTimecodeSource]; +export type SmoothGroupCertificateMode = (typeof SmoothGroupCertificateMode)[keyof typeof SmoothGroupCertificateMode]; /** - * Settings to identify the start of the clip. * @public + * @enum */ -export interface StartTimecode { - /** - * The timecode for the frame where you want to start the clip. Optional; if not specified, the clip starts at first frame in the file. Enter the timecode as HH:MM:SS:FF or HH:MM:SS;FF. - * @public - */ - Timecode?: string; -} +export const SmoothGroupEventIdMode = { + NO_EVENT_ID: "NO_EVENT_ID", + USE_CONFIGURED: "USE_CONFIGURED", + USE_TIMESTAMP: "USE_TIMESTAMP", +} as const; + +/** + * @public + */ +export type SmoothGroupEventIdMode = (typeof SmoothGroupEventIdMode)[keyof typeof SmoothGroupEventIdMode]; /** * @public * @enum */ -export const LastFrameClippingBehavior = { - EXCLUDE_LAST_FRAME: "EXCLUDE_LAST_FRAME", - INCLUDE_LAST_FRAME: "INCLUDE_LAST_FRAME", +export const SmoothGroupEventStopBehavior = { + NONE: "NONE", + SEND_EOS: "SEND_EOS", } as const; /** * @public */ -export type LastFrameClippingBehavior = (typeof LastFrameClippingBehavior)[keyof typeof LastFrameClippingBehavior]; +export type SmoothGroupEventStopBehavior = + (typeof SmoothGroupEventStopBehavior)[keyof typeof SmoothGroupEventStopBehavior]; /** - * Settings to identify the end of the clip. * @public + * @enum */ -export interface StopTimecode { - /** - * If you specify a StopTimecode in an input (in order to clip the file), you can specify if you want the clip to exclude (the default) or include the frame specified by the timecode. - * @public - */ - LastFrameClippingBehavior?: LastFrameClippingBehavior; +export const InputLossActionForMsSmoothOut = { + EMIT_OUTPUT: "EMIT_OUTPUT", + PAUSE_OUTPUT: "PAUSE_OUTPUT", +} as const; - /** - * The timecode for the frame where you want to stop the clip. Optional; if not specified, the clip continues to the end of the file. Enter the timecode as HH:MM:SS:FF or HH:MM:SS;FF. - * @public - */ - Timecode?: string; -} +/** + * @public + */ +export type InputLossActionForMsSmoothOut = + (typeof InputLossActionForMsSmoothOut)[keyof typeof InputLossActionForMsSmoothOut]; /** - * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. * @public + * @enum */ -export interface InputClippingSettings { +export const SmoothGroupSegmentationMode = { + USE_INPUT_SEGMENTATION: "USE_INPUT_SEGMENTATION", + USE_SEGMENT_DURATION: "USE_SEGMENT_DURATION", +} as const; + +/** + * @public + */ +export type SmoothGroupSegmentationMode = + (typeof SmoothGroupSegmentationMode)[keyof typeof SmoothGroupSegmentationMode]; + +/** + * @public + * @enum + */ +export const SmoothGroupSparseTrackType = { + NONE: "NONE", + SCTE_35: "SCTE_35", + SCTE_35_WITHOUT_SEGMENTATION: "SCTE_35_WITHOUT_SEGMENTATION", +} as const; + +/** + * @public + */ +export type SmoothGroupSparseTrackType = (typeof SmoothGroupSparseTrackType)[keyof typeof SmoothGroupSparseTrackType]; + +/** + * @public + * @enum + */ +export const SmoothGroupStreamManifestBehavior = { + DO_NOT_SEND: "DO_NOT_SEND", + SEND: "SEND", +} as const; + +/** + * @public + */ +export type SmoothGroupStreamManifestBehavior = + (typeof SmoothGroupStreamManifestBehavior)[keyof typeof SmoothGroupStreamManifestBehavior]; + +/** + * @public + * @enum + */ +export const SmoothGroupTimestampOffsetMode = { + USE_CONFIGURED_OFFSET: "USE_CONFIGURED_OFFSET", + USE_EVENT_START_DATE: "USE_EVENT_START_DATE", +} as const; + +/** + * @public + */ +export type SmoothGroupTimestampOffsetMode = + (typeof SmoothGroupTimestampOffsetMode)[keyof typeof SmoothGroupTimestampOffsetMode]; + +/** + * Ms Smooth Group Settings + * @public + */ +export interface MsSmoothGroupSettings { /** - * The source of the timecodes in the source being clipped. + * The ID to include in each message in the sparse track. Ignored if sparseTrackType is NONE. * @public */ - InputTimecodeSource: InputTimecodeSource | undefined; + AcquisitionPointId?: string; /** - * Settings to identify the start of the clip. + * If set to passthrough for an audio-only MS Smooth output, the fragment absolute time will be set to the current timecode. This option does not write timecodes to the audio elementary stream. * @public */ - StartTimecode?: StartTimecode; + AudioOnlyTimecodeControl?: SmoothGroupAudioOnlyTimecodeControl; /** - * Settings to identify the end of the clip. + * If set to verifyAuthenticity, verify the https certificate chain to a trusted Certificate Authority (CA). This will cause https outputs to self-signed certificates to fail. * @public */ - StopTimecode?: StopTimecode; -} + CertificateMode?: SmoothGroupCertificateMode; -/** - * Action to prepare an input for a future immediate input switch. - * @public - */ -export interface InputPrepareScheduleActionSettings { /** - * The name of the input attachment that should be prepared by this action. If no name is provided, the action will stop the most recent prepare (if any) when activated. + * 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. * @public */ - InputAttachmentNameReference?: string; + ConnectionRetryInterval?: number; /** - * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. + * Smooth Streaming publish point on an IIS server. Elemental Live acts as a "Push" encoder to IIS. * @public */ - InputClippingSettings?: InputClippingSettings; + Destination: OutputLocationRef | undefined; /** - * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source. + * MS Smooth event ID to be sent to the IIS server. + * + * Should only be specified if eventIdMode is set to useConfigured. * @public */ - UrlPath?: string[]; -} + EventId?: string; -/** - * Settings for the "switch input" action: to switch from ingesting one input to ingesting another input. - * @public - */ -export interface InputSwitchScheduleActionSettings { /** - * The name of the input attachment (not the name of the input!) to switch to. The name is specified in the channel configuration. + * Specifies whether or not to send an event ID to the IIS server. If no event ID is sent and the same Live Event is used without changing the publishing point, clients might see cached video from the previous run. + * + * Options: + * - "useConfigured" - use the value provided in eventId + * - "useTimestamp" - generate and send an event ID based on the current timestamp + * - "noEventId" - do not send an event ID to the IIS server. * @public */ - InputAttachmentNameReference: string | undefined; + EventIdMode?: SmoothGroupEventIdMode; /** - * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. + * When set to sendEos, send EOS signal to IIS server when stopping the event * @public */ - InputClippingSettings?: InputClippingSettings; + EventStopBehavior?: SmoothGroupEventStopBehavior; /** - * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source. + * Size in seconds of file cache for streaming outputs. * @public */ - UrlPath?: string[]; -} + FilecacheDuration?: number; -/** - * Settings to specify the rendering of motion graphics into the video stream. - * @public - */ -export interface MotionGraphicsActivateScheduleActionSettings { /** - * Duration (in milliseconds) that motion graphics should render on to the video stream. Leaving out this property or setting to 0 will result in rendering continuing until a deactivate action is processed. + * Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate. * @public */ - Duration?: number; + FragmentLength?: number; /** - * Key used to extract the password from EC2 Parameter store + * Parameter that control output group behavior on input loss. * @public */ - PasswordParam?: string; + InputLossAction?: InputLossActionForMsSmoothOut; /** - * URI of the HTML5 content to be rendered into the live stream. + * Number of retry attempts. * @public */ - Url?: string; + NumRetries?: number; /** - * Documentation update needed + * Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration. * @public */ - Username?: string; -} - -/** - * Settings to specify the ending of rendering motion graphics into the video stream. - * @public - */ -export interface MotionGraphicsDeactivateScheduleActionSettings {} + RestartDelay?: number; -/** - * Settings for the action to set pause state of a channel. - * @public - */ -export interface PauseStateScheduleActionSettings { /** - * Placeholder documentation for __listOfPipelinePauseStateSettings + * useInputSegmentation has been deprecated. The configured segment size is always used. * @public */ - Pipelines?: PipelinePauseStateSettings[]; -} - -/** - * @public - * @enum - */ -export const Scte35InputMode = { - FIXED: "FIXED", - FOLLOW_ACTIVE: "FOLLOW_ACTIVE", -} as const; - -/** - * @public - */ -export type Scte35InputMode = (typeof Scte35InputMode)[keyof typeof Scte35InputMode]; + SegmentationMode?: SmoothGroupSegmentationMode; -/** - * Scte35Input Schedule Action Settings - * @public - */ -export interface Scte35InputScheduleActionSettings { /** - * In fixed mode, enter the name of the input attachment that you want to use as a SCTE-35 input. (Don't enter the ID of the input.)" + * Number of milliseconds to delay the output from the second pipeline. * @public */ - InputAttachmentNameReference?: string; + SendDelayMs?: number; /** - * Whether the SCTE-35 input should be the active input or a fixed input. + * Identifies the type of data to place in the sparse track: + * - SCTE35: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame to start a new segment. + * - SCTE35_WITHOUT_SEGMENTATION: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame but don't start a new segment. + * - NONE: Don't generate a sparse track for any outputs in this output group. * @public */ - Mode: Scte35InputMode | undefined; -} + SparseTrackType?: SmoothGroupSparseTrackType; -/** - * Settings for a SCTE-35 return_to_network message. - * @public - */ -export interface Scte35ReturnToNetworkScheduleActionSettings { /** - * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. + * When set to send, send stream manifest so publishing point doesn't start until all streams start. * @public */ - SpliceEventId: number | undefined; -} + StreamManifestBehavior?: SmoothGroupStreamManifestBehavior; -/** - * Settings for a SCTE-35 splice_insert message. - * @public - */ -export interface Scte35SpliceInsertScheduleActionSettings { /** - * Optional, the duration for the splice_insert, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. If you enter a duration, there is an expectation that the downstream system can read the duration and cue in at that time. If you do not enter a duration, the splice_insert will continue indefinitely and there is an expectation that you will enter a return_to_network to end the splice_insert at the appropriate time. + * Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset. * @public */ - Duration?: number; + TimestampOffset?: string; /** - * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. + * Type of timestamp date offset to use. + * - useEventStartDate: Use the date the event was started as the offset + * - useConfiguredOffset: Use an explicitly configured date as the offset * @public */ - SpliceEventId: number | undefined; + TimestampOffsetMode?: SmoothGroupTimestampOffsetMode; } +/** + * Multiplex Group Settings + * @public + */ +export interface MultiplexGroupSettings {} + /** * @public * @enum */ -export const Scte35ArchiveAllowedFlag = { - ARCHIVE_ALLOWED: "ARCHIVE_ALLOWED", - ARCHIVE_NOT_ALLOWED: "ARCHIVE_NOT_ALLOWED", +export const RtmpAdMarkers = { + ON_CUE_POINT_SCTE35: "ON_CUE_POINT_SCTE35", } as const; /** * @public */ -export type Scte35ArchiveAllowedFlag = (typeof Scte35ArchiveAllowedFlag)[keyof typeof Scte35ArchiveAllowedFlag]; +export type RtmpAdMarkers = (typeof RtmpAdMarkers)[keyof typeof RtmpAdMarkers]; /** * @public * @enum */ -export const Scte35DeviceRestrictions = { - NONE: "NONE", - RESTRICT_GROUP0: "RESTRICT_GROUP0", - RESTRICT_GROUP1: "RESTRICT_GROUP1", - RESTRICT_GROUP2: "RESTRICT_GROUP2", +export const AuthenticationScheme = { + AKAMAI: "AKAMAI", + COMMON: "COMMON", } as const; /** * @public */ -export type Scte35DeviceRestrictions = (typeof Scte35DeviceRestrictions)[keyof typeof Scte35DeviceRestrictions]; +export type AuthenticationScheme = (typeof AuthenticationScheme)[keyof typeof AuthenticationScheme]; /** * @public * @enum */ -export const Scte35NoRegionalBlackoutFlag = { - NO_REGIONAL_BLACKOUT: "NO_REGIONAL_BLACKOUT", - REGIONAL_BLACKOUT: "REGIONAL_BLACKOUT", +export const RtmpCacheFullBehavior = { + DISCONNECT_IMMEDIATELY: "DISCONNECT_IMMEDIATELY", + WAIT_FOR_SERVER: "WAIT_FOR_SERVER", } as const; /** * @public */ -export type Scte35NoRegionalBlackoutFlag = - (typeof Scte35NoRegionalBlackoutFlag)[keyof typeof Scte35NoRegionalBlackoutFlag]; +export type RtmpCacheFullBehavior = (typeof RtmpCacheFullBehavior)[keyof typeof RtmpCacheFullBehavior]; /** * @public * @enum */ -export const Scte35WebDeliveryAllowedFlag = { - WEB_DELIVERY_ALLOWED: "WEB_DELIVERY_ALLOWED", - WEB_DELIVERY_NOT_ALLOWED: "WEB_DELIVERY_NOT_ALLOWED", +export const RtmpCaptionData = { + ALL: "ALL", + FIELD1_608: "FIELD1_608", + FIELD1_AND_FIELD2_608: "FIELD1_AND_FIELD2_608", } as const; /** * @public */ -export type Scte35WebDeliveryAllowedFlag = - (typeof Scte35WebDeliveryAllowedFlag)[keyof typeof Scte35WebDeliveryAllowedFlag]; +export type RtmpCaptionData = (typeof RtmpCaptionData)[keyof typeof RtmpCaptionData]; /** - * Corresponds to SCTE-35 delivery_not_restricted_flag parameter. To declare delivery restrictions, include this element and its four "restriction" flags. To declare that there are no restrictions, omit this element. * @public + * @enum */ -export interface Scte35DeliveryRestrictions { - /** - * Corresponds to SCTE-35 archive_allowed_flag. - * @public - */ - ArchiveAllowedFlag: Scte35ArchiveAllowedFlag | undefined; - - /** - * Corresponds to SCTE-35 device_restrictions parameter. - * @public - */ - DeviceRestrictions: Scte35DeviceRestrictions | undefined; - - /** - * Corresponds to SCTE-35 no_regional_blackout_flag parameter. - * @public - */ - NoRegionalBlackoutFlag: Scte35NoRegionalBlackoutFlag | undefined; +export const IncludeFillerNalUnits = { + AUTO: "AUTO", + DROP: "DROP", + INCLUDE: "INCLUDE", +} as const; - /** - * Corresponds to SCTE-35 web_delivery_allowed_flag parameter. - * @public - */ - WebDeliveryAllowedFlag: Scte35WebDeliveryAllowedFlag | undefined; -} +/** + * @public + */ +export type IncludeFillerNalUnits = (typeof IncludeFillerNalUnits)[keyof typeof IncludeFillerNalUnits]; /** * @public * @enum */ -export const Scte35SegmentationCancelIndicator = { - SEGMENTATION_EVENT_CANCELED: "SEGMENTATION_EVENT_CANCELED", - SEGMENTATION_EVENT_NOT_CANCELED: "SEGMENTATION_EVENT_NOT_CANCELED", +export const InputLossActionForRtmpOut = { + EMIT_OUTPUT: "EMIT_OUTPUT", + PAUSE_OUTPUT: "PAUSE_OUTPUT", } as const; /** * @public */ -export type Scte35SegmentationCancelIndicator = - (typeof Scte35SegmentationCancelIndicator)[keyof typeof Scte35SegmentationCancelIndicator]; +export type InputLossActionForRtmpOut = (typeof InputLossActionForRtmpOut)[keyof typeof InputLossActionForRtmpOut]; /** - * Corresponds to SCTE-35 segmentation_descriptor. + * Rtmp Group Settings * @public */ -export interface Scte35SegmentationDescriptor { +export interface RtmpGroupSettings { /** - * Holds the four SCTE-35 delivery restriction parameters. + * Choose the ad marker type for this output group. MediaLive will create a message based on the content of each SCTE-35 message, format it for that marker type, and insert it in the datastream. * @public */ - DeliveryRestrictions?: Scte35DeliveryRestrictions; + AdMarkers?: RtmpAdMarkers[]; /** - * Corresponds to SCTE-35 segment_num. A value that is valid for the specified segmentation_type_id. + * Authentication scheme to use when connecting with CDN * @public */ - SegmentNum?: number; + AuthenticationScheme?: AuthenticationScheme; /** - * Corresponds to SCTE-35 segmentation_event_cancel_indicator. + * Controls behavior when content cache fills up. If remote origin server stalls the RTMP connection and does not accept content fast enough the 'Media Cache' will fill up. When the cache reaches the duration specified by cacheLength the cache will stop accepting new content. If set to disconnectImmediately, the RTMP output will force a disconnect. Clear the media cache, and reconnect after restartDelay seconds. If set to waitForServer, the RTMP output will wait up to 5 minutes to allow the origin server to begin accepting data again. * @public */ - SegmentationCancelIndicator: Scte35SegmentationCancelIndicator | undefined; + CacheFullBehavior?: RtmpCacheFullBehavior; /** - * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the time_signal will continue until you insert a cancellation message. + * Cache length, in seconds, is used to calculate buffer size. * @public */ - SegmentationDuration?: number; + CacheLength?: number; /** - * Corresponds to SCTE-35 segmentation_event_id. + * Controls the types of data that passes to onCaptionInfo outputs. If set to 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608' then DTVCC data will be stripped out, but 608 data from both fields will be passed. If set to 'field1608' then only the data carried in 608 from field 1 video will be passed. * @public */ - SegmentationEventId: number | undefined; + CaptionData?: RtmpCaptionData; /** - * Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id values listed in the SCTE-35 specification. On the console, enter the ID in decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID in hex (for example, "0x34") or decimal (for example, "52"). + * Controls the behavior of this RTMP group if input becomes unavailable. + * + * - emitOutput: Emit a slate until input returns. + * - pauseOutput: Stop transmitting data until input returns. This does not close the underlying RTMP connection. * @public */ - SegmentationTypeId?: number; + InputLossAction?: InputLossActionForRtmpOut; /** - * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the hexadecimal representation of the characters that make up the SCTE-35 segmentation_upid value. Must contain an even number of hex characters. Do not include spaces between each hex pair. For example, the ASCII "ADS Information" becomes hex "41445320496e666f726d6174696f6e. + * If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart. * @public */ - SegmentationUpid?: string; + RestartDelay?: number; /** - * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the types listed in the SCTE-35 specification, converted to a decimal. For example, "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification, in either hex (for example, "0x0C" ) or in decimal (for example, "12"). + * Applies only when the rate control mode (in the codec settings) is CBR (constant bit rate). Controls whether the RTMP output stream is padded (with FILL NAL units) in order to achieve a constant bit rate that is truly constant. When there is no padding, the bandwidth varies (up to the bitrate value in the codec settings). We recommend that you choose Auto. * @public */ - SegmentationUpidType?: number; + IncludeFillerNalUnits?: IncludeFillerNalUnits; +} - /** - * Corresponds to SCTE-35 segments_expected. A value that is valid for the specified segmentation_type_id. - * @public - */ - SegmentsExpected?: number; +/** + * @public + * @enum + */ +export const InputLossActionForUdpOut = { + DROP_PROGRAM: "DROP_PROGRAM", + DROP_TS: "DROP_TS", + EMIT_PROGRAM: "EMIT_PROGRAM", +} as const; - /** - * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified segmentation_type_id. - * @public - */ - SubSegmentNum?: number; +/** + * @public + */ +export type InputLossActionForUdpOut = (typeof InputLossActionForUdpOut)[keyof typeof InputLossActionForUdpOut]; +/** + * Srt Group Settings + * @public + */ +export interface SrtGroupSettings { /** - * Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the specified segmentation_type_id. + * Specifies behavior of last resort when input video is lost, and no more backup inputs are available. When dropTs is selected the entire transport stream will stop being emitted. When dropProgram is selected the program can be dropped from the transport stream (and replaced with null packets to meet the TS bitrate requirement). Or, when emitProgram is chosen the transport stream will continue to be produced normally with repeat frames, black frames, or slate frames substituted for the absent input video. * @public */ - SubSegmentsExpected?: number; + InputLossAction?: InputLossActionForUdpOut; } /** - * SCTE-35 Descriptor settings. * @public + * @enum */ -export interface Scte35DescriptorSettings { - /** - * SCTE-35 Segmentation Descriptor. - * @public - */ - SegmentationDescriptorScte35DescriptorSettings: Scte35SegmentationDescriptor | undefined; -} +export const UdpTimedMetadataId3Frame = { + NONE: "NONE", + PRIV: "PRIV", + TDRL: "TDRL", +} as const; /** - * Holds one set of SCTE-35 Descriptor Settings. * @public */ -export interface Scte35Descriptor { - /** - * SCTE-35 Descriptor Settings. - * @public - */ - Scte35DescriptorSettings: Scte35DescriptorSettings | undefined; -} +export type UdpTimedMetadataId3Frame = (typeof UdpTimedMetadataId3Frame)[keyof typeof UdpTimedMetadataId3Frame]; /** - * Settings for a SCTE-35 time_signal. + * Udp Group Settings * @public */ -export interface Scte35TimeSignalScheduleActionSettings { +export interface UdpGroupSettings { /** - * The list of SCTE-35 descriptors accompanying the SCTE-35 time_signal. + * Specifies behavior of last resort when input video is lost, and no more backup inputs are available. When dropTs is selected the entire transport stream will stop being emitted. When dropProgram is selected the program can be dropped from the transport stream (and replaced with null packets to meet the TS bitrate requirement). Or, when emitProgram is chosen the transport stream will continue to be produced normally with repeat frames, black frames, or slate frames substituted for the absent input video. * @public */ - Scte35Descriptors: Scte35Descriptor[] | undefined; -} + InputLossAction?: InputLossActionForUdpOut; -/** - * Settings for the action to activate a static image. - * @public - */ -export interface StaticImageActivateScheduleActionSettings { /** - * The duration in milliseconds for the image to remain on the video. If omitted or set to 0 the duration is unlimited and the image will remain until it is explicitly deactivated. + * Indicates ID3 frame that has the timecode. * @public */ - Duration?: number; + TimedMetadataId3Frame?: UdpTimedMetadataId3Frame; /** - * The time in milliseconds for the image to fade in. The fade-in starts at the start time of the overlay. Default is 0 (no fade-in). + * Timed Metadata interval in seconds. * @public */ - FadeIn?: number; + TimedMetadataId3Period?: number; +} +/** + * Output Group Settings + * @public + */ +export interface OutputGroupSettings { /** - * Applies only if a duration is specified. The time in milliseconds for the image to fade out. The fade-out starts when the duration time is hit, so it effectively extends the duration. Default is 0 (no fade-out). + * Archive Group Settings * @public */ - FadeOut?: number; + ArchiveGroupSettings?: ArchiveGroupSettings; /** - * The height of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified height. Leave blank to use the native height of the overlay. + * Frame Capture Group Settings * @public */ - Height?: number; + FrameCaptureGroupSettings?: FrameCaptureGroupSettings; /** - * The location and filename of the image file to overlay on the video. The file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) than the input video. + * Hls Group Settings * @public */ - Image: InputLocation | undefined; + HlsGroupSettings?: HlsGroupSettings; /** - * Placement of the left edge of the overlay relative to the left edge of the video frame, in pixels. 0 (the default) is the left edge of the frame. If the placement causes the overlay to extend beyond the right edge of the underlying video, then the overlay is cropped on the right. + * Media Package Group Settings * @public */ - ImageX?: number; + MediaPackageGroupSettings?: MediaPackageGroupSettings; /** - * Placement of the top edge of the overlay relative to the top edge of the video frame, in pixels. 0 (the default) is the top edge of the frame. If the placement causes the overlay to extend beyond the bottom edge of the underlying video, then the overlay is cropped on the bottom. + * Ms Smooth Group Settings * @public */ - ImageY?: number; + MsSmoothGroupSettings?: MsSmoothGroupSettings; /** - * The number of the layer, 0 to 7. There are 8 layers that can be overlaid on the video, each layer with a different image. The layers are in Z order, which means that overlays with higher values of layer are inserted on top of overlays with lower values of layer. Default is 0. + * Multiplex Group Settings * @public */ - Layer?: number; + MultiplexGroupSettings?: MultiplexGroupSettings; /** - * Opacity of image where 0 is transparent and 100 is fully opaque. Default is 100. + * Rtmp Group Settings * @public */ - Opacity?: number; + RtmpGroupSettings?: RtmpGroupSettings; /** - * The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay. + * Udp Group Settings * @public */ - Width?: number; -} + UdpGroupSettings?: UdpGroupSettings; -/** - * Settings for the action to deactivate the image in a specific layer. - * @public - */ -export interface StaticImageDeactivateScheduleActionSettings { /** - * The time in milliseconds for the image to fade out. Default is 0 (no fade-out). + * Cmaf Ingest Group Settings * @public */ - FadeOut?: number; + CmafIngestGroupSettings?: CmafIngestGroupSettings; /** - * The image overlay layer to deactivate, 0 to 7. Default is 0. + * Srt Group Settings * @public */ - Layer?: number; + SrtGroupSettings?: SrtGroupSettings; } /** - * Settings for the action to activate a static image. + * Output groups for this Live Event. Output groups contain information about where streams should be distributed. * @public */ -export interface StaticImageOutputActivateScheduleActionSettings { - /** - * The duration in milliseconds for the image to remain on the video. If omitted or set to 0 the duration is unlimited and the image will remain until it is explicitly deactivated. - * @public - */ - Duration?: number; - +export interface OutputGroup { /** - * The time in milliseconds for the image to fade in. The fade-in starts at the start time of the overlay. Default is 0 (no fade-in). + * Custom output group name optionally defined by the user. * @public */ - FadeIn?: number; + Name?: string; /** - * Applies only if a duration is specified. The time in milliseconds for the image to fade out. The fade-out starts when the duration time is hit, so it effectively extends the duration. Default is 0 (no fade-out). + * Settings associated with the output group. * @public */ - FadeOut?: number; + OutputGroupSettings: OutputGroupSettings | undefined; /** - * The height of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified height. Leave blank to use the native height of the overlay. + * Placeholder documentation for __listOfOutput * @public */ - Height?: number; + Outputs: Output[] | undefined; +} +/** + * Runtime details of a pipeline when a channel is running. + * @public + */ +export interface PipelineDetail { /** - * The location and filename of the image file to overlay on the video. The file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) than the input video. + * The name of the active input attachment currently being ingested by this pipeline. * @public */ - Image: InputLocation | undefined; + ActiveInputAttachmentName?: string; /** - * Placement of the left edge of the overlay relative to the left edge of the video frame, in pixels. 0 (the default) is the left edge of the frame. If the placement causes the overlay to extend beyond the right edge of the underlying video, then the overlay is cropped on the right. + * The name of the input switch schedule action that occurred most recently and that resulted in the switch to the current input attachment for this pipeline. * @public */ - ImageX?: number; + ActiveInputSwitchActionName?: string; /** - * Placement of the top edge of the overlay relative to the top edge of the video frame, in pixels. 0 (the default) is the top edge of the frame. If the placement causes the overlay to extend beyond the bottom edge of the underlying video, then the overlay is cropped on the bottom. + * The name of the motion graphics activate action that occurred most recently and that resulted in the current graphics URI for this pipeline. * @public */ - ImageY?: number; + ActiveMotionGraphicsActionName?: string; /** - * The number of the layer, 0 to 7. There are 8 layers that can be overlaid on the video, each layer with a different image. The layers are in Z order, which means that overlays with higher values of layer are inserted on top of overlays with lower values of layer. Default is 0. + * The current URI being used for HTML5 motion graphics for this pipeline. * @public */ - Layer?: number; + ActiveMotionGraphicsUri?: string; /** - * Opacity of image where 0 is transparent and 100 is fully opaque. Default is 100. + * Pipeline ID * @public */ - Opacity?: number; + PipelineId?: string; +} - /** - * The name(s) of the output(s) the activation should apply to. - * @public - */ - OutputNames: string[] | undefined; +/** + * @public + * @enum + */ +export const PipelineId = { + PIPELINE_0: "PIPELINE_0", + PIPELINE_1: "PIPELINE_1", +} as const; + +/** + * @public + */ +export type PipelineId = (typeof PipelineId)[keyof typeof PipelineId]; +/** + * Settings for pausing a pipeline. + * @public + */ +export interface PipelinePauseStateSettings { /** - * The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay. + * Pipeline ID to pause ("PIPELINE_0" or "PIPELINE_1"). * @public */ - Width?: number; + PipelineId: PipelineId | undefined; } /** - * Settings for the action to deactivate the image in a specific layer. * @public + * @enum */ -export interface StaticImageOutputDeactivateScheduleActionSettings { - /** - * The time in milliseconds for the image to fade out. Default is 0 (no fade-out). - * @public - */ - FadeOut?: number; +export const ReservationAutomaticRenewal = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", + UNAVAILABLE: "UNAVAILABLE", +} as const; +/** + * @public + */ +export type ReservationAutomaticRenewal = + (typeof ReservationAutomaticRenewal)[keyof typeof ReservationAutomaticRenewal]; + +/** + * The Renewal settings for Reservations + * @public + */ +export interface RenewalSettings { /** - * The image overlay layer to deactivate, 0 to 7. Default is 0. + * Automatic renewal status for the reservation * @public */ - Layer?: number; + AutomaticRenewal?: ReservationAutomaticRenewal; /** - * The name(s) of the output(s) the deactivation should apply to. + * Count for the reservation renewal * @public */ - OutputNames: string[] | undefined; + RenewalCount?: number; } /** - * Holds the settings for a single schedule action. * @public + * @enum */ -export interface ScheduleActionSettings { +export const ReservationState = { + ACTIVE: "ACTIVE", + CANCELED: "CANCELED", + DELETED: "DELETED", + EXPIRED: "EXPIRED", +} as const; + +/** + * @public + */ +export type ReservationState = (typeof ReservationState)[keyof typeof ReservationState]; + +/** + * Reserved resources available to use + * @public + */ +export interface Reservation { /** - * Action to insert HLS ID3 segment tagging + * Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567' * @public */ - HlsId3SegmentTaggingSettings?: HlsId3SegmentTaggingScheduleActionSettings; + Arn?: string; /** - * Action to insert HLS metadata + * Number of reserved resources * @public */ - HlsTimedMetadataSettings?: HlsTimedMetadataScheduleActionSettings; + Count?: number; /** - * Action to prepare an input for a future immediate input switch + * Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD' * @public */ - InputPrepareSettings?: InputPrepareScheduleActionSettings; + CurrencyCode?: string; /** - * Action to switch the input + * Lease duration, e.g. '12' * @public */ - InputSwitchSettings?: InputSwitchScheduleActionSettings; + Duration?: number; /** - * Action to activate a motion graphics image overlay + * Units for duration, e.g. 'MONTHS' * @public */ - MotionGraphicsImageActivateSettings?: MotionGraphicsActivateScheduleActionSettings; + DurationUnits?: OfferingDurationUnits; /** - * Action to deactivate a motion graphics image overlay + * Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00' * @public */ - MotionGraphicsImageDeactivateSettings?: MotionGraphicsDeactivateScheduleActionSettings; + End?: string; /** - * Action to pause or unpause one or both channel pipelines + * One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering * @public */ - PauseStateSettings?: PauseStateScheduleActionSettings; + FixedPrice?: number; /** - * Action to specify scte35 input + * User specified reservation name * @public */ - Scte35InputSettings?: Scte35InputScheduleActionSettings; + Name?: string; /** - * Action to insert SCTE-35 return_to_network message + * Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)' * @public */ - Scte35ReturnToNetworkSettings?: Scte35ReturnToNetworkScheduleActionSettings; + OfferingDescription?: string; /** - * Action to insert SCTE-35 splice_insert message + * Unique offering ID, e.g. '87654321' * @public */ - Scte35SpliceInsertSettings?: Scte35SpliceInsertScheduleActionSettings; + OfferingId?: string; /** - * Action to insert SCTE-35 time_signal message + * Offering type, e.g. 'NO_UPFRONT' * @public */ - Scte35TimeSignalSettings?: Scte35TimeSignalScheduleActionSettings; + OfferingType?: OfferingType; /** - * Action to activate a static image overlay + * AWS region, e.g. 'us-west-2' * @public */ - StaticImageActivateSettings?: StaticImageActivateScheduleActionSettings; + Region?: string; /** - * Action to deactivate a static image overlay + * Renewal settings for the reservation * @public */ - StaticImageDeactivateSettings?: StaticImageDeactivateScheduleActionSettings; + RenewalSettings?: RenewalSettings; /** - * Action to activate a static image overlay in one or more specified outputs + * Unique reservation ID, e.g. '1234567' * @public */ - StaticImageOutputActivateSettings?: StaticImageOutputActivateScheduleActionSettings; + ReservationId?: string; /** - * Action to deactivate a static image overlay in one or more specified outputs + * Resource configuration details * @public */ - StaticImageOutputDeactivateSettings?: StaticImageOutputDeactivateScheduleActionSettings; -} + ResourceSpecification?: ReservationResourceSpecification; -/** - * Start time for the action. - * @public - */ -export interface FixedModeScheduleActionStartSettings { /** - * Start time for the action to start in the channel. (Not the time for the action to be added to the schedule: actions are always added to the schedule immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits (for example, mm might be 01) except for the two constants "T" for time and "Z" for "UTC format". + * Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00' * @public */ - Time: string | undefined; -} - -/** - * @public - * @enum - */ -export const FollowPoint = { - END: "END", - START: "START", -} as const; + Start?: string; -/** - * @public - */ -export type FollowPoint = (typeof FollowPoint)[keyof typeof FollowPoint]; + /** + * Current state of reservation, e.g. 'ACTIVE' + * @public + */ + State?: ReservationState; -/** - * Settings to specify if an action follows another. - * @public - */ -export interface FollowModeScheduleActionStartSettings { /** - * Identifies whether this action starts relative to the start or relative to the end of the reference action. + * A collection of key-value pairs * @public */ - FollowPoint: FollowPoint | undefined; + Tags?: Record; /** - * The action name of another action that this one refers to. + * Recurring usage charge for each reserved resource, e.g. '157.0' * @public */ - ReferenceActionName: string | undefined; + UsagePrice?: number; } /** - * Settings to configure an action so that it occurs as soon as possible. + * Used in CreateNetworkRequest. * @public */ -export interface ImmediateModeScheduleActionStartSettings {} +export interface RouteCreateRequest { + /** + * A CIDR block for one Route. + * @public + */ + Cidr?: string; -/** - * Settings to specify when an action should occur. Only one of the options must be selected. - * @public - */ -export interface ScheduleActionStartSettings { /** - * Option for specifying the start time for an action. + * The IP address of the Gateway for this route, if applicable. * @public */ - FixedModeScheduleActionStartSettings?: FixedModeScheduleActionStartSettings; + Gateway?: string; +} +/** + * Used in UpdateNetworkRequest. + * @public + */ +export interface RouteUpdateRequest { /** - * Option for specifying an action as relative to another action. + * A CIDR block for one Route. * @public */ - FollowModeScheduleActionStartSettings?: FollowModeScheduleActionStartSettings; + Cidr?: string; /** - * Option for specifying an action that should be applied immediately. + * The IP address of the Gateway for this route, if applicable. * @public */ - ImmediateModeScheduleActionStartSettings?: ImmediateModeScheduleActionStartSettings; + Gateway?: string; } /** - * Contains information on a single schedule action. + * Settings for the action to insert a user-defined ID3 tag in each HLS segment * @public */ -export interface ScheduleAction { +export interface HlsId3SegmentTaggingScheduleActionSettings { /** - * The name of the action, must be unique within the schedule. This name provides the main reference to an action once it is added to the schedule. A name is unique if it is no longer in the schedule. The schedule is automatically cleaned up to remove actions with a start time of more than 1 hour ago (approximately) so at that point a name can be reused. + * ID3 tag to insert into each segment. Supports special keyword identifiers to substitute in segment-related values.\nSupported keyword identifiers: https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html * @public */ - ActionName: string | undefined; + Tag?: string; /** - * Settings for this schedule action. + * Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure * @public */ - ScheduleActionSettings: ScheduleActionSettings | undefined; + Id3?: string; +} +/** + * Settings for the action to emit HLS metadata + * @public + */ +export interface HlsTimedMetadataScheduleActionSettings { /** - * The time for the action to start in the channel. + * Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure * @public */ - ScheduleActionStartSettings: ScheduleActionStartSettings | undefined; + Id3: string | undefined; } /** * @public * @enum */ -export const SignalMapMonitorDeploymentStatus = { - DELETE_COMPLETE: "DELETE_COMPLETE", - DELETE_FAILED: "DELETE_FAILED", - DELETE_IN_PROGRESS: "DELETE_IN_PROGRESS", - DEPLOYMENT_COMPLETE: "DEPLOYMENT_COMPLETE", - DEPLOYMENT_FAILED: "DEPLOYMENT_FAILED", - DEPLOYMENT_IN_PROGRESS: "DEPLOYMENT_IN_PROGRESS", - DRY_RUN_DEPLOYMENT_COMPLETE: "DRY_RUN_DEPLOYMENT_COMPLETE", - DRY_RUN_DEPLOYMENT_FAILED: "DRY_RUN_DEPLOYMENT_FAILED", - DRY_RUN_DEPLOYMENT_IN_PROGRESS: "DRY_RUN_DEPLOYMENT_IN_PROGRESS", - NOT_DEPLOYED: "NOT_DEPLOYED", +export const InputTimecodeSource = { + EMBEDDED: "EMBEDDED", + ZEROBASED: "ZEROBASED", } as const; /** * @public */ -export type SignalMapMonitorDeploymentStatus = - (typeof SignalMapMonitorDeploymentStatus)[keyof typeof SignalMapMonitorDeploymentStatus]; +export type InputTimecodeSource = (typeof InputTimecodeSource)[keyof typeof InputTimecodeSource]; + +/** + * Settings to identify the start of the clip. + * @public + */ +export interface StartTimecode { + /** + * The timecode for the frame where you want to start the clip. Optional; if not specified, the clip starts at first frame in the file. Enter the timecode as HH:MM:SS:FF or HH:MM:SS;FF. + * @public + */ + Timecode?: string; +} /** * @public * @enum */ -export const SignalMapStatus = { - CREATE_COMPLETE: "CREATE_COMPLETE", - CREATE_FAILED: "CREATE_FAILED", - CREATE_IN_PROGRESS: "CREATE_IN_PROGRESS", - NOT_READY: "NOT_READY", - READY: "READY", - UPDATE_COMPLETE: "UPDATE_COMPLETE", - UPDATE_FAILED: "UPDATE_FAILED", - UPDATE_IN_PROGRESS: "UPDATE_IN_PROGRESS", - UPDATE_REVERTED: "UPDATE_REVERTED", +export const LastFrameClippingBehavior = { + EXCLUDE_LAST_FRAME: "EXCLUDE_LAST_FRAME", + INCLUDE_LAST_FRAME: "INCLUDE_LAST_FRAME", } as const; /** * @public */ -export type SignalMapStatus = (typeof SignalMapStatus)[keyof typeof SignalMapStatus]; +export type LastFrameClippingBehavior = (typeof LastFrameClippingBehavior)[keyof typeof LastFrameClippingBehavior]; /** - * Placeholder documentation for SignalMapSummary + * Settings to identify the end of the clip. * @public */ -export interface SignalMapSummary { - /** - * A signal map's ARN (Amazon Resource Name) - * @public - */ - Arn: string | undefined; - - /** - * Placeholder documentation for __timestampIso8601 - * @public - */ - CreatedAt: Date | undefined; - - /** - * A resource's optional description. - * @public - */ - Description?: string; - - /** - * A signal map's id. - * @public - */ - Id: string | undefined; - +export interface StopTimecode { /** - * Placeholder documentation for __timestampIso8601 + * If you specify a StopTimecode in an input (in order to clip the file), you can specify if you want the clip to exclude (the default) or include the frame specified by the timecode. * @public */ - ModifiedAt?: Date; + LastFrameClippingBehavior?: LastFrameClippingBehavior; /** - * A signal map's monitor deployment status. + * The timecode for the frame where you want to stop the clip. Optional; if not specified, the clip continues to the end of the file. Enter the timecode as HH:MM:SS:FF or HH:MM:SS;FF. * @public */ - MonitorDeploymentStatus: SignalMapMonitorDeploymentStatus | undefined; + Timecode?: string; +} +/** + * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. + * @public + */ +export interface InputClippingSettings { /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * The source of the timecodes in the source being clipped. * @public */ - Name: string | undefined; + InputTimecodeSource: InputTimecodeSource | undefined; /** - * A signal map's current status which is dependent on its lifecycle actions or associated jobs. + * Settings to identify the start of the clip. * @public */ - Status: SignalMapStatus | undefined; + StartTimecode?: StartTimecode; /** - * Represents the tags associated with a resource. + * Settings to identify the end of the clip. * @public */ - Tags?: Record; + StopTimecode?: StopTimecode; } /** - * Complete these parameters only if the content is encrypted. + * Action to prepare an input for a future immediate input switch. * @public */ -export interface SrtCallerDecryptionRequest { - /** - * The algorithm used to encrypt content. - * @public - */ - Algorithm?: Algorithm; - +export interface InputPrepareScheduleActionSettings { /** - * 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. + * The name of the input attachment that should be prepared by this action. If no name is provided, the action will stop the most recent prepare (if any) when activated. * @public */ - PassphraseSecretArn?: string; -} + InputAttachmentNameReference?: 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. + * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. * @public */ - Decryption?: SrtCallerDecryptionRequest; + InputClippingSettings?: InputClippingSettings; /** - * 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. + * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source. * @public */ - MinimumLatency?: number; + UrlPath?: string[]; +} +/** + * Settings for the "switch input" action: to switch from ingesting one input to ingesting another input. + * @public + */ +export interface InputSwitchScheduleActionSettings { /** - * The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to. + * The name of the input attachment (not the name of the input!) to switch to. The name is specified in the channel configuration. * @public */ - SrtListenerAddress?: string; + InputAttachmentNameReference: string | undefined; /** - * The port at the upstream system (the listener) that MediaLive (the caller) will connect to. + * Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file. * @public */ - SrtListenerPort?: string; + InputClippingSettings?: InputClippingSettings; /** - * 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. + * The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source. * @public */ - StreamId?: string; + UrlPath?: string[]; } /** - * @public - * @enum - */ -export const ThumbnailType = { - CURRENT_ACTIVE: "CURRENT_ACTIVE", - UNSPECIFIED: "UNSPECIFIED", -} as const; - -/** - * @public - */ -export type ThumbnailType = (typeof ThumbnailType)[keyof typeof ThumbnailType]; - -/** - * Details of a single thumbnail + * Settings to specify the rendering of motion graphics into the video stream. * @public */ -export interface Thumbnail { +export interface MotionGraphicsActivateScheduleActionSettings { /** - * The binary data for the latest thumbnail. + * Duration (in milliseconds) that motion graphics should render on to the video stream. Leaving out this property or setting to 0 will result in rendering continuing until a deactivate action is processed. * @public */ - Body?: string; + Duration?: number; /** - * The content type for the latest thumbnail. + * Key used to extract the password from EC2 Parameter store * @public */ - ContentType?: string; + PasswordParam?: string; /** - * Thumbnail Type + * URI of the HTML5 content to be rendered into the live stream. * @public */ - ThumbnailType?: ThumbnailType; + Url?: string; /** - * Time stamp for the latest thumbnail. + * Documentation update needed * @public */ - TimeStamp?: Date; + Username?: string; } /** - * Thumbnail details for one pipeline of a running channel. + * Settings to specify the ending of rendering motion graphics into the video stream. * @public */ -export interface ThumbnailDetail { - /** - * Pipeline ID - * @public - */ - PipelineId?: string; +export interface MotionGraphicsDeactivateScheduleActionSettings {} +/** + * Settings for the action to set pause state of a channel. + * @public + */ +export interface PauseStateScheduleActionSettings { /** - * thumbnails of a single pipeline + * Placeholder documentation for __listOfPipelinePauseStateSettings * @public */ - Thumbnails?: Thumbnail[]; + Pipelines?: PipelinePauseStateSettings[]; } /** * @public * @enum */ -export const InputDeviceTransferType = { - INCOMING: "INCOMING", - OUTGOING: "OUTGOING", +export const Scte35InputMode = { + FIXED: "FIXED", + FOLLOW_ACTIVE: "FOLLOW_ACTIVE", } as const; /** * @public */ -export type InputDeviceTransferType = (typeof InputDeviceTransferType)[keyof typeof InputDeviceTransferType]; +export type Scte35InputMode = (typeof Scte35InputMode)[keyof typeof Scte35InputMode]; /** - * Details about the input device that is being transferred. + * Scte35Input Schedule Action Settings * @public */ -export interface TransferringInputDeviceSummary { - /** - * The unique ID of the input device. - * @public - */ - Id?: string; - +export interface Scte35InputScheduleActionSettings { /** - * The optional message that the sender has attached to the transfer. + * In fixed mode, enter the name of the input attachment that you want to use as a SCTE-35 input. (Don't enter the ID of the input.)" * @public */ - Message?: string; + InputAttachmentNameReference?: string; /** - * The AWS account ID for the recipient of the input device transfer. + * Whether the SCTE-35 input should be the active input or a fixed input. * @public */ - TargetCustomerId?: string; + Mode: Scte35InputMode | undefined; +} +/** + * Settings for a SCTE-35 return_to_network message. + * @public + */ +export interface Scte35ReturnToNetworkScheduleActionSettings { /** - * The type (direction) of the input device transfer. + * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. * @public */ - TransferType?: InputDeviceTransferType; + SpliceEventId: number | undefined; } /** - * Placeholder documentation for ValidationError + * Settings for a SCTE-35 splice_insert message. * @public */ -export interface ValidationError { +export interface Scte35SpliceInsertScheduleActionSettings { /** - * Path to the source of the error. + * Optional, the duration for the splice_insert, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. If you enter a duration, there is an expectation that the downstream system can read the duration and cue in at that time. If you do not enter a duration, the splice_insert will continue indefinitely and there is an expectation that you will enter a return_to_network to end the splice_insert at the appropriate time. * @public */ - ElementPath?: string; + Duration?: number; /** - * The error message. + * The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35. * @public */ - ErrorMessage?: string; + SpliceEventId: number | undefined; } /** * @public * @enum */ -export const FrameCaptureIntervalUnit = { - MILLISECONDS: "MILLISECONDS", - SECONDS: "SECONDS", +export const Scte35ArchiveAllowedFlag = { + ARCHIVE_ALLOWED: "ARCHIVE_ALLOWED", + ARCHIVE_NOT_ALLOWED: "ARCHIVE_NOT_ALLOWED", } as const; /** * @public */ -export type FrameCaptureIntervalUnit = (typeof FrameCaptureIntervalUnit)[keyof typeof FrameCaptureIntervalUnit]; +export type Scte35ArchiveAllowedFlag = (typeof Scte35ArchiveAllowedFlag)[keyof typeof Scte35ArchiveAllowedFlag]; /** * @public * @enum */ -export const TimecodeBurninFontSize = { - EXTRA_SMALL_10: "EXTRA_SMALL_10", - LARGE_48: "LARGE_48", - MEDIUM_32: "MEDIUM_32", - SMALL_16: "SMALL_16", +export const Scte35DeviceRestrictions = { + NONE: "NONE", + RESTRICT_GROUP0: "RESTRICT_GROUP0", + RESTRICT_GROUP1: "RESTRICT_GROUP1", + RESTRICT_GROUP2: "RESTRICT_GROUP2", } as const; /** * @public */ -export type TimecodeBurninFontSize = (typeof TimecodeBurninFontSize)[keyof typeof TimecodeBurninFontSize]; +export type Scte35DeviceRestrictions = (typeof Scte35DeviceRestrictions)[keyof typeof Scte35DeviceRestrictions]; /** * @public * @enum */ -export const TimecodeBurninPosition = { - BOTTOM_CENTER: "BOTTOM_CENTER", - BOTTOM_LEFT: "BOTTOM_LEFT", - BOTTOM_RIGHT: "BOTTOM_RIGHT", - MIDDLE_CENTER: "MIDDLE_CENTER", - MIDDLE_LEFT: "MIDDLE_LEFT", - MIDDLE_RIGHT: "MIDDLE_RIGHT", - TOP_CENTER: "TOP_CENTER", - TOP_LEFT: "TOP_LEFT", - TOP_RIGHT: "TOP_RIGHT", +export const Scte35NoRegionalBlackoutFlag = { + NO_REGIONAL_BLACKOUT: "NO_REGIONAL_BLACKOUT", + REGIONAL_BLACKOUT: "REGIONAL_BLACKOUT", } as const; /** * @public */ -export type TimecodeBurninPosition = (typeof TimecodeBurninPosition)[keyof typeof TimecodeBurninPosition]; +export type Scte35NoRegionalBlackoutFlag = + (typeof Scte35NoRegionalBlackoutFlag)[keyof typeof Scte35NoRegionalBlackoutFlag]; /** - * Timecode Burnin Settings * @public + * @enum */ -export interface TimecodeBurninSettings { - /** - * Choose a timecode burn-in font size - * @public - */ - FontSize: TimecodeBurninFontSize | undefined; - - /** - * Choose a timecode burn-in output position - * @public - */ - Position: TimecodeBurninPosition | undefined; +export const Scte35WebDeliveryAllowedFlag = { + WEB_DELIVERY_ALLOWED: "WEB_DELIVERY_ALLOWED", + WEB_DELIVERY_NOT_ALLOWED: "WEB_DELIVERY_NOT_ALLOWED", +} as const; - /** - * Create a timecode burn-in prefix (optional) - * @public - */ - Prefix?: string; -} +/** + * @public + */ +export type Scte35WebDeliveryAllowedFlag = + (typeof Scte35WebDeliveryAllowedFlag)[keyof typeof Scte35WebDeliveryAllowedFlag]; /** - * Frame Capture Settings + * Corresponds to SCTE-35 delivery_not_restricted_flag parameter. To declare delivery restrictions, include this element and its four "restriction" flags. To declare that there are no restrictions, omit this element. * @public */ -export interface FrameCaptureSettings { +export interface Scte35DeliveryRestrictions { /** - * The frequency at which to capture frames for inclusion in the output. May be specified in either seconds or milliseconds, as specified by captureIntervalUnits. + * Corresponds to SCTE-35 archive_allowed_flag. * @public */ - CaptureInterval?: number; + ArchiveAllowedFlag: Scte35ArchiveAllowedFlag | undefined; /** - * Unit for the frame capture interval. + * Corresponds to SCTE-35 device_restrictions parameter. * @public */ - CaptureIntervalUnits?: FrameCaptureIntervalUnit; + DeviceRestrictions: Scte35DeviceRestrictions | undefined; /** - * Timecode burn-in settings + * Corresponds to SCTE-35 no_regional_blackout_flag parameter. * @public */ - TimecodeBurninSettings?: TimecodeBurninSettings; + NoRegionalBlackoutFlag: Scte35NoRegionalBlackoutFlag | undefined; + + /** + * Corresponds to SCTE-35 web_delivery_allowed_flag parameter. + * @public + */ + WebDeliveryAllowedFlag: Scte35WebDeliveryAllowedFlag | undefined; } /** * @public * @enum */ -export const H264AdaptiveQuantization = { - AUTO: "AUTO", - HIGH: "HIGH", - HIGHER: "HIGHER", - LOW: "LOW", - MAX: "MAX", - MEDIUM: "MEDIUM", - OFF: "OFF", +export const Scte35SegmentationCancelIndicator = { + SEGMENTATION_EVENT_CANCELED: "SEGMENTATION_EVENT_CANCELED", + SEGMENTATION_EVENT_NOT_CANCELED: "SEGMENTATION_EVENT_NOT_CANCELED", } as const; /** * @public */ -export type H264AdaptiveQuantization = (typeof H264AdaptiveQuantization)[keyof typeof H264AdaptiveQuantization]; - -/** - * @public - * @enum - */ -export const AfdSignaling = { - AUTO: "AUTO", - FIXED: "FIXED", - NONE: "NONE", -} as const; +export type Scte35SegmentationCancelIndicator = + (typeof Scte35SegmentationCancelIndicator)[keyof typeof Scte35SegmentationCancelIndicator]; /** + * Corresponds to SCTE-35 segmentation_descriptor. * @public */ -export type AfdSignaling = (typeof AfdSignaling)[keyof typeof AfdSignaling]; +export interface Scte35SegmentationDescriptor { + /** + * Holds the four SCTE-35 delivery restriction parameters. + * @public + */ + DeliveryRestrictions?: Scte35DeliveryRestrictions; -/** - * @public - * @enum - */ -export const H264ColorMetadata = { - IGNORE: "IGNORE", - INSERT: "INSERT", -} as const; + /** + * Corresponds to SCTE-35 segment_num. A value that is valid for the specified segmentation_type_id. + * @public + */ + SegmentNum?: number; -/** - * @public - */ -export type H264ColorMetadata = (typeof H264ColorMetadata)[keyof typeof H264ColorMetadata]; + /** + * Corresponds to SCTE-35 segmentation_event_cancel_indicator. + * @public + */ + SegmentationCancelIndicator: Scte35SegmentationCancelIndicator | undefined; -/** - * Passthrough applies no color space conversion to the output - * @public - */ -export interface ColorSpacePassthroughSettings {} + /** + * Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the time_signal will continue until you insert a cancellation message. + * @public + */ + SegmentationDuration?: number; -/** - * Rec601 Settings - * @public - */ -export interface Rec601Settings {} + /** + * Corresponds to SCTE-35 segmentation_event_id. + * @public + */ + SegmentationEventId: number | undefined; -/** - * Rec709 Settings - * @public - */ -export interface Rec709Settings {} + /** + * Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id values listed in the SCTE-35 specification. On the console, enter the ID in decimal (for example, "52"). In the CLI, API, or an SDK, enter the ID in hex (for example, "0x34") or decimal (for example, "52"). + * @public + */ + SegmentationTypeId?: number; -/** - * H264 Color Space Settings - * @public - */ -export interface H264ColorSpaceSettings { /** - * Passthrough applies no color space conversion to the output + * Corresponds to SCTE-35 segmentation_upid. Enter a string containing the hexadecimal representation of the characters that make up the SCTE-35 segmentation_upid value. Must contain an even number of hex characters. Do not include spaces between each hex pair. For example, the ASCII "ADS Information" becomes hex "41445320496e666f726d6174696f6e. * @public */ - ColorSpacePassthroughSettings?: ColorSpacePassthroughSettings; + SegmentationUpid?: string; /** - * Rec601 Settings + * Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the types listed in the SCTE-35 specification, converted to a decimal. For example, "0x0C" hex from the specification is "12" in decimal. In the CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification, in either hex (for example, "0x0C" ) or in decimal (for example, "12"). * @public */ - Rec601Settings?: Rec601Settings; + SegmentationUpidType?: number; /** - * Rec709 Settings + * Corresponds to SCTE-35 segments_expected. A value that is valid for the specified segmentation_type_id. * @public */ - Rec709Settings?: Rec709Settings; -} + SegmentsExpected?: number; -/** - * @public - * @enum - */ -export const H264EntropyEncoding = { - CABAC: "CABAC", - CAVLC: "CAVLC", -} as const; + /** + * Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified segmentation_type_id. + * @public + */ + SubSegmentNum?: number; -/** - * @public - */ -export type H264EntropyEncoding = (typeof H264EntropyEncoding)[keyof typeof H264EntropyEncoding]; + /** + * Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the specified segmentation_type_id. + * @public + */ + SubSegmentsExpected?: number; +} /** + * SCTE-35 Descriptor settings. * @public - * @enum */ -export const TemporalFilterPostFilterSharpening = { - AUTO: "AUTO", - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; +export interface Scte35DescriptorSettings { + /** + * SCTE-35 Segmentation Descriptor. + * @public + */ + SegmentationDescriptorScte35DescriptorSettings: Scte35SegmentationDescriptor | undefined; +} /** + * Holds one set of SCTE-35 Descriptor Settings. * @public */ -export type TemporalFilterPostFilterSharpening = - (typeof TemporalFilterPostFilterSharpening)[keyof typeof TemporalFilterPostFilterSharpening]; +export interface Scte35Descriptor { + /** + * SCTE-35 Descriptor Settings. + * @public + */ + Scte35DescriptorSettings: Scte35DescriptorSettings | undefined; +} /** + * Settings for a SCTE-35 time_signal. * @public - * @enum */ -export const TemporalFilterStrength = { - AUTO: "AUTO", - STRENGTH_1: "STRENGTH_1", - STRENGTH_10: "STRENGTH_10", - STRENGTH_11: "STRENGTH_11", - STRENGTH_12: "STRENGTH_12", - STRENGTH_13: "STRENGTH_13", - STRENGTH_14: "STRENGTH_14", - STRENGTH_15: "STRENGTH_15", - STRENGTH_16: "STRENGTH_16", - STRENGTH_2: "STRENGTH_2", - STRENGTH_3: "STRENGTH_3", - STRENGTH_4: "STRENGTH_4", - STRENGTH_5: "STRENGTH_5", - STRENGTH_6: "STRENGTH_6", - STRENGTH_7: "STRENGTH_7", - STRENGTH_8: "STRENGTH_8", - STRENGTH_9: "STRENGTH_9", -} as const; +export interface Scte35TimeSignalScheduleActionSettings { + /** + * The list of SCTE-35 descriptors accompanying the SCTE-35 time_signal. + * @public + */ + Scte35Descriptors: Scte35Descriptor[] | undefined; +} /** + * Settings for the action to activate a static image. * @public */ -export type TemporalFilterStrength = (typeof TemporalFilterStrength)[keyof typeof TemporalFilterStrength]; +export interface StaticImageActivateScheduleActionSettings { + /** + * The duration in milliseconds for the image to remain on the video. If omitted or set to 0 the duration is unlimited and the image will remain until it is explicitly deactivated. + * @public + */ + Duration?: number; -/** - * Temporal Filter Settings - * @public - */ -export interface TemporalFilterSettings { /** - * If you enable this filter, the results are the following: - * - If the source content is noisy (it contains excessive digital artifacts), the filter cleans up the source. - * - If the source content is already clean, the filter tends to decrease the bitrate, especially when the rate control mode is QVBR. + * The time in milliseconds for the image to fade in. The fade-in starts at the start time of the overlay. Default is 0 (no fade-in). * @public */ - PostFilterSharpening?: TemporalFilterPostFilterSharpening; + FadeIn?: number; /** - * Choose a filter strength. We recommend a strength of 1 or 2. A higher strength might take out good information, resulting in an image that is overly soft. + * Applies only if a duration is specified. The time in milliseconds for the image to fade out. The fade-out starts when the duration time is hit, so it effectively extends the duration. Default is 0 (no fade-out). * @public */ - Strength?: TemporalFilterStrength; -} + FadeOut?: number; -/** - * H264 Filter Settings - * @public - */ -export interface H264FilterSettings { /** - * Temporal Filter Settings + * The height of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified height. Leave blank to use the native height of the overlay. * @public */ - TemporalFilterSettings?: TemporalFilterSettings; -} - -/** - * @public - * @enum - */ -export const FixedAfd = { - AFD_0000: "AFD_0000", - AFD_0010: "AFD_0010", - AFD_0011: "AFD_0011", - AFD_0100: "AFD_0100", - AFD_1000: "AFD_1000", - AFD_1001: "AFD_1001", - AFD_1010: "AFD_1010", - AFD_1011: "AFD_1011", - AFD_1101: "AFD_1101", - AFD_1110: "AFD_1110", - AFD_1111: "AFD_1111", -} as const; - -/** - * @public - */ -export type FixedAfd = (typeof FixedAfd)[keyof typeof FixedAfd]; - -/** - * @public - * @enum - */ -export const H264FlickerAq = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type H264FlickerAq = (typeof H264FlickerAq)[keyof typeof H264FlickerAq]; - -/** - * @public - * @enum - */ -export const H264ForceFieldPictures = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type H264ForceFieldPictures = (typeof H264ForceFieldPictures)[keyof typeof H264ForceFieldPictures]; - -/** - * @public - * @enum - */ -export const H264FramerateControl = { - INITIALIZE_FROM_SOURCE: "INITIALIZE_FROM_SOURCE", - SPECIFIED: "SPECIFIED", -} as const; - -/** - * @public - */ -export type H264FramerateControl = (typeof H264FramerateControl)[keyof typeof H264FramerateControl]; - -/** - * @public - * @enum - */ -export const H264GopBReference = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type H264GopBReference = (typeof H264GopBReference)[keyof typeof H264GopBReference]; - -/** - * @public - * @enum - */ -export const H264GopSizeUnits = { - FRAMES: "FRAMES", - SECONDS: "SECONDS", -} as const; - -/** - * @public - */ -export type H264GopSizeUnits = (typeof H264GopSizeUnits)[keyof typeof H264GopSizeUnits]; - -/** - * @public - * @enum - */ -export const H264Level = { - H264_LEVEL_1: "H264_LEVEL_1", - H264_LEVEL_1_1: "H264_LEVEL_1_1", - H264_LEVEL_1_2: "H264_LEVEL_1_2", - H264_LEVEL_1_3: "H264_LEVEL_1_3", - H264_LEVEL_2: "H264_LEVEL_2", - H264_LEVEL_2_1: "H264_LEVEL_2_1", - H264_LEVEL_2_2: "H264_LEVEL_2_2", - H264_LEVEL_3: "H264_LEVEL_3", - H264_LEVEL_3_1: "H264_LEVEL_3_1", - H264_LEVEL_3_2: "H264_LEVEL_3_2", - H264_LEVEL_4: "H264_LEVEL_4", - H264_LEVEL_4_1: "H264_LEVEL_4_1", - H264_LEVEL_4_2: "H264_LEVEL_4_2", - H264_LEVEL_5: "H264_LEVEL_5", - H264_LEVEL_5_1: "H264_LEVEL_5_1", - H264_LEVEL_5_2: "H264_LEVEL_5_2", - H264_LEVEL_AUTO: "H264_LEVEL_AUTO", -} as const; - -/** - * @public - */ -export type H264Level = (typeof H264Level)[keyof typeof H264Level]; - -/** - * @public - * @enum - */ -export const H264LookAheadRateControl = { - HIGH: "HIGH", - LOW: "LOW", - MEDIUM: "MEDIUM", -} as const; - -/** - * @public - */ -export type H264LookAheadRateControl = (typeof H264LookAheadRateControl)[keyof typeof H264LookAheadRateControl]; - -/** - * @public - * @enum - */ -export const H264ParControl = { - INITIALIZE_FROM_SOURCE: "INITIALIZE_FROM_SOURCE", - SPECIFIED: "SPECIFIED", -} as const; - -/** - * @public - */ -export type H264ParControl = (typeof H264ParControl)[keyof typeof H264ParControl]; - -/** - * @public - * @enum - */ -export const H264Profile = { - BASELINE: "BASELINE", - HIGH: "HIGH", - HIGH_10BIT: "HIGH_10BIT", - HIGH_422: "HIGH_422", - HIGH_422_10BIT: "HIGH_422_10BIT", - MAIN: "MAIN", -} as const; - -/** - * @public - */ -export type H264Profile = (typeof H264Profile)[keyof typeof H264Profile]; - -/** - * @public - * @enum - */ -export const H264QualityLevel = { - ENHANCED_QUALITY: "ENHANCED_QUALITY", - STANDARD_QUALITY: "STANDARD_QUALITY", -} as const; - -/** - * @public - */ -export type H264QualityLevel = (typeof H264QualityLevel)[keyof typeof H264QualityLevel]; - -/** - * @public - * @enum - */ -export const H264RateControlMode = { - CBR: "CBR", - MULTIPLEX: "MULTIPLEX", - QVBR: "QVBR", - VBR: "VBR", -} as const; - -/** - * @public - */ -export type H264RateControlMode = (typeof H264RateControlMode)[keyof typeof H264RateControlMode]; - -/** - * @public - * @enum - */ -export const H264ScanType = { - INTERLACED: "INTERLACED", - PROGRESSIVE: "PROGRESSIVE", -} as const; - -/** - * @public - */ -export type H264ScanType = (typeof H264ScanType)[keyof typeof H264ScanType]; - -/** - * @public - * @enum - */ -export const H264SceneChangeDetect = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type H264SceneChangeDetect = (typeof H264SceneChangeDetect)[keyof typeof H264SceneChangeDetect]; - -/** - * @public - * @enum - */ -export const H264SpatialAq = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type H264SpatialAq = (typeof H264SpatialAq)[keyof typeof H264SpatialAq]; - -/** - * @public - * @enum - */ -export const H264SubGopLength = { - DYNAMIC: "DYNAMIC", - FIXED: "FIXED", -} as const; - -/** - * @public - */ -export type H264SubGopLength = (typeof H264SubGopLength)[keyof typeof H264SubGopLength]; - -/** - * @public - * @enum - */ -export const H264Syntax = { - DEFAULT: "DEFAULT", - RP2027: "RP2027", -} as const; - -/** - * @public - */ -export type H264Syntax = (typeof H264Syntax)[keyof typeof H264Syntax]; - -/** - * @public - * @enum - */ -export const H264TemporalAq = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type H264TemporalAq = (typeof H264TemporalAq)[keyof typeof H264TemporalAq]; - -/** - * @public - * @enum - */ -export const H264TimecodeInsertionBehavior = { - DISABLED: "DISABLED", - PIC_TIMING_SEI: "PIC_TIMING_SEI", -} as const; - -/** - * @public - */ -export type H264TimecodeInsertionBehavior = - (typeof H264TimecodeInsertionBehavior)[keyof typeof H264TimecodeInsertionBehavior]; - -/** - * H264 Settings - * @public - */ -export interface H264Settings { - /** - * Enables or disables adaptive quantization, which is a technique MediaLive can apply to video on a frame-by-frame basis to produce more compression without losing quality. There are three types of adaptive quantization: flicker, spatial, and temporal. Set the field in one of these ways: Set to Auto. Recommended. For each type of AQ, MediaLive will determine if AQ is needed, and if so, the appropriate strength. Set a strength (a value other than Auto or Disable). This strength will apply to any of the AQ fields that you choose to enable. Set to Disabled to disable all types of adaptive quantization. - * @public - */ - AdaptiveQuantization?: H264AdaptiveQuantization; - - /** - * Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter. - * @public - */ - AfdSignaling?: AfdSignaling; - - /** - * Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000. - * @public - */ - Bitrate?: number; - - /** - * Percentage of the buffer that should initially be filled (HRD buffer model). - * @public - */ - BufFillPct?: number; - - /** - * Size of buffer (HRD buffer model) in bits. - * @public - */ - BufSize?: number; - - /** - * Includes colorspace metadata in the output. - * @public - */ - ColorMetadata?: H264ColorMetadata; - - /** - * Color Space settings - * @public - */ - ColorSpaceSettings?: H264ColorSpaceSettings; - - /** - * Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. - * @public - */ - EntropyEncoding?: H264EntropyEncoding; - - /** - * 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; - - /** - * Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. - * @public - */ - FixedAfd?: FixedAfd; - - /** - * Flicker AQ makes adjustments within each frame to reduce flicker or 'pop' on I-frames. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if flicker AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply flicker AQ using the specified strength. Disabled: MediaLive won't apply flicker AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply flicker AQ. - * @public - */ - FlickerAq?: H264FlickerAq; - - /** - * This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) - * enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. - * disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content. - * @public - */ - ForceFieldPictures?: H264ForceFieldPictures; - - /** - * This field indicates how the output video frame rate is specified. If "specified" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if "initializeFromSource" is selected then the output video frame rate will be set equal to the input video frame rate of the first input. - * @public - */ - FramerateControl?: H264FramerateControl; - - /** - * Framerate denominator. - * @public - */ - FramerateDenominator?: number; - - /** - * Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. - * @public - */ - FramerateNumerator?: number; - - /** - * Documentation update needed - * @public - */ - GopBReference?: H264GopBReference; - - /** - * 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. - * @public - */ - GopClosedCadence?: number; - - /** - * Number of B-frames between reference frames. - * @public - */ - GopNumBFrames?: number; - - /** - * GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. - * If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. - * If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer. - * @public - */ - GopSize?: number; - - /** - * Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time. - * @public - */ - GopSizeUnits?: H264GopSizeUnits; - - /** - * H.264 Level. - * @public - */ - Level?: H264Level; - - /** - * Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. - * @public - */ - LookAheadRateControl?: H264LookAheadRateControl; - - /** - * For QVBR: See the tooltip for Quality level - * - * For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video. - * @public - */ - MaxBitrate?: number; - - /** - * Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. 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 - * @public - */ - MinIInterval?: number; + Height?: number; /** - * Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. + * The location and filename of the image file to overlay on the video. The file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) than the input video. * @public */ - NumRefFrames?: number; + Image: InputLocation | undefined; /** - * 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 and parDenominator, else if "initializeFromSource" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input. + * Placement of the left edge of the overlay relative to the left edge of the video frame, in pixels. 0 (the default) is the left edge of the frame. If the placement causes the overlay to extend beyond the right edge of the underlying video, then the overlay is cropped on the right. * @public */ - ParControl?: H264ParControl; + ImageX?: number; /** - * Pixel Aspect Ratio denominator. + * Placement of the top edge of the overlay relative to the top edge of the video frame, in pixels. 0 (the default) is the top edge of the frame. If the placement causes the overlay to extend beyond the bottom edge of the underlying video, then the overlay is cropped on the bottom. * @public */ - ParDenominator?: number; + ImageY?: number; /** - * Pixel Aspect Ratio numerator. + * The number of the layer, 0 to 7. There are 8 layers that can be overlaid on the video, each layer with a different image. The layers are in Z order, which means that overlays with higher values of layer are inserted on top of overlays with lower values of layer. Default is 0. * @public */ - ParNumerator?: number; + Layer?: number; /** - * H.264 Profile. + * Opacity of image where 0 is transparent and 100 is fully opaque. Default is 100. * @public */ - Profile?: H264Profile; + Opacity?: number; /** - * Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel). - * - ENHANCED_QUALITY: Produces a slightly better video quality without an increase in the bitrate. Has an effect only when the Rate control mode is QVBR or CBR. If this channel is in a MediaLive multiplex, the value must be ENHANCED_QUALITY. - * - STANDARD_QUALITY: Valid for any Rate control mode. + * The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay. * @public */ - QualityLevel?: H264QualityLevel; + Width?: number; +} +/** + * Settings for the action to deactivate the image in a specific layer. + * @public + */ +export interface StaticImageDeactivateScheduleActionSettings { /** - * Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. You can set a target quality or you can let MediaLive determine the best quality. To set a target quality, enter values in the QVBR quality level field and the Max bitrate field. Enter values that suit your most important viewing devices. Recommended values are: - * - Primary screen: Quality level: 8 to 10. Max bitrate: 4M - * - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M - * - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M - * To let MediaLive decide, leave the QVBR quality level field empty, and in Max bitrate enter the maximum rate you want in the video. For more information, see the section called "Video - rate control mode" in the MediaLive user guide + * The time in milliseconds for the image to fade out. Default is 0 (no fade-out). * @public */ - QvbrQualityLevel?: number; + FadeOut?: number; /** - * Rate control mode. - * - * QVBR: Quality will match the specified quality level except when it is constrained by the - * maximum bitrate. Recommended if you or your viewers pay for bandwidth. - * - * VBR: Quality and bitrate vary, depending on the video complexity. Recommended instead of QVBR - * if you want to maintain a specific average bitrate over the duration of the channel. - * - * CBR: Quality varies, depending on the video complexity. Recommended only if you distribute - * your assets to devices that cannot handle variable bitrates. - * - * Multiplex: This rate control mode is only supported (and is required) when the video is being - * delivered to a MediaLive Multiplex in which case the rate control configuration is controlled - * by the properties within the Multiplex Program. + * The image overlay layer to deactivate, 0 to 7. Default is 0. * @public */ - RateControlMode?: H264RateControlMode; + Layer?: number; +} +/** + * Settings for the action to activate a static image. + * @public + */ +export interface StaticImageOutputActivateScheduleActionSettings { /** - * Sets the scan type of the output to progressive or top-field-first interlaced. + * The duration in milliseconds for the image to remain on the video. If omitted or set to 0 the duration is unlimited and the image will remain until it is explicitly deactivated. * @public */ - ScanType?: H264ScanType; + Duration?: number; /** - * Scene change detection. - * - * - On: inserts I-frames when scene change is detected. - * - Off: does not force an I-frame when scene change is detected. + * The time in milliseconds for the image to fade in. The fade-in starts at the start time of the overlay. Default is 0 (no fade-in). * @public */ - SceneChangeDetect?: H264SceneChangeDetect; + FadeIn?: number; /** - * 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. - * This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. + * Applies only if a duration is specified. The time in milliseconds for the image to fade out. The fade-out starts when the duration time is hit, so it effectively extends the duration. Default is 0 (no fade-out). * @public */ - Slices?: number; + FadeOut?: number; /** - * Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. If not set to zero, must be greater than 15. + * The height of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified height. Leave blank to use the native height of the overlay. * @public */ - Softness?: number; + Height?: number; /** - * Spatial AQ makes adjustments within each frame based on spatial variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if spatial AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply spatial AQ using the specified strength. Disabled: MediaLive won't apply spatial AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply spatial AQ. + * The location and filename of the image file to overlay on the video. The file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) than the input video. * @public */ - SpatialAq?: H264SpatialAq; + Image: InputLocation | undefined; /** - * If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality. + * Placement of the left edge of the overlay relative to the left edge of the video frame, in pixels. 0 (the default) is the left edge of the frame. If the placement causes the overlay to extend beyond the right edge of the underlying video, then the overlay is cropped on the right. * @public */ - SubgopLength?: H264SubGopLength; + ImageX?: number; /** - * Produces a bitstream compliant with SMPTE RP-2027. + * Placement of the top edge of the overlay relative to the top edge of the video frame, in pixels. 0 (the default) is the top edge of the frame. If the placement causes the overlay to extend beyond the bottom edge of the underlying video, then the overlay is cropped on the bottom. * @public */ - Syntax?: H264Syntax; + ImageY?: number; /** - * Temporal makes adjustments within each frame based on temporal variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if temporal AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply temporal AQ using the specified strength. Disabled: MediaLive won't apply temporal AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply temporal AQ. + * The number of the layer, 0 to 7. There are 8 layers that can be overlaid on the video, each layer with a different image. The layers are in Z order, which means that overlays with higher values of layer are inserted on top of overlays with lower values of layer. Default is 0. * @public */ - TemporalAq?: H264TemporalAq; + Layer?: number; /** - * Determines how timecodes should be inserted into the video elementary stream. - * - 'disabled': Do not include timecodes - * - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config + * Opacity of image where 0 is transparent and 100 is fully opaque. Default is 100. * @public */ - TimecodeInsertion?: H264TimecodeInsertionBehavior; + Opacity?: number; /** - * Timecode burn-in settings + * The name(s) of the output(s) the activation should apply to. * @public */ - TimecodeBurninSettings?: TimecodeBurninSettings; + OutputNames: string[] | undefined; /** - * Sets the minimum QP. If you aren't familiar with quantization adjustment, leave the field empty. MediaLive will - * apply an appropriate value. + * The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay. * @public */ - MinQp?: number; + Width?: number; } /** + * Settings for the action to deactivate the image in a specific layer. * @public - * @enum - */ -export const H265AdaptiveQuantization = { - AUTO: "AUTO", - HIGH: "HIGH", - HIGHER: "HIGHER", - LOW: "LOW", - MAX: "MAX", - MEDIUM: "MEDIUM", - OFF: "OFF", -} as const; - -/** - * @public - */ -export type H265AdaptiveQuantization = (typeof H265AdaptiveQuantization)[keyof typeof H265AdaptiveQuantization]; - -/** - * @public - * @enum - */ -export const H265AlternativeTransferFunction = { - INSERT: "INSERT", - OMIT: "OMIT", -} as const; - -/** - * @public - */ -export type H265AlternativeTransferFunction = - (typeof H265AlternativeTransferFunction)[keyof typeof H265AlternativeTransferFunction]; - -/** - * @public - * @enum */ -export const H265ColorMetadata = { - IGNORE: "IGNORE", - INSERT: "INSERT", -} as const; +export interface StaticImageOutputDeactivateScheduleActionSettings { + /** + * The time in milliseconds for the image to fade out. Default is 0 (no fade-out). + * @public + */ + FadeOut?: number; -/** - * @public - */ -export type H265ColorMetadata = (typeof H265ColorMetadata)[keyof typeof H265ColorMetadata]; + /** + * The image overlay layer to deactivate, 0 to 7. Default is 0. + * @public + */ + Layer?: number; -/** - * Dolby Vision81 Settings - * @public - */ -export interface DolbyVision81Settings {} + /** + * The name(s) of the output(s) the deactivation should apply to. + * @public + */ + OutputNames: string[] | undefined; +} /** - * H265 Color Space Settings + * Holds the settings for a single schedule action. * @public */ -export interface H265ColorSpaceSettings { +export interface ScheduleActionSettings { /** - * Passthrough applies no color space conversion to the output + * Action to insert HLS ID3 segment tagging * @public */ - ColorSpacePassthroughSettings?: ColorSpacePassthroughSettings; + HlsId3SegmentTaggingSettings?: HlsId3SegmentTaggingScheduleActionSettings; /** - * Dolby Vision81 Settings + * Action to insert HLS metadata * @public */ - DolbyVision81Settings?: DolbyVision81Settings; + HlsTimedMetadataSettings?: HlsTimedMetadataScheduleActionSettings; /** - * Hdr10 Settings + * Action to prepare an input for a future immediate input switch * @public */ - Hdr10Settings?: Hdr10Settings; + InputPrepareSettings?: InputPrepareScheduleActionSettings; /** - * Rec601 Settings + * Action to switch the input * @public */ - Rec601Settings?: Rec601Settings; + InputSwitchSettings?: InputSwitchScheduleActionSettings; /** - * Rec709 Settings + * Action to activate a motion graphics image overlay * @public */ - Rec709Settings?: Rec709Settings; -} + MotionGraphicsImageActivateSettings?: MotionGraphicsActivateScheduleActionSettings; -/** - * H265 Filter Settings - * @public - */ -export interface H265FilterSettings { /** - * Temporal Filter Settings + * Action to deactivate a motion graphics image overlay * @public */ - TemporalFilterSettings?: TemporalFilterSettings; -} - -/** - * @public - * @enum - */ -export const H265FlickerAq = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type H265FlickerAq = (typeof H265FlickerAq)[keyof typeof H265FlickerAq]; - -/** - * @public - * @enum - */ -export const H265GopSizeUnits = { - FRAMES: "FRAMES", - SECONDS: "SECONDS", -} as const; - -/** - * @public - */ -export type H265GopSizeUnits = (typeof H265GopSizeUnits)[keyof typeof H265GopSizeUnits]; - -/** - * @public - * @enum - */ -export const H265Level = { - H265_LEVEL_1: "H265_LEVEL_1", - H265_LEVEL_2: "H265_LEVEL_2", - H265_LEVEL_2_1: "H265_LEVEL_2_1", - H265_LEVEL_3: "H265_LEVEL_3", - H265_LEVEL_3_1: "H265_LEVEL_3_1", - H265_LEVEL_4: "H265_LEVEL_4", - H265_LEVEL_4_1: "H265_LEVEL_4_1", - H265_LEVEL_5: "H265_LEVEL_5", - H265_LEVEL_5_1: "H265_LEVEL_5_1", - H265_LEVEL_5_2: "H265_LEVEL_5_2", - H265_LEVEL_6: "H265_LEVEL_6", - H265_LEVEL_6_1: "H265_LEVEL_6_1", - H265_LEVEL_6_2: "H265_LEVEL_6_2", - H265_LEVEL_AUTO: "H265_LEVEL_AUTO", -} as const; - -/** - * @public - */ -export type H265Level = (typeof H265Level)[keyof typeof H265Level]; - -/** - * @public - * @enum - */ -export const H265LookAheadRateControl = { - HIGH: "HIGH", - LOW: "LOW", - MEDIUM: "MEDIUM", -} as const; - -/** - * @public - */ -export type H265LookAheadRateControl = (typeof H265LookAheadRateControl)[keyof typeof H265LookAheadRateControl]; - -/** - * @public - * @enum - */ -export const H265MvOverPictureBoundaries = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type H265MvOverPictureBoundaries = - (typeof H265MvOverPictureBoundaries)[keyof typeof H265MvOverPictureBoundaries]; - -/** - * @public - * @enum - */ -export const H265MvTemporalPredictor = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type H265MvTemporalPredictor = (typeof H265MvTemporalPredictor)[keyof typeof H265MvTemporalPredictor]; - -/** - * @public - * @enum - */ -export const H265Profile = { - MAIN: "MAIN", - MAIN_10BIT: "MAIN_10BIT", -} as const; - -/** - * @public - */ -export type H265Profile = (typeof H265Profile)[keyof typeof H265Profile]; + MotionGraphicsImageDeactivateSettings?: MotionGraphicsDeactivateScheduleActionSettings; -/** - * @public - * @enum - */ -export const H265RateControlMode = { - CBR: "CBR", - MULTIPLEX: "MULTIPLEX", - QVBR: "QVBR", -} as const; + /** + * Action to pause or unpause one or both channel pipelines + * @public + */ + PauseStateSettings?: PauseStateScheduleActionSettings; -/** - * @public - */ -export type H265RateControlMode = (typeof H265RateControlMode)[keyof typeof H265RateControlMode]; + /** + * Action to specify scte35 input + * @public + */ + Scte35InputSettings?: Scte35InputScheduleActionSettings; -/** - * @public - * @enum - */ -export const H265ScanType = { - INTERLACED: "INTERLACED", - PROGRESSIVE: "PROGRESSIVE", -} as const; + /** + * Action to insert SCTE-35 return_to_network message + * @public + */ + Scte35ReturnToNetworkSettings?: Scte35ReturnToNetworkScheduleActionSettings; -/** - * @public - */ -export type H265ScanType = (typeof H265ScanType)[keyof typeof H265ScanType]; + /** + * Action to insert SCTE-35 splice_insert message + * @public + */ + Scte35SpliceInsertSettings?: Scte35SpliceInsertScheduleActionSettings; -/** - * @public - * @enum - */ -export const H265SceneChangeDetect = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; + /** + * Action to insert SCTE-35 time_signal message + * @public + */ + Scte35TimeSignalSettings?: Scte35TimeSignalScheduleActionSettings; -/** - * @public - */ -export type H265SceneChangeDetect = (typeof H265SceneChangeDetect)[keyof typeof H265SceneChangeDetect]; + /** + * Action to activate a static image overlay + * @public + */ + StaticImageActivateSettings?: StaticImageActivateScheduleActionSettings; -/** - * @public - * @enum - */ -export const H265Tier = { - HIGH: "HIGH", - MAIN: "MAIN", -} as const; + /** + * Action to deactivate a static image overlay + * @public + */ + StaticImageDeactivateSettings?: StaticImageDeactivateScheduleActionSettings; -/** - * @public - */ -export type H265Tier = (typeof H265Tier)[keyof typeof H265Tier]; + /** + * Action to activate a static image overlay in one or more specified outputs + * @public + */ + StaticImageOutputActivateSettings?: StaticImageOutputActivateScheduleActionSettings; -/** - * @public - * @enum - */ -export const H265TilePadding = { - NONE: "NONE", - PADDED: "PADDED", -} as const; + /** + * Action to deactivate a static image overlay in one or more specified outputs + * @public + */ + StaticImageOutputDeactivateSettings?: StaticImageOutputDeactivateScheduleActionSettings; +} /** + * Start time for the action. * @public */ -export type H265TilePadding = (typeof H265TilePadding)[keyof typeof H265TilePadding]; +export interface FixedModeScheduleActionStartSettings { + /** + * Start time for the action to start in the channel. (Not the time for the action to be added to the schedule: actions are always added to the schedule immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits (for example, mm might be 01) except for the two constants "T" for time and "Z" for "UTC format". + * @public + */ + Time: string | undefined; +} /** * @public * @enum */ -export const H265TimecodeInsertionBehavior = { - DISABLED: "DISABLED", - PIC_TIMING_SEI: "PIC_TIMING_SEI", +export const FollowPoint = { + END: "END", + START: "START", } as const; /** * @public */ -export type H265TimecodeInsertionBehavior = - (typeof H265TimecodeInsertionBehavior)[keyof typeof H265TimecodeInsertionBehavior]; +export type FollowPoint = (typeof FollowPoint)[keyof typeof FollowPoint]; /** + * Settings to specify if an action follows another. * @public - * @enum */ -export const H265TreeblockSize = { - AUTO: "AUTO", - TREE_SIZE_32X32: "TREE_SIZE_32X32", -} as const; +export interface FollowModeScheduleActionStartSettings { + /** + * Identifies whether this action starts relative to the start or relative to the end of the reference action. + * @public + */ + FollowPoint: FollowPoint | undefined; + + /** + * The action name of another action that this one refers to. + * @public + */ + ReferenceActionName: string | undefined; +} /** + * Settings to configure an action so that it occurs as soon as possible. * @public */ -export type H265TreeblockSize = (typeof H265TreeblockSize)[keyof typeof H265TreeblockSize]; +export interface ImmediateModeScheduleActionStartSettings {} /** - * H265 Settings + * Settings to specify when an action should occur. Only one of the options must be selected. * @public */ -export interface H265Settings { +export interface ScheduleActionStartSettings { /** - * Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. + * Option for specifying the start time for an action. * @public */ - AdaptiveQuantization?: H265AdaptiveQuantization; + FixedModeScheduleActionStartSettings?: FixedModeScheduleActionStartSettings; /** - * Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter. + * Option for specifying an action as relative to another action. * @public */ - AfdSignaling?: AfdSignaling; + FollowModeScheduleActionStartSettings?: FollowModeScheduleActionStartSettings; /** - * Whether or not EML should insert an Alternative Transfer Function SEI message to support backwards compatibility with non-HDR decoders and displays. + * Option for specifying an action that should be applied immediately. * @public */ - AlternativeTransferFunction?: H265AlternativeTransferFunction; + ImmediateModeScheduleActionStartSettings?: ImmediateModeScheduleActionStartSettings; +} +/** + * Contains information on a single schedule action. + * @public + */ +export interface ScheduleAction { /** - * Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000. + * The name of the action, must be unique within the schedule. This name provides the main reference to an action once it is added to the schedule. A name is unique if it is no longer in the schedule. The schedule is automatically cleaned up to remove actions with a start time of more than 1 hour ago (approximately) so at that point a name can be reused. * @public */ - Bitrate?: number; + ActionName: string | undefined; /** - * Size of buffer (HRD buffer model) in bits. + * Settings for this schedule action. * @public */ - BufSize?: number; + ScheduleActionSettings: ScheduleActionSettings | undefined; /** - * Includes colorspace metadata in the output. + * The time for the action to start in the channel. * @public */ - ColorMetadata?: H265ColorMetadata; + ScheduleActionStartSettings: ScheduleActionStartSettings | undefined; +} - /** - * Color Space settings - * @public - */ - ColorSpaceSettings?: H265ColorSpaceSettings; +/** + * @public + * @enum + */ +export const SignalMapMonitorDeploymentStatus = { + DELETE_COMPLETE: "DELETE_COMPLETE", + DELETE_FAILED: "DELETE_FAILED", + DELETE_IN_PROGRESS: "DELETE_IN_PROGRESS", + DEPLOYMENT_COMPLETE: "DEPLOYMENT_COMPLETE", + DEPLOYMENT_FAILED: "DEPLOYMENT_FAILED", + DEPLOYMENT_IN_PROGRESS: "DEPLOYMENT_IN_PROGRESS", + DRY_RUN_DEPLOYMENT_COMPLETE: "DRY_RUN_DEPLOYMENT_COMPLETE", + DRY_RUN_DEPLOYMENT_FAILED: "DRY_RUN_DEPLOYMENT_FAILED", + DRY_RUN_DEPLOYMENT_IN_PROGRESS: "DRY_RUN_DEPLOYMENT_IN_PROGRESS", + NOT_DEPLOYED: "NOT_DEPLOYED", +} as const; - /** - * 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; +/** + * @public + */ +export type SignalMapMonitorDeploymentStatus = + (typeof SignalMapMonitorDeploymentStatus)[keyof typeof SignalMapMonitorDeploymentStatus]; - /** - * Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. - * @public - */ - FixedAfd?: FixedAfd; +/** + * @public + * @enum + */ +export const SignalMapStatus = { + CREATE_COMPLETE: "CREATE_COMPLETE", + CREATE_FAILED: "CREATE_FAILED", + CREATE_IN_PROGRESS: "CREATE_IN_PROGRESS", + NOT_READY: "NOT_READY", + READY: "READY", + UPDATE_COMPLETE: "UPDATE_COMPLETE", + UPDATE_FAILED: "UPDATE_FAILED", + UPDATE_IN_PROGRESS: "UPDATE_IN_PROGRESS", + UPDATE_REVERTED: "UPDATE_REVERTED", +} as const; +/** + * @public + */ +export type SignalMapStatus = (typeof SignalMapStatus)[keyof typeof SignalMapStatus]; + +/** + * Placeholder documentation for SignalMapSummary + * @public + */ +export interface SignalMapSummary { /** - * If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames. + * A signal map's ARN (Amazon Resource Name) * @public */ - FlickerAq?: H265FlickerAq; + Arn: string | undefined; /** - * Framerate denominator. + * Placeholder documentation for __timestampIso8601 * @public */ - FramerateDenominator: number | undefined; + CreatedAt: Date | undefined; /** - * Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. + * A resource's optional description. * @public */ - FramerateNumerator: number | undefined; + Description?: string; /** - * 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. + * A signal map's id. * @public */ - GopClosedCadence?: number; + Id: string | undefined; /** - * GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. - * If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. - * If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer. + * Placeholder documentation for __timestampIso8601 * @public */ - GopSize?: number; + ModifiedAt?: Date; /** - * Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time. + * A signal map's monitor deployment status. * @public */ - GopSizeUnits?: H265GopSizeUnits; + MonitorDeploymentStatus: SignalMapMonitorDeploymentStatus | undefined; /** - * H.265 Level. + * A resource's name. Names must be unique within the scope of a resource type in a specific region. * @public */ - Level?: H265Level; + Name: string | undefined; /** - * Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. + * A signal map's current status which is dependent on its lifecycle actions or associated jobs. * @public */ - LookAheadRateControl?: H265LookAheadRateControl; + Status: SignalMapStatus | undefined; /** - * For QVBR: See the tooltip for Quality level + * Represents the tags associated with a resource. * @public */ - MaxBitrate?: number; + Tags?: Record; +} +/** + * Complete these parameters only if the content is encrypted. + * @public + */ +export interface SrtCallerDecryptionRequest { /** - * Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. 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 + * The algorithm used to encrypt content. * @public */ - MinIInterval?: number; + Algorithm?: Algorithm; /** - * Pixel Aspect Ratio denominator. + * 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 */ - ParDenominator?: number; + 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 { /** - * Pixel Aspect Ratio numerator. + * Complete these parameters only if the content is encrypted. * @public */ - ParNumerator?: number; + Decryption?: SrtCallerDecryptionRequest; /** - * H.265 Profile. + * 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 */ - Profile?: H265Profile; + MinimumLatency?: number; /** - * Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field that suit your most important viewing devices. Recommended values are: - * - Primary screen: Quality level: 8 to 10. Max bitrate: 4M - * - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M - * - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M + * The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to. * @public */ - QvbrQualityLevel?: number; + SrtListenerAddress?: string; /** - * Rate control mode. - * - * QVBR: Quality will match the specified quality level except when it is constrained by the - * maximum bitrate. Recommended if you or your viewers pay for bandwidth. - * - * CBR: Quality varies, depending on the video complexity. Recommended only if you distribute - * your assets to devices that cannot handle variable bitrates. - * - * Multiplex: This rate control mode is only supported (and is required) when the video is being - * delivered to a MediaLive Multiplex in which case the rate control configuration is controlled - * by the properties within the Multiplex Program. + * The port at the upstream system (the listener) that MediaLive (the caller) will connect to. * @public */ - RateControlMode?: H265RateControlMode; + SrtListenerPort?: string; /** - * Sets the scan type of the output to progressive or top-field-first interlaced. + * 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 */ - ScanType?: H265ScanType; + StreamId?: string; +} + +/** + * @public + * @enum + */ +export const ThumbnailType = { + CURRENT_ACTIVE: "CURRENT_ACTIVE", + UNSPECIFIED: "UNSPECIFIED", +} as const; + +/** + * @public + */ +export type ThumbnailType = (typeof ThumbnailType)[keyof typeof ThumbnailType]; +/** + * Details of a single thumbnail + * @public + */ +export interface Thumbnail { /** - * Scene change detection. + * The binary data for the latest thumbnail. * @public */ - SceneChangeDetect?: H265SceneChangeDetect; + Body?: string; /** - * 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. - * This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. + * The content type for the latest thumbnail. * @public */ - Slices?: number; + ContentType?: string; /** - * H.265 Tier. + * Thumbnail Type * @public */ - Tier?: H265Tier; + ThumbnailType?: ThumbnailType; /** - * Determines how timecodes should be inserted into the video elementary stream. - * - 'disabled': Do not include timecodes - * - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config + * Time stamp for the latest thumbnail. * @public */ - TimecodeInsertion?: H265TimecodeInsertionBehavior; + TimeStamp?: Date; +} +/** + * Thumbnail details for one pipeline of a running channel. + * @public + */ +export interface ThumbnailDetail { /** - * Timecode burn-in settings + * Pipeline ID * @public */ - TimecodeBurninSettings?: TimecodeBurninSettings; + PipelineId?: string; /** - * If you are setting up the picture as a tile, you must set this to "disabled". In all other configurations, you typically enter "enabled". + * thumbnails of a single pipeline * @public */ - MvOverPictureBoundaries?: H265MvOverPictureBoundaries; + Thumbnails?: Thumbnail[]; +} + +/** + * @public + * @enum + */ +export const InputDeviceTransferType = { + INCOMING: "INCOMING", + OUTGOING: "OUTGOING", +} as const; + +/** + * @public + */ +export type InputDeviceTransferType = (typeof InputDeviceTransferType)[keyof typeof InputDeviceTransferType]; +/** + * Details about the input device that is being transferred. + * @public + */ +export interface TransferringInputDeviceSummary { /** - * If you are setting up the picture as a tile, you must set this to "disabled". In other configurations, you typically enter "enabled". + * The unique ID of the input device. * @public */ - MvTemporalPredictor?: H265MvTemporalPredictor; + Id?: string; /** - * Set this field to set up the picture as a tile. You must also set tileWidth. - * The tile height must result in 22 or fewer rows in the frame. The tile width - * must result in 20 or fewer columns in the frame. And finally, the product of the - * column count and row count must be 64 of less. - * If the tile width and height are specified, MediaLive will override the video - * codec slices field with a value that MediaLive calculates + * The optional message that the sender has attached to the transfer. * @public */ - TileHeight?: number; + Message?: string; /** - * Set to "padded" to force MediaLive to add padding to the frame, to obtain a frame that is a whole multiple of the tile size. - * If you are setting up the picture as a tile, you must enter "padded". - * In all other configurations, you typically enter "none". + * The AWS account ID for the recipient of the input device transfer. * @public */ - TilePadding?: H265TilePadding; + TargetCustomerId?: string; /** - * Set this field to set up the picture as a tile. See tileHeight for more information. + * The type (direction) of the input device transfer. * @public */ - TileWidth?: number; + TransferType?: InputDeviceTransferType; +} +/** + * Placeholder documentation for ValidationError + * @public + */ +export interface ValidationError { /** - * Select the tree block size used for encoding. If you enter "auto", the encoder will pick the best size. If you are setting up the picture as a tile, you must set this to 32x32. In all other configurations, you typically enter "auto". + * Path to the source of the error. * @public */ - TreeblockSize?: H265TreeblockSize; + ElementPath?: string; /** - * Sets the minimum QP. If you aren't familiar with quantization adjustment, leave the field empty. MediaLive will - * apply an appropriate value. + * The error message. * @public */ - MinQp?: number; + ErrorMessage?: string; } /** * @public * @enum */ -export const Mpeg2AdaptiveQuantization = { +export const AfdSignaling = { AUTO: "AUTO", - HIGH: "HIGH", - LOW: "LOW", - MEDIUM: "MEDIUM", - OFF: "OFF", + FIXED: "FIXED", + NONE: "NONE", } as const; /** * @public */ -export type Mpeg2AdaptiveQuantization = (typeof Mpeg2AdaptiveQuantization)[keyof typeof Mpeg2AdaptiveQuantization]; +export type AfdSignaling = (typeof AfdSignaling)[keyof typeof AfdSignaling]; /** + * Passthrough applies no color space conversion to the output * @public - * @enum */ -export const Mpeg2ColorMetadata = { - IGNORE: "IGNORE", - INSERT: "INSERT", -} as const; +export interface ColorSpacePassthroughSettings {} /** + * Rec601 Settings * @public */ -export type Mpeg2ColorMetadata = (typeof Mpeg2ColorMetadata)[keyof typeof Mpeg2ColorMetadata]; +export interface Rec601Settings {} + +/** + * Rec709 Settings + * @public + */ +export interface Rec709Settings {} + +/** + * Av1 Color Space Settings + * @public + */ +export interface Av1ColorSpaceSettings { + /** + * Passthrough applies no color space conversion to the output + * @public + */ + ColorSpacePassthroughSettings?: ColorSpacePassthroughSettings; + + /** + * Hdr10 Settings + * @public + */ + Hdr10Settings?: Hdr10Settings; + + /** + * Rec601 Settings + * @public + */ + Rec601Settings?: Rec601Settings; + + /** + * Rec709 Settings + * @public + */ + Rec709Settings?: Rec709Settings; +} /** * @public * @enum */ -export const Mpeg2ColorSpace = { - AUTO: "AUTO", - PASSTHROUGH: "PASSTHROUGH", +export const FixedAfd = { + AFD_0000: "AFD_0000", + AFD_0010: "AFD_0010", + AFD_0011: "AFD_0011", + AFD_0100: "AFD_0100", + AFD_1000: "AFD_1000", + AFD_1001: "AFD_1001", + AFD_1010: "AFD_1010", + AFD_1011: "AFD_1011", + AFD_1101: "AFD_1101", + AFD_1110: "AFD_1110", + AFD_1111: "AFD_1111", } as const; /** * @public */ -export type Mpeg2ColorSpace = (typeof Mpeg2ColorSpace)[keyof typeof Mpeg2ColorSpace]; +export type FixedAfd = (typeof FixedAfd)[keyof typeof FixedAfd]; /** * @public * @enum */ -export const Mpeg2DisplayRatio = { - DISPLAYRATIO16X9: "DISPLAYRATIO16X9", - DISPLAYRATIO4X3: "DISPLAYRATIO4X3", +export const Av1GopSizeUnits = { + FRAMES: "FRAMES", + SECONDS: "SECONDS", } as const; /** * @public */ -export type Mpeg2DisplayRatio = (typeof Mpeg2DisplayRatio)[keyof typeof Mpeg2DisplayRatio]; +export type Av1GopSizeUnits = (typeof Av1GopSizeUnits)[keyof typeof Av1GopSizeUnits]; + +/** + * @public + * @enum + */ +export const Av1Level = { + AV1_LEVEL_2: "AV1_LEVEL_2", + AV1_LEVEL_2_1: "AV1_LEVEL_2_1", + AV1_LEVEL_3: "AV1_LEVEL_3", + AV1_LEVEL_3_1: "AV1_LEVEL_3_1", + AV1_LEVEL_4: "AV1_LEVEL_4", + AV1_LEVEL_4_1: "AV1_LEVEL_4_1", + AV1_LEVEL_5: "AV1_LEVEL_5", + AV1_LEVEL_5_1: "AV1_LEVEL_5_1", + AV1_LEVEL_5_2: "AV1_LEVEL_5_2", + AV1_LEVEL_5_3: "AV1_LEVEL_5_3", + AV1_LEVEL_6: "AV1_LEVEL_6", + AV1_LEVEL_6_1: "AV1_LEVEL_6_1", + AV1_LEVEL_6_2: "AV1_LEVEL_6_2", + AV1_LEVEL_6_3: "AV1_LEVEL_6_3", + AV1_LEVEL_AUTO: "AV1_LEVEL_AUTO", +} as const; /** - * Mpeg2 Filter Settings * @public */ -export interface Mpeg2FilterSettings { - /** - * Temporal Filter Settings - * @public - */ - TemporalFilterSettings?: TemporalFilterSettings; -} +export type Av1Level = (typeof Av1Level)[keyof typeof Av1Level]; /** * @public * @enum */ -export const Mpeg2GopSizeUnits = { - FRAMES: "FRAMES", - SECONDS: "SECONDS", +export const Av1LookAheadRateControl = { + HIGH: "HIGH", + LOW: "LOW", + MEDIUM: "MEDIUM", } as const; /** * @public */ -export type Mpeg2GopSizeUnits = (typeof Mpeg2GopSizeUnits)[keyof typeof Mpeg2GopSizeUnits]; +export type Av1LookAheadRateControl = (typeof Av1LookAheadRateControl)[keyof typeof Av1LookAheadRateControl]; /** * @public * @enum */ -export const Mpeg2ScanType = { - INTERLACED: "INTERLACED", - PROGRESSIVE: "PROGRESSIVE", +export const Av1SceneChangeDetect = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", } as const; /** * @public */ -export type Mpeg2ScanType = (typeof Mpeg2ScanType)[keyof typeof Mpeg2ScanType]; +export type Av1SceneChangeDetect = (typeof Av1SceneChangeDetect)[keyof typeof Av1SceneChangeDetect]; /** * @public * @enum */ -export const Mpeg2SubGopLength = { - DYNAMIC: "DYNAMIC", - FIXED: "FIXED", +export const TimecodeBurninFontSize = { + EXTRA_SMALL_10: "EXTRA_SMALL_10", + LARGE_48: "LARGE_48", + MEDIUM_32: "MEDIUM_32", + SMALL_16: "SMALL_16", } as const; /** * @public */ -export type Mpeg2SubGopLength = (typeof Mpeg2SubGopLength)[keyof typeof Mpeg2SubGopLength]; +export type TimecodeBurninFontSize = (typeof TimecodeBurninFontSize)[keyof typeof TimecodeBurninFontSize]; /** * @public * @enum */ -export const Mpeg2TimecodeInsertionBehavior = { - DISABLED: "DISABLED", - GOP_TIMECODE: "GOP_TIMECODE", +export const TimecodeBurninPosition = { + BOTTOM_CENTER: "BOTTOM_CENTER", + BOTTOM_LEFT: "BOTTOM_LEFT", + BOTTOM_RIGHT: "BOTTOM_RIGHT", + MIDDLE_CENTER: "MIDDLE_CENTER", + MIDDLE_LEFT: "MIDDLE_LEFT", + MIDDLE_RIGHT: "MIDDLE_RIGHT", + TOP_CENTER: "TOP_CENTER", + TOP_LEFT: "TOP_LEFT", + TOP_RIGHT: "TOP_RIGHT", } as const; /** * @public */ -export type Mpeg2TimecodeInsertionBehavior = - (typeof Mpeg2TimecodeInsertionBehavior)[keyof typeof Mpeg2TimecodeInsertionBehavior]; +export type TimecodeBurninPosition = (typeof TimecodeBurninPosition)[keyof typeof TimecodeBurninPosition]; /** - * Mpeg2 Settings + * Timecode Burnin Settings * @public */ -export interface Mpeg2Settings { +export interface TimecodeBurninSettings { /** - * Choose Off to disable adaptive quantization. Or choose another value to enable the quantizer and set its strength. The strengths are: Auto, Off, Low, Medium, High. When you enable this field, MediaLive allows intra-frame quantizers to vary, which might improve visual quality. + * Choose a timecode burn-in font size * @public */ - AdaptiveQuantization?: Mpeg2AdaptiveQuantization; + FontSize: TimecodeBurninFontSize | undefined; /** - * Indicates the AFD values that MediaLive will write into the video encode. If you do not know what AFD signaling is, or if your downstream system has not given you guidance, choose AUTO. - * AUTO: MediaLive will try to preserve the input AFD value (in cases where multiple AFD values are valid). - * FIXED: MediaLive will use the value you specify in fixedAFD. + * Choose a timecode burn-in output position * @public */ - AfdSignaling?: AfdSignaling; + Position: TimecodeBurninPosition | undefined; /** - * Specifies whether to include the color space metadata. The metadata describes the color space that applies to the video (the colorSpace field). We recommend that you insert the metadata. + * Create a timecode burn-in prefix (optional) * @public */ - ColorMetadata?: Mpeg2ColorMetadata; + Prefix?: string; +} +/** + * Av1 Settings + * @public + */ +export interface Av1Settings { /** - * Choose the type of color space conversion to apply to the output. For detailed information on setting up both the input and the output to obtain the desired color space in the output, see the section on \"MediaLive Features - Video - color space\" in the MediaLive User Guide. - * PASSTHROUGH: Keep the color space of the input content - do not convert it. - * AUTO:Convert all content that is SD to rec 601, and convert all content that is HD to rec 709. + * Configures whether MediaLive will write AFD values into the video. + * AUTO: MediaLive will try to preserve the input AFD value (in cases where multiple AFD values are valid). + * FIXED: the AFD value will be the value configured in the fixedAfd parameter. + * NONE: MediaLive won't write AFD into the video * @public */ - ColorSpace?: Mpeg2ColorSpace; + AfdSignaling?: AfdSignaling; /** - * Sets the pixel aspect ratio for the encode. + * The size of the buffer (HRD buffer model) in bits. * @public */ - DisplayAspectRatio?: Mpeg2DisplayRatio; + BufSize?: number; /** - * Optionally specify a noise reduction filter, which can improve quality of compressed content. If you do not choose a filter, no filter will be applied. - * TEMPORAL: This filter is useful for both source content that is noisy (when it has excessive digital artifacts) and source content that is clean. - * When the content is noisy, the filter cleans up the source content before the encoding phase, with these two effects: First, it improves the output video quality because the content has been cleaned up. Secondly, it decreases the bandwidth because MediaLive does not waste bits on encoding noise. - * When the content is reasonably clean, the filter tends to decrease the bitrate. + * Color Space settings * @public */ - FilterSettings?: Mpeg2FilterSettings; + ColorSpaceSettings?: Av1ColorSpaceSettings; /** - * Complete this field only when afdSignaling is set to FIXED. Enter the AFD value (4 bits) to write on all frames of the video encode. + * Complete this property only if you set the afdSignaling property to FIXED. Choose the AFD value (4 bits) to write on all frames of the video encode. * @public */ FixedAfd?: FixedAfd; /** - * description": "The framerate denominator. For example, 1001. The framerate is the numerator divided by the denominator. For example, 24000 / 1001 = 23.976 FPS. + * The denominator for the framerate. Framerate is a fraction, for example, 24000 / 1001. * @public */ FramerateDenominator: number | undefined; /** - * The framerate numerator. For example, 24000. The framerate is the numerator divided by the denominator. For example, 24000 / 1001 = 23.976 FPS. + * The numerator for the framerate. Framerate is a fraction, for example, 24000 / 1001. * @public */ FramerateNumerator: number | undefined; /** - * MPEG2: default is open GOP. + * The GOP size (keyframe interval). + * If GopSizeUnits is frames, GopSize must be a whole number and must be greater than or equal to 1. + * If GopSizeUnits is seconds, GopSize must be greater than 0, but it can be a decimal. * @public */ - GopClosedCadence?: number; + GopSize?: number; /** - * Relates to the GOP structure. The number of B-frames between reference frames. If you do not know what a B-frame is, use the default. + * Choose the units for the GOP size: FRAMES or SECONDS. For SECONDS, MediaLive converts the size into a frame count at run time. * @public */ - GopNumBFrames?: number; + GopSizeUnits?: Av1GopSizeUnits; /** - * Relates to the GOP structure. The GOP size (keyframe interval) in the units specified in gopSizeUnits. If you do not know what GOP is, use the default. - * If gopSizeUnits is frames, then the gopSize must be an integer and must be greater than or equal to 1. - * If gopSizeUnits is seconds, the gopSize must be greater than 0, but does not need to be an integer. + * Sets the level. This parameter is one of the properties of the encoding scheme for AV1. * @public */ - GopSize?: number; + Level?: Av1Level; /** - * Relates to the GOP structure. Specifies whether the gopSize is specified in frames or seconds. If you do not plan to change the default gopSize, leave the default. If you specify SECONDS, MediaLive will internally convert the gop size to a frame count. + * Sets the amount of lookahead. A value of LOW can decrease latency and memory usage. A value of HIGH can produce better quality for certain content. * @public */ - GopSizeUnits?: Mpeg2GopSizeUnits; + LookAheadRateControl?: Av1LookAheadRateControl; /** - * Set the scan type of the output to PROGRESSIVE or INTERLACED (top field first). + * The maximum bitrate to assign. + * For recommendations, see the description for qvbrQualityLevel. * @public */ - ScanType?: Mpeg2ScanType; + MaxBitrate?: number; /** - * Relates to the GOP structure. If you do not know what GOP is, use the default. - * FIXED: Set the number of B-frames in each sub-GOP to the value in gopNumBFrames. - * DYNAMIC: Let MediaLive optimize the number of B-frames in each sub-GOP, to improve visual quality. + * Applies only if you enable SceneChangeDetect. Sets the interval between frames. This property ensures a minimum separation between repeated (cadence) I-frames and any I-frames inserted by scene change detection (SCD frames). + * Enter a number for the interval, measured in number of frames. + * If an SCD frame and a cadence frame are closer than the specified number of frames, MediaLive shrinks or stretches the GOP to include the SCD frame. Then normal cadence resumes in the next GOP. For GOP stretch to succeed, you must enable LookAheadRateControl. + * Note that the maximum GOP stretch = (GOP size) + (Minimum I-interval) - 1 * @public */ - SubgopLength?: Mpeg2SubGopLength; + MinIInterval?: number; /** - * Determines how MediaLive inserts timecodes in the output video. For detailed information about setting up the input and the output for a timecode, see the section on \"MediaLive Features - Timecode configuration\" in the MediaLive User Guide. - * DISABLED: do not include timecodes. - * GOP_TIMECODE: Include timecode metadata in the GOP header. + * The denominator for the output pixel aspect ratio (PAR). * @public */ - TimecodeInsertion?: Mpeg2TimecodeInsertionBehavior; + ParDenominator?: number; + + /** + * The numerator for the output pixel aspect ratio (PAR). + * @public + */ + ParNumerator?: number; + + /** + * Controls the target quality for the video encode. With QVBR rate control mode, the final quality is the target quality, constrained by the maxBitrate. + * Set values for the qvbrQualityLevel property and maxBitrate property that suit your most important viewing devices. + * To let MediaLive set the quality level (AUTO mode), leave the qvbrQualityLevel field empty. In this case, MediaLive uses the maximum bitrate, and the quality follows from that: more complex content might have a lower quality. + * Or set a target quality level and a maximum bitrate. With more complex content, MediaLive will try to achieve the target quality, but it won't exceed the maximum bitrate. With less complex content, This option will use only the bitrate needed to reach the target quality. + * Recommended values are: + * Primary screen: qvbrQualityLevel: Leave empty. maxBitrate: 4,000,000 + * PC or tablet: qvbrQualityLevel: Leave empty. maxBitrate: 1,500,000 to 3,000,000 + * Smartphone: qvbrQualityLevel: Leave empty. maxBitrate: 1,000,000 to 1,500,000 + * @public + */ + QvbrQualityLevel?: number; + + /** + * Controls whether MediaLive inserts I-frames when it detects a scene change. ENABLED or DISABLED. + * @public + */ + SceneChangeDetect?: Av1SceneChangeDetect; + + /** + * Configures the timecode burn-in feature. If you enable this feature, the timecode will become part of the video. + * @public + */ + TimecodeBurninSettings?: TimecodeBurninSettings; +} + +/** + * @public + * @enum + */ +export const FrameCaptureIntervalUnit = { + MILLISECONDS: "MILLISECONDS", + SECONDS: "SECONDS", +} as const; + +/** + * @public + */ +export type FrameCaptureIntervalUnit = (typeof FrameCaptureIntervalUnit)[keyof typeof FrameCaptureIntervalUnit]; + +/** + * Frame Capture Settings + * @public + */ +export interface FrameCaptureSettings { + /** + * The frequency at which to capture frames for inclusion in the output. May be specified in either seconds or milliseconds, as specified by captureIntervalUnits. + * @public + */ + CaptureInterval?: number; + + /** + * Unit for the frame capture interval. + * @public + */ + CaptureIntervalUnits?: FrameCaptureIntervalUnit; /** * Timecode burn-in settings @@ -4760,406 +4241,348 @@ export interface Mpeg2Settings { } /** - * Video Codec Settings + * @public + * @enum + */ +export const H264AdaptiveQuantization = { + AUTO: "AUTO", + HIGH: "HIGH", + HIGHER: "HIGHER", + LOW: "LOW", + MAX: "MAX", + MEDIUM: "MEDIUM", + OFF: "OFF", +} as const; + +/** + * @public + */ +export type H264AdaptiveQuantization = (typeof H264AdaptiveQuantization)[keyof typeof H264AdaptiveQuantization]; + +/** + * @public + * @enum + */ +export const H264ColorMetadata = { + IGNORE: "IGNORE", + INSERT: "INSERT", +} as const; + +/** + * @public + */ +export type H264ColorMetadata = (typeof H264ColorMetadata)[keyof typeof H264ColorMetadata]; + +/** + * H264 Color Space Settings + * @public + */ +export interface H264ColorSpaceSettings { + /** + * Passthrough applies no color space conversion to the output + * @public + */ + ColorSpacePassthroughSettings?: ColorSpacePassthroughSettings; + + /** + * Rec601 Settings + * @public + */ + Rec601Settings?: Rec601Settings; + + /** + * Rec709 Settings + * @public + */ + Rec709Settings?: Rec709Settings; +} + +/** + * @public + * @enum + */ +export const H264EntropyEncoding = { + CABAC: "CABAC", + CAVLC: "CAVLC", +} as const; + +/** + * @public + */ +export type H264EntropyEncoding = (typeof H264EntropyEncoding)[keyof typeof H264EntropyEncoding]; + +/** + * @public + * @enum + */ +export const TemporalFilterPostFilterSharpening = { + AUTO: "AUTO", + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** + * @public + */ +export type TemporalFilterPostFilterSharpening = + (typeof TemporalFilterPostFilterSharpening)[keyof typeof TemporalFilterPostFilterSharpening]; + +/** + * @public + * @enum + */ +export const TemporalFilterStrength = { + AUTO: "AUTO", + STRENGTH_1: "STRENGTH_1", + STRENGTH_10: "STRENGTH_10", + STRENGTH_11: "STRENGTH_11", + STRENGTH_12: "STRENGTH_12", + STRENGTH_13: "STRENGTH_13", + STRENGTH_14: "STRENGTH_14", + STRENGTH_15: "STRENGTH_15", + STRENGTH_16: "STRENGTH_16", + STRENGTH_2: "STRENGTH_2", + STRENGTH_3: "STRENGTH_3", + STRENGTH_4: "STRENGTH_4", + STRENGTH_5: "STRENGTH_5", + STRENGTH_6: "STRENGTH_6", + STRENGTH_7: "STRENGTH_7", + STRENGTH_8: "STRENGTH_8", + STRENGTH_9: "STRENGTH_9", +} as const; + +/** * @public */ -export interface VideoCodecSettings { - /** - * Frame Capture Settings - * @public - */ - FrameCaptureSettings?: FrameCaptureSettings; +export type TemporalFilterStrength = (typeof TemporalFilterStrength)[keyof typeof TemporalFilterStrength]; +/** + * Temporal Filter Settings + * @public + */ +export interface TemporalFilterSettings { /** - * H264 Settings + * If you enable this filter, the results are the following: + * - If the source content is noisy (it contains excessive digital artifacts), the filter cleans up the source. + * - If the source content is already clean, the filter tends to decrease the bitrate, especially when the rate control mode is QVBR. * @public */ - H264Settings?: H264Settings; + PostFilterSharpening?: TemporalFilterPostFilterSharpening; /** - * H265 Settings + * Choose a filter strength. We recommend a strength of 1 or 2. A higher strength might take out good information, resulting in an image that is overly soft. * @public */ - H265Settings?: H265Settings; + Strength?: TemporalFilterStrength; +} +/** + * H264 Filter Settings + * @public + */ +export interface H264FilterSettings { /** - * Mpeg2 Settings + * Temporal Filter Settings * @public */ - Mpeg2Settings?: Mpeg2Settings; + TemporalFilterSettings?: TemporalFilterSettings; } /** * @public * @enum */ -export const VideoDescriptionRespondToAfd = { - NONE: "NONE", - PASSTHROUGH: "PASSTHROUGH", - RESPOND: "RESPOND", +export const H264FlickerAq = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", } as const; /** * @public */ -export type VideoDescriptionRespondToAfd = - (typeof VideoDescriptionRespondToAfd)[keyof typeof VideoDescriptionRespondToAfd]; +export type H264FlickerAq = (typeof H264FlickerAq)[keyof typeof H264FlickerAq]; /** * @public * @enum */ -export const VideoDescriptionScalingBehavior = { - DEFAULT: "DEFAULT", - STRETCH_TO_OUTPUT: "STRETCH_TO_OUTPUT", +export const H264ForceFieldPictures = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", } as const; /** * @public */ -export type VideoDescriptionScalingBehavior = - (typeof VideoDescriptionScalingBehavior)[keyof typeof VideoDescriptionScalingBehavior]; +export type H264ForceFieldPictures = (typeof H264ForceFieldPictures)[keyof typeof H264ForceFieldPictures]; /** - * Video settings for this stream. * @public + * @enum */ -export interface VideoDescription { - /** - * Video codec settings. - * @public - */ - CodecSettings?: VideoCodecSettings; - - /** - * Output video height, in pixels. Must be an even number. For most codecs, you can leave this field and width blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required. - * @public - */ - Height?: number; +export const H264FramerateControl = { + INITIALIZE_FROM_SOURCE: "INITIALIZE_FROM_SOURCE", + SPECIFIED: "SPECIFIED", +} as const; - /** - * The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event. - * @public - */ - Name: string | undefined; +/** + * @public + */ +export type H264FramerateControl = (typeof H264FramerateControl)[keyof typeof H264FramerateControl]; - /** - * Indicates how MediaLive will respond to the AFD values that might be in the input video. If you do not know what AFD signaling is, or if your downstream system has not given you guidance, choose PASSTHROUGH. - * RESPOND: MediaLive clips the input video using a formula that uses the AFD values (configured in afdSignaling ), the input display aspect ratio, and the output display aspect ratio. MediaLive also includes the AFD values in the output, unless the codec for this encode is FRAME_CAPTURE. - * PASSTHROUGH: MediaLive ignores the AFD values and does not clip the video. But MediaLive does include the values in the output. - * NONE: MediaLive does not clip the input video and does not include the AFD values in the output - * @public - */ - RespondToAfd?: VideoDescriptionRespondToAfd; +/** + * @public + * @enum + */ +export const H264GopBReference = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; - /** - * STRETCH_TO_OUTPUT configures the output position to stretch the video to the specified output resolution (height and width). This option will override any position value. DEFAULT may insert black boxes (pillar boxes or letter boxes) around the video to provide the specified output resolution. - * @public - */ - ScalingBehavior?: VideoDescriptionScalingBehavior; +/** + * @public + */ +export type H264GopBReference = (typeof H264GopBReference)[keyof typeof H264GopBReference]; - /** - * Changes the strength of the anti-alias filter used for scaling. 0 is the softest setting, 100 is the sharpest. A setting of 50 is recommended for most content. - * @public - */ - Sharpness?: number; +/** + * @public + * @enum + */ +export const H264GopSizeUnits = { + FRAMES: "FRAMES", + SECONDS: "SECONDS", +} as const; - /** - * Output video width, in pixels. Must be an even number. For most codecs, you can leave this field and height blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required. - * @public - */ - Width?: number; -} +/** + * @public + */ +export type H264GopSizeUnits = (typeof H264GopSizeUnits)[keyof typeof H264GopSizeUnits]; /** * @public * @enum */ -export const AcceptHeader = { - image_jpeg: "image/jpeg", +export const H264Level = { + H264_LEVEL_1: "H264_LEVEL_1", + H264_LEVEL_1_1: "H264_LEVEL_1_1", + H264_LEVEL_1_2: "H264_LEVEL_1_2", + H264_LEVEL_1_3: "H264_LEVEL_1_3", + H264_LEVEL_2: "H264_LEVEL_2", + H264_LEVEL_2_1: "H264_LEVEL_2_1", + H264_LEVEL_2_2: "H264_LEVEL_2_2", + H264_LEVEL_3: "H264_LEVEL_3", + H264_LEVEL_3_1: "H264_LEVEL_3_1", + H264_LEVEL_3_2: "H264_LEVEL_3_2", + H264_LEVEL_4: "H264_LEVEL_4", + H264_LEVEL_4_1: "H264_LEVEL_4_1", + H264_LEVEL_4_2: "H264_LEVEL_4_2", + H264_LEVEL_5: "H264_LEVEL_5", + H264_LEVEL_5_1: "H264_LEVEL_5_1", + H264_LEVEL_5_2: "H264_LEVEL_5_2", + H264_LEVEL_AUTO: "H264_LEVEL_AUTO", } as const; /** * @public */ -export type AcceptHeader = (typeof AcceptHeader)[keyof typeof AcceptHeader]; +export type H264Level = (typeof H264Level)[keyof typeof H264Level]; /** - * Placeholder documentation for AcceptInputDeviceTransferRequest * @public + * @enum */ -export interface AcceptInputDeviceTransferRequest { - /** - * The unique ID of the input device to accept. For example, hd-123456789abcdef. - * @public - */ - InputDeviceId: string | undefined; -} +export const H264LookAheadRateControl = { + HIGH: "HIGH", + LOW: "LOW", + MEDIUM: "MEDIUM", +} as const; /** - * Placeholder documentation for AcceptInputDeviceTransferResponse * @public */ -export interface AcceptInputDeviceTransferResponse {} +export type H264LookAheadRateControl = (typeof H264LookAheadRateControl)[keyof typeof H264LookAheadRateControl]; /** - * Placeholder documentation for BadGatewayException * @public + * @enum */ -export class BadGatewayException extends __BaseException { - readonly name: "BadGatewayException" = "BadGatewayException"; - readonly $fault: "server" = "server"; - /** - * Placeholder documentation for __string - * @public - */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "BadGatewayException", - $fault: "server", - ...opts, - }); - Object.setPrototypeOf(this, BadGatewayException.prototype); - this.Message = opts.Message; - } -} +export const H264ParControl = { + INITIALIZE_FROM_SOURCE: "INITIALIZE_FROM_SOURCE", + SPECIFIED: "SPECIFIED", +} as const; /** - * Placeholder documentation for BadRequestException * @public */ -export class BadRequestException extends __BaseException { - readonly name: "BadRequestException" = "BadRequestException"; - readonly $fault: "client" = "client"; - /** - * Placeholder documentation for __string - * @public - */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "BadRequestException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, BadRequestException.prototype); - this.Message = opts.Message; - } -} +export type H264ParControl = (typeof H264ParControl)[keyof typeof H264ParControl]; /** - * Placeholder documentation for ConflictException * @public + * @enum */ -export class ConflictException extends __BaseException { - readonly name: "ConflictException" = "ConflictException"; - readonly $fault: "client" = "client"; - /** - * Placeholder documentation for __string - * @public - */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ConflictException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ConflictException.prototype); - this.Message = opts.Message; - } -} +export const H264Profile = { + BASELINE: "BASELINE", + HIGH: "HIGH", + HIGH_10BIT: "HIGH_10BIT", + HIGH_422: "HIGH_422", + HIGH_422_10BIT: "HIGH_422_10BIT", + MAIN: "MAIN", +} as const; /** - * Placeholder documentation for ForbiddenException * @public */ -export class ForbiddenException extends __BaseException { - readonly name: "ForbiddenException" = "ForbiddenException"; - readonly $fault: "client" = "client"; - /** - * Placeholder documentation for __string - * @public - */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ForbiddenException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ForbiddenException.prototype); - this.Message = opts.Message; - } -} +export type H264Profile = (typeof H264Profile)[keyof typeof H264Profile]; /** - * Placeholder documentation for GatewayTimeoutException * @public + * @enum */ -export class GatewayTimeoutException extends __BaseException { - readonly name: "GatewayTimeoutException" = "GatewayTimeoutException"; - readonly $fault: "server" = "server"; - /** - * Placeholder documentation for __string - * @public - */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "GatewayTimeoutException", - $fault: "server", - ...opts, - }); - Object.setPrototypeOf(this, GatewayTimeoutException.prototype); - this.Message = opts.Message; - } -} +export const H264QualityLevel = { + ENHANCED_QUALITY: "ENHANCED_QUALITY", + STANDARD_QUALITY: "STANDARD_QUALITY", +} as const; /** - * Placeholder documentation for InternalServerErrorException * @public */ -export class InternalServerErrorException extends __BaseException { - readonly name: "InternalServerErrorException" = "InternalServerErrorException"; - readonly $fault: "server" = "server"; - /** - * Placeholder documentation for __string - * @public - */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "InternalServerErrorException", - $fault: "server", - ...opts, - }); - Object.setPrototypeOf(this, InternalServerErrorException.prototype); - this.Message = opts.Message; - } -} +export type H264QualityLevel = (typeof H264QualityLevel)[keyof typeof H264QualityLevel]; /** - * Placeholder documentation for NotFoundException * @public + * @enum */ -export class NotFoundException extends __BaseException { - readonly name: "NotFoundException" = "NotFoundException"; - readonly $fault: "client" = "client"; - /** - * Placeholder documentation for __string - * @public - */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "NotFoundException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, NotFoundException.prototype); - this.Message = opts.Message; - } -} +export const H264RateControlMode = { + CBR: "CBR", + MULTIPLEX: "MULTIPLEX", + QVBR: "QVBR", + VBR: "VBR", +} as const; /** - * Placeholder documentation for TooManyRequestsException * @public */ -export class TooManyRequestsException extends __BaseException { - readonly name: "TooManyRequestsException" = "TooManyRequestsException"; - readonly $fault: "client" = "client"; - /** - * Placeholder documentation for __string - * @public - */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "TooManyRequestsException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, TooManyRequestsException.prototype); - this.Message = opts.Message; - } -} +export type H264RateControlMode = (typeof H264RateControlMode)[keyof typeof H264RateControlMode]; /** - * Placeholder documentation for UnprocessableEntityException * @public + * @enum */ -export class UnprocessableEntityException extends __BaseException { - readonly name: "UnprocessableEntityException" = "UnprocessableEntityException"; - readonly $fault: "client" = "client"; - /** - * The error message. - * @public - */ - Message?: string; - - /** - * A collection of validation error responses. - * @public - */ - ValidationErrors?: ValidationError[]; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "UnprocessableEntityException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, UnprocessableEntityException.prototype); - this.Message = opts.Message; - this.ValidationErrors = opts.ValidationErrors; - } -} +export const H264ScanType = { + INTERLACED: "INTERLACED", + PROGRESSIVE: "PROGRESSIVE", +} as const; /** - * Placeholder documentation for AccountConfiguration * @public */ -export interface AccountConfiguration { - /** - * Specifies the KMS key to use for all features that use key encryption. Specify the ARN of a KMS key that you have created. Or leave blank to use the key that MediaLive creates and manages for you. - * @public - */ - KmsKeyId?: string; -} +export type H264ScanType = (typeof H264ScanType)[keyof typeof H264ScanType]; /** * @public * @enum */ -export const AvailBlankingState = { +export const H264SceneChangeDetect = { DISABLED: "DISABLED", ENABLED: "ENABLED", } as const; @@ -5167,732 +4590,558 @@ export const AvailBlankingState = { /** * @public */ -export type AvailBlankingState = (typeof AvailBlankingState)[keyof typeof AvailBlankingState]; +export type H264SceneChangeDetect = (typeof H264SceneChangeDetect)[keyof typeof H264SceneChangeDetect]; /** - * Avail Blanking * @public + * @enum */ -export interface AvailBlanking { - /** - * Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported. - * @public - */ - AvailBlankingImage?: InputLocation; - - /** - * When set to enabled, causes video, audio and captions to be blanked when insertion metadata is added. - * @public - */ - State?: AvailBlankingState; -} +export const H264SpatialAq = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; /** - * Esam * @public */ -export interface Esam { - /** - * Sent as acquisitionPointIdentity to identify the MediaLive channel to the POIS. - * @public - */ - AcquisitionPointId: string | undefined; - - /** - * 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. - * @public - */ - AdAvailOffset?: number; +export type H264SpatialAq = (typeof H264SpatialAq)[keyof typeof H264SpatialAq]; - /** - * Documentation update needed - * @public - */ - PasswordParam?: string; +/** + * @public + * @enum + */ +export const H264SubGopLength = { + DYNAMIC: "DYNAMIC", + FIXED: "FIXED", +} as const; - /** - * The URL of the signal conditioner endpoint on the Placement Opportunity Information System (POIS). MediaLive sends SignalProcessingEvents here when SCTE-35 messages are read. - * @public - */ - PoisEndpoint: string | undefined; +/** + * @public + */ +export type H264SubGopLength = (typeof H264SubGopLength)[keyof typeof H264SubGopLength]; - /** - * Documentation update needed - * @public - */ - Username?: string; +/** + * @public + * @enum + */ +export const H264Syntax = { + DEFAULT: "DEFAULT", + RP2027: "RP2027", +} as const; - /** - * Optional data sent as zoneIdentity to identify the MediaLive channel to the POIS. - * @public - */ - ZoneIdentity?: string; -} +/** + * @public + */ +export type H264Syntax = (typeof H264Syntax)[keyof typeof H264Syntax]; /** * @public * @enum */ -export const Scte35SpliceInsertNoRegionalBlackoutBehavior = { - FOLLOW: "FOLLOW", - IGNORE: "IGNORE", +export const H264TemporalAq = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", } as const; /** * @public */ -export type Scte35SpliceInsertNoRegionalBlackoutBehavior = - (typeof Scte35SpliceInsertNoRegionalBlackoutBehavior)[keyof typeof Scte35SpliceInsertNoRegionalBlackoutBehavior]; +export type H264TemporalAq = (typeof H264TemporalAq)[keyof typeof H264TemporalAq]; /** * @public * @enum */ -export const Scte35SpliceInsertWebDeliveryAllowedBehavior = { - FOLLOW: "FOLLOW", - IGNORE: "IGNORE", +export const H264TimecodeInsertionBehavior = { + DISABLED: "DISABLED", + PIC_TIMING_SEI: "PIC_TIMING_SEI", } as const; /** * @public */ -export type Scte35SpliceInsertWebDeliveryAllowedBehavior = - (typeof Scte35SpliceInsertWebDeliveryAllowedBehavior)[keyof typeof Scte35SpliceInsertWebDeliveryAllowedBehavior]; +export type H264TimecodeInsertionBehavior = + (typeof H264TimecodeInsertionBehavior)[keyof typeof H264TimecodeInsertionBehavior]; /** - * Typical configuration that applies breaks on splice inserts in addition to time signal placement opportunities, breaks, and advertisements. + * H264 Settings * @public */ -export interface Scte35SpliceInsert { +export interface H264Settings { /** - * 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. + * Enables or disables adaptive quantization, which is a technique MediaLive can apply to video on a frame-by-frame basis to produce more compression without losing quality. There are three types of adaptive quantization: flicker, spatial, and temporal. Set the field in one of these ways: Set to Auto. Recommended. For each type of AQ, MediaLive will determine if AQ is needed, and if so, the appropriate strength. Set a strength (a value other than Auto or Disable). This strength will apply to any of the AQ fields that you choose to enable. Set to Disabled to disable all types of adaptive quantization. * @public */ - AdAvailOffset?: number; + AdaptiveQuantization?: H264AdaptiveQuantization; /** - * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates + * Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter. * @public */ - NoRegionalBlackoutFlag?: Scte35SpliceInsertNoRegionalBlackoutBehavior; + AfdSignaling?: AfdSignaling; /** - * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates + * Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000. * @public */ - WebDeliveryAllowedFlag?: Scte35SpliceInsertWebDeliveryAllowedBehavior; -} - -/** - * @public - * @enum - */ -export const Scte35AposNoRegionalBlackoutBehavior = { - FOLLOW: "FOLLOW", - IGNORE: "IGNORE", -} as const; - -/** - * @public - */ -export type Scte35AposNoRegionalBlackoutBehavior = - (typeof Scte35AposNoRegionalBlackoutBehavior)[keyof typeof Scte35AposNoRegionalBlackoutBehavior]; - -/** - * @public - * @enum - */ -export const Scte35AposWebDeliveryAllowedBehavior = { - FOLLOW: "FOLLOW", - IGNORE: "IGNORE", -} as const; - -/** - * @public - */ -export type Scte35AposWebDeliveryAllowedBehavior = - (typeof Scte35AposWebDeliveryAllowedBehavior)[keyof typeof Scte35AposWebDeliveryAllowedBehavior]; + Bitrate?: number; -/** - * Atypical configuration that applies segment breaks only on SCTE-35 time signal placement opportunities and breaks. - * @public - */ -export interface Scte35TimeSignalApos { /** - * 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. + * Percentage of the buffer that should initially be filled (HRD buffer model). * @public */ - AdAvailOffset?: number; + BufFillPct?: number; /** - * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates + * Size of buffer (HRD buffer model) in bits. * @public */ - NoRegionalBlackoutFlag?: Scte35AposNoRegionalBlackoutBehavior; + BufSize?: number; /** - * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates + * Includes colorspace metadata in the output. * @public */ - WebDeliveryAllowedFlag?: Scte35AposWebDeliveryAllowedBehavior; -} + ColorMetadata?: H264ColorMetadata; -/** - * Avail Settings - * @public - */ -export interface AvailSettings { /** - * Esam + * Color Space settings * @public */ - Esam?: Esam; + ColorSpaceSettings?: H264ColorSpaceSettings; /** - * Typical configuration that applies breaks on splice inserts in addition to time signal placement opportunities, breaks, and advertisements. + * Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. * @public */ - Scte35SpliceInsert?: Scte35SpliceInsert; + EntropyEncoding?: H264EntropyEncoding; /** - * Atypical configuration that applies segment breaks only on SCTE-35 time signal placement opportunities and breaks. + * 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 */ - Scte35TimeSignalApos?: Scte35TimeSignalApos; -} + FilterSettings?: H264FilterSettings; -/** - * @public - * @enum - */ -export const Scte35SegmentationScope = { - ALL_OUTPUT_GROUPS: "ALL_OUTPUT_GROUPS", - SCTE35_ENABLED_OUTPUT_GROUPS: "SCTE35_ENABLED_OUTPUT_GROUPS", -} as const; + /** + * Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. + * @public + */ + FixedAfd?: FixedAfd; -/** - * @public - */ -export type Scte35SegmentationScope = (typeof Scte35SegmentationScope)[keyof typeof Scte35SegmentationScope]; + /** + * Flicker AQ makes adjustments within each frame to reduce flicker or 'pop' on I-frames. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if flicker AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply flicker AQ using the specified strength. Disabled: MediaLive won't apply flicker AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply flicker AQ. + * @public + */ + FlickerAq?: H264FlickerAq; -/** - * Avail Configuration - * @public - */ -export interface AvailConfiguration { /** - * Controls how SCTE-35 messages create cues. Splice Insert mode treats all segmentation signals traditionally. With Time Signal APOS mode only Time Signal Placement Opportunity and Break messages create segment breaks. With ESAM mode, signals are forwarded to an ESAM server for possible update. + * This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) + * enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. + * disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content. * @public */ - AvailSettings?: AvailSettings; + ForceFieldPictures?: H264ForceFieldPictures; /** - * Configures whether SCTE 35 passthrough triggers segment breaks in all output groups that use segmented outputs. Insertion of a SCTE 35 message typically results in a segment break, in addition to the regular cadence of breaks. The segment breaks appear in video outputs, audio outputs, and captions outputs (if any). - * - * ALL_OUTPUT_GROUPS: Default. Insert the segment break in in all output groups that have segmented outputs. This is the legacy behavior. - * SCTE35_ENABLED_OUTPUT_GROUPS: Insert the segment break only in output groups that have SCTE 35 passthrough enabled. This is the recommended value, because it reduces unnecessary segment breaks. + * This field indicates how the output video frame rate is specified. If "specified" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if "initializeFromSource" is selected then the output video frame rate will be set equal to the input video frame rate of the first input. * @public */ - Scte35SegmentationScope?: Scte35SegmentationScope; -} + FramerateControl?: H264FramerateControl; -/** - * A request to delete resources - * @public - */ -export interface BatchDeleteRequest { /** - * List of channel IDs + * Framerate denominator. * @public */ - ChannelIds?: string[]; + FramerateDenominator?: number; /** - * List of input IDs + * Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. * @public */ - InputIds?: string[]; + FramerateNumerator?: number; /** - * List of input security group IDs + * Documentation update needed * @public */ - InputSecurityGroupIds?: string[]; + GopBReference?: H264GopBReference; /** - * List of multiplex IDs + * 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. * @public */ - MultiplexIds?: string[]; -} + GopClosedCadence?: number; -/** - * Placeholder documentation for BatchDeleteResponse - * @public - */ -export interface BatchDeleteResponse { /** - * List of failed operations + * Number of B-frames between reference frames. * @public */ - Failed?: BatchFailedResultModel[]; + GopNumBFrames?: number; /** - * List of successful operations + * GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. + * If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. + * If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer. * @public */ - Successful?: BatchSuccessfulResultModel[]; -} + GopSize?: number; -/** - * A list of schedule actions to create (in a request) or that have been created (in a response). - * @public - */ -export interface BatchScheduleActionCreateRequest { /** - * A list of schedule actions to create. + * Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time. * @public */ - ScheduleActions: ScheduleAction[] | undefined; -} + GopSizeUnits?: H264GopSizeUnits; -/** - * List of actions that have been created in the schedule. - * @public - */ -export interface BatchScheduleActionCreateResult { /** - * List of actions that have been created in the schedule. + * H.264 Level. * @public */ - ScheduleActions: ScheduleAction[] | undefined; -} + Level?: H264Level; -/** - * A list of schedule actions to delete. - * @public - */ -export interface BatchScheduleActionDeleteRequest { /** - * A list of schedule actions to delete. + * Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. * @public */ - ActionNames: string[] | undefined; -} + LookAheadRateControl?: H264LookAheadRateControl; -/** - * List of actions that have been deleted from the schedule. - * @public - */ -export interface BatchScheduleActionDeleteResult { /** - * List of actions that have been deleted from the schedule. + * For QVBR: See the tooltip for Quality level + * + * For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video. * @public */ - ScheduleActions: ScheduleAction[] | undefined; -} + MaxBitrate?: number; -/** - * A request to start resources - * @public - */ -export interface BatchStartRequest { /** - * List of channel IDs + * Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. 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 * @public */ - ChannelIds?: string[]; + MinIInterval?: number; /** - * List of multiplex IDs + * Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding. * @public */ - MultiplexIds?: string[]; -} + NumRefFrames?: number; -/** - * Placeholder documentation for BatchStartResponse - * @public - */ -export interface BatchStartResponse { /** - * List of failed operations + * 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 and parDenominator, else if "initializeFromSource" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input. * @public */ - Failed?: BatchFailedResultModel[]; + ParControl?: H264ParControl; /** - * List of successful operations + * Pixel Aspect Ratio denominator. * @public */ - Successful?: BatchSuccessfulResultModel[]; -} + ParDenominator?: number; -/** - * A request to stop resources - * @public - */ -export interface BatchStopRequest { /** - * List of channel IDs + * Pixel Aspect Ratio numerator. * @public */ - ChannelIds?: string[]; + ParNumerator?: number; /** - * List of multiplex IDs + * H.264 Profile. * @public */ - MultiplexIds?: string[]; -} + Profile?: H264Profile; -/** - * Placeholder documentation for BatchStopResponse - * @public - */ -export interface BatchStopResponse { /** - * List of failed operations + * Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel). + * - ENHANCED_QUALITY: Produces a slightly better video quality without an increase in the bitrate. Has an effect only when the Rate control mode is QVBR or CBR. If this channel is in a MediaLive multiplex, the value must be ENHANCED_QUALITY. + * - STANDARD_QUALITY: Valid for any Rate control mode. * @public */ - Failed?: BatchFailedResultModel[]; + QualityLevel?: H264QualityLevel; /** - * List of successful operations + * Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. You can set a target quality or you can let MediaLive determine the best quality. To set a target quality, enter values in the QVBR quality level field and the Max bitrate field. Enter values that suit your most important viewing devices. Recommended values are: + * - Primary screen: Quality level: 8 to 10. Max bitrate: 4M + * - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M + * - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M + * To let MediaLive decide, leave the QVBR quality level field empty, and in Max bitrate enter the maximum rate you want in the video. For more information, see the section called "Video - rate control mode" in the MediaLive user guide * @public */ - Successful?: BatchSuccessfulResultModel[]; -} + QvbrQualityLevel?: number; -/** - * List of actions to create and list of actions to delete. - * @public - */ -export interface BatchUpdateScheduleRequest { /** - * Id of the channel whose schedule is being updated. + * Rate control mode. + * + * QVBR: Quality will match the specified quality level except when it is constrained by the + * maximum bitrate. Recommended if you or your viewers pay for bandwidth. + * + * VBR: Quality and bitrate vary, depending on the video complexity. Recommended instead of QVBR + * if you want to maintain a specific average bitrate over the duration of the channel. + * + * CBR: Quality varies, depending on the video complexity. Recommended only if you distribute + * your assets to devices that cannot handle variable bitrates. + * + * Multiplex: This rate control mode is only supported (and is required) when the video is being + * delivered to a MediaLive Multiplex in which case the rate control configuration is controlled + * by the properties within the Multiplex Program. * @public */ - ChannelId: string | undefined; + RateControlMode?: H264RateControlMode; /** - * Schedule actions to create in the schedule. + * Sets the scan type of the output to progressive or top-field-first interlaced. * @public */ - Creates?: BatchScheduleActionCreateRequest; + ScanType?: H264ScanType; /** - * Schedule actions to delete from the schedule. + * Scene change detection. + * + * - On: inserts I-frames when scene change is detected. + * - Off: does not force an I-frame when scene change is detected. * @public */ - Deletes?: BatchScheduleActionDeleteRequest; -} + SceneChangeDetect?: H264SceneChangeDetect; -/** - * Placeholder documentation for BatchUpdateScheduleResponse - * @public - */ -export interface BatchUpdateScheduleResponse { /** - * Schedule actions created in the schedule. + * 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. + * This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. * @public */ - Creates?: BatchScheduleActionCreateResult; + Slices?: number; /** - * Schedule actions deleted from the schedule. + * Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. If not set to zero, must be greater than 15. * @public */ - Deletes?: BatchScheduleActionDeleteResult; -} - -/** - * @public - * @enum - */ -export const BlackoutSlateNetworkEndBlackout = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type BlackoutSlateNetworkEndBlackout = - (typeof BlackoutSlateNetworkEndBlackout)[keyof typeof BlackoutSlateNetworkEndBlackout]; - -/** - * @public - * @enum - */ -export const BlackoutSlateState = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", -} as const; - -/** - * @public - */ -export type BlackoutSlateState = (typeof BlackoutSlateState)[keyof typeof BlackoutSlateState]; + Softness?: number; -/** - * Blackout Slate - * @public - */ -export interface BlackoutSlate { /** - * Blackout slate image to be used. Leave empty for solid black. Only bmp and png images are supported. + * Spatial AQ makes adjustments within each frame based on spatial variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if spatial AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply spatial AQ using the specified strength. Disabled: MediaLive won't apply spatial AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply spatial AQ. * @public */ - BlackoutSlateImage?: InputLocation; + SpatialAq?: H264SpatialAq; /** - * Setting to enabled causes the encoder to blackout the video, audio, and captions, and raise the "Network Blackout Image" slate when an SCTE104/35 Network End Segmentation Descriptor is encountered. The blackout will be lifted when the Network Start Segmentation Descriptor is encountered. The Network End and Network Start descriptors must contain a network ID that matches the value entered in "Network ID". + * If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality. * @public */ - NetworkEndBlackout?: BlackoutSlateNetworkEndBlackout; + SubgopLength?: H264SubGopLength; /** - * Path to local file to use as Network End Blackout image. Image will be scaled to fill the entire output raster. + * Produces a bitstream compliant with SMPTE RP-2027. * @public */ - NetworkEndBlackoutImage?: InputLocation; + Syntax?: H264Syntax; /** - * Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). + * Temporal makes adjustments within each frame based on temporal variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if temporal AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply temporal AQ using the specified strength. Disabled: MediaLive won't apply temporal AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply temporal AQ. * @public */ - NetworkId?: string; + TemporalAq?: H264TemporalAq; /** - * When set to enabled, causes video, audio and captions to be blanked when indicated by program metadata. + * Determines how timecodes should be inserted into the video elementary stream. + * - 'disabled': Do not include timecodes + * - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config * @public */ - State?: BlackoutSlateState; -} + TimecodeInsertion?: H264TimecodeInsertionBehavior; -/** - * Placeholder documentation for CancelInputDeviceTransferRequest - * @public - */ -export interface CancelInputDeviceTransferRequest { /** - * The unique ID of the input device to cancel. For example, hd-123456789abcdef. + * Timecode burn-in settings * @public */ - InputDeviceId: string | undefined; -} - -/** - * Placeholder documentation for CancelInputDeviceTransferResponse - * @public - */ -export interface CancelInputDeviceTransferResponse {} + TimecodeBurninSettings?: TimecodeBurninSettings; -/** - * Property of encoderSettings. Controls color conversion when you are using 3D LUT files to perform color conversion on video. - * @public - */ -export interface ColorCorrectionSettings { /** - * An array of colorCorrections that applies when you are using 3D LUT files to perform color conversion on video. Each colorCorrection contains one 3D LUT file (that defines the color mapping for converting an input color space to an output color space), and the input/output combination that this 3D LUT file applies to. MediaLive reads the color space in the input metadata, determines the color space that you have specified for the output, and finds and uses the LUT file that applies to this combination. + * Sets the minimum QP. If you aren't familiar with quantization adjustment, leave the field empty. MediaLive will + * apply an appropriate value. * @public */ - GlobalColorCorrections: ColorCorrection[] | undefined; + MinQp?: number; } /** * @public * @enum */ -export const FeatureActivationsInputPrepareScheduleActions = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", +export const H265AdaptiveQuantization = { + AUTO: "AUTO", + HIGH: "HIGH", + HIGHER: "HIGHER", + LOW: "LOW", + MAX: "MAX", + MEDIUM: "MEDIUM", + OFF: "OFF", } as const; /** * @public */ -export type FeatureActivationsInputPrepareScheduleActions = - (typeof FeatureActivationsInputPrepareScheduleActions)[keyof typeof FeatureActivationsInputPrepareScheduleActions]; +export type H265AdaptiveQuantization = (typeof H265AdaptiveQuantization)[keyof typeof H265AdaptiveQuantization]; /** * @public * @enum */ -export const FeatureActivationsOutputStaticImageOverlayScheduleActions = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", +export const H265AlternativeTransferFunction = { + INSERT: "INSERT", + OMIT: "OMIT", } as const; /** * @public */ -export type FeatureActivationsOutputStaticImageOverlayScheduleActions = - (typeof FeatureActivationsOutputStaticImageOverlayScheduleActions)[keyof typeof FeatureActivationsOutputStaticImageOverlayScheduleActions]; - -/** - * Feature Activations - * @public - */ -export interface FeatureActivations { - /** - * Enables the Input Prepare feature. You can create Input Prepare actions in the schedule only if this feature is enabled. - * If you disable the feature on an existing schedule, make sure that you first delete all input prepare actions from the schedule. - * @public - */ - InputPrepareScheduleActions?: FeatureActivationsInputPrepareScheduleActions; - - /** - * Enables the output static image overlay feature. Enabling this feature allows you to send channel schedule updates - * to display/clear/modify image overlays on an output-by-output bases. - * @public - */ - OutputStaticImageOverlayScheduleActions?: FeatureActivationsOutputStaticImageOverlayScheduleActions; -} +export type H265AlternativeTransferFunction = + (typeof H265AlternativeTransferFunction)[keyof typeof H265AlternativeTransferFunction]; /** * @public * @enum */ -export const GlobalConfigurationInputEndAction = { - NONE: "NONE", - SWITCH_AND_LOOP_INPUTS: "SWITCH_AND_LOOP_INPUTS", +export const H265ColorMetadata = { + IGNORE: "IGNORE", + INSERT: "INSERT", } as const; /** * @public */ -export type GlobalConfigurationInputEndAction = - (typeof GlobalConfigurationInputEndAction)[keyof typeof GlobalConfigurationInputEndAction]; +export type H265ColorMetadata = (typeof H265ColorMetadata)[keyof typeof H265ColorMetadata]; /** + * Dolby Vision81 Settings * @public - * @enum */ -export const InputLossImageType = { - COLOR: "COLOR", - SLATE: "SLATE", -} as const; +export interface DolbyVision81Settings {} /** + * H265 Color Space Settings * @public */ -export type InputLossImageType = (typeof InputLossImageType)[keyof typeof InputLossImageType]; +export interface H265ColorSpaceSettings { + /** + * Passthrough applies no color space conversion to the output + * @public + */ + ColorSpacePassthroughSettings?: ColorSpacePassthroughSettings; -/** - * Input Loss Behavior - * @public - */ -export interface InputLossBehavior { /** - * Documentation update needed + * Dolby Vision81 Settings * @public */ - BlackFrameMsec?: number; + DolbyVision81Settings?: DolbyVision81Settings; /** - * When input loss image type is "color" this field specifies the color to use. Value: 6 hex characters representing the values of RGB. + * Hdr10 Settings * @public */ - InputLossImageColor?: string; + Hdr10Settings?: Hdr10Settings; /** - * When input loss image type is "slate" these fields specify the parameters for accessing the slate. + * Rec601 Settings * @public */ - InputLossImageSlate?: InputLocation; + Rec601Settings?: Rec601Settings; /** - * Indicates whether to substitute a solid color or a slate into the output after input loss exceeds blackFrameMsec. + * Rec709 Settings * @public */ - InputLossImageType?: InputLossImageType; + Rec709Settings?: Rec709Settings; +} +/** + * H265 Filter Settings + * @public + */ +export interface H265FilterSettings { /** - * Documentation update needed + * Temporal Filter Settings * @public */ - RepeatFrameMsec?: number; + TemporalFilterSettings?: TemporalFilterSettings; } /** * @public * @enum */ -export const GlobalConfigurationOutputLockingMode = { - EPOCH_LOCKING: "EPOCH_LOCKING", - PIPELINE_LOCKING: "PIPELINE_LOCKING", +export const H265FlickerAq = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", } as const; /** * @public */ -export type GlobalConfigurationOutputLockingMode = - (typeof GlobalConfigurationOutputLockingMode)[keyof typeof GlobalConfigurationOutputLockingMode]; +export type H265FlickerAq = (typeof H265FlickerAq)[keyof typeof H265FlickerAq]; /** - * Epoch Locking Settings * @public + * @enum */ -export interface EpochLockingSettings { - /** - * Optional. Enter a value here to use a custom epoch, instead of the standard epoch (which started at 1970-01-01T00:00:00 UTC). Specify the start time of the custom epoch, in YYYY-MM-DDTHH:MM:SS in UTC. The time must be 2000-01-01T00:00:00 or later. Always set the MM:SS portion to 00:00. - * @public - */ - CustomEpoch?: string; - - /** - * Optional. Enter a time for the jam sync. The default is midnight UTC. When epoch locking is enabled, MediaLive performs a daily jam sync on every output encode to ensure timecodes don’t diverge from the wall clock. The jam sync applies only to encodes with frame rate of 29.97 or 59.94 FPS. To override, enter a time in HH:MM:SS in UTC. Always set the MM:SS portion to 00:00. - * @public - */ - JamSyncTime?: string; -} +export const H265GopSizeUnits = { + FRAMES: "FRAMES", + SECONDS: "SECONDS", +} as const; /** - * Pipeline Locking Settings * @public */ -export interface PipelineLockingSettings {} +export type H265GopSizeUnits = (typeof H265GopSizeUnits)[keyof typeof H265GopSizeUnits]; /** - * Output Locking Settings * @public + * @enum */ -export interface OutputLockingSettings { - /** - * Epoch Locking Settings - * @public - */ - EpochLockingSettings?: EpochLockingSettings; +export const H265Level = { + H265_LEVEL_1: "H265_LEVEL_1", + H265_LEVEL_2: "H265_LEVEL_2", + H265_LEVEL_2_1: "H265_LEVEL_2_1", + H265_LEVEL_3: "H265_LEVEL_3", + H265_LEVEL_3_1: "H265_LEVEL_3_1", + H265_LEVEL_4: "H265_LEVEL_4", + H265_LEVEL_4_1: "H265_LEVEL_4_1", + H265_LEVEL_5: "H265_LEVEL_5", + H265_LEVEL_5_1: "H265_LEVEL_5_1", + H265_LEVEL_5_2: "H265_LEVEL_5_2", + H265_LEVEL_6: "H265_LEVEL_6", + H265_LEVEL_6_1: "H265_LEVEL_6_1", + H265_LEVEL_6_2: "H265_LEVEL_6_2", + H265_LEVEL_AUTO: "H265_LEVEL_AUTO", +} as const; - /** - * Pipeline Locking Settings - * @public - */ - PipelineLockingSettings?: PipelineLockingSettings; -} +/** + * @public + */ +export type H265Level = (typeof H265Level)[keyof typeof H265Level]; /** * @public * @enum */ -export const GlobalConfigurationOutputTimingSource = { - INPUT_CLOCK: "INPUT_CLOCK", - SYSTEM_CLOCK: "SYSTEM_CLOCK", +export const H265LookAheadRateControl = { + HIGH: "HIGH", + LOW: "LOW", + MEDIUM: "MEDIUM", } as const; /** * @public */ -export type GlobalConfigurationOutputTimingSource = - (typeof GlobalConfigurationOutputTimingSource)[keyof typeof GlobalConfigurationOutputTimingSource]; +export type H265LookAheadRateControl = (typeof H265LookAheadRateControl)[keyof typeof H265LookAheadRateControl]; /** * @public * @enum */ -export const GlobalConfigurationLowFramerateInputs = { +export const H265MvOverPictureBoundaries = { DISABLED: "DISABLED", ENABLED: "ENABLED", } as const; @@ -5900,1672 +5149,1912 @@ export const GlobalConfigurationLowFramerateInputs = { /** * @public */ -export type GlobalConfigurationLowFramerateInputs = - (typeof GlobalConfigurationLowFramerateInputs)[keyof typeof GlobalConfigurationLowFramerateInputs]; +export type H265MvOverPictureBoundaries = + (typeof H265MvOverPictureBoundaries)[keyof typeof H265MvOverPictureBoundaries]; /** - * Global Configuration * @public + * @enum */ -export interface GlobalConfiguration { - /** - * Value to set the initial audio gain for the Live Event. - * @public - */ - InitialAudioGain?: number; - - /** - * Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is configured the encoder will restart at the beginning of the first input. When "none" is configured the encoder will transcode either black, a solid color, or a user specified slate images per the "Input Loss Behavior" configuration until the next input switch occurs (which is controlled through the Channel Schedule API). - * @public - */ - InputEndAction?: GlobalConfigurationInputEndAction; +export const H265MvTemporalPredictor = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; - /** - * Settings for system actions when input is lost. - * @public - */ - InputLossBehavior?: InputLossBehavior; +/** + * @public + */ +export type H265MvTemporalPredictor = (typeof H265MvTemporalPredictor)[keyof typeof H265MvTemporalPredictor]; - /** - * Indicates how MediaLive pipelines are synchronized. - * - * PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other. - * EPOCH_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch. - * @public - */ - OutputLockingMode?: GlobalConfigurationOutputLockingMode; +/** + * @public + * @enum + */ +export const H265Profile = { + MAIN: "MAIN", + MAIN_10BIT: "MAIN_10BIT", +} as const; - /** - * Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which optionally may be locked to another source via NTP) or should be locked to the clock of the source that is providing the input stream. - * @public - */ - OutputTimingSource?: GlobalConfigurationOutputTimingSource; +/** + * @public + */ +export type H265Profile = (typeof H265Profile)[keyof typeof H265Profile]; - /** - * Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music channels with less than one video frame per second. - * @public - */ - SupportLowFramerateInputs?: GlobalConfigurationLowFramerateInputs; +/** + * @public + * @enum + */ +export const H265RateControlMode = { + CBR: "CBR", + MULTIPLEX: "MULTIPLEX", + QVBR: "QVBR", +} as const; - /** - * Advanced output locking settings - * @public - */ - OutputLockingSettings?: OutputLockingSettings; -} +/** + * @public + */ +export type H265RateControlMode = (typeof H265RateControlMode)[keyof typeof H265RateControlMode]; /** * @public * @enum */ -export const MotionGraphicsInsertion = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", +export const H265ScanType = { + INTERLACED: "INTERLACED", + PROGRESSIVE: "PROGRESSIVE", } as const; /** * @public */ -export type MotionGraphicsInsertion = (typeof MotionGraphicsInsertion)[keyof typeof MotionGraphicsInsertion]; +export type H265ScanType = (typeof H265ScanType)[keyof typeof H265ScanType]; /** - * Html Motion Graphics Settings * @public + * @enum */ -export interface HtmlMotionGraphicsSettings {} +export const H265SceneChangeDetect = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; /** - * Motion Graphics Settings * @public */ -export interface MotionGraphicsSettings { - /** - * Html Motion Graphics Settings - * @public - */ - HtmlMotionGraphicsSettings?: HtmlMotionGraphicsSettings; -} +export type H265SceneChangeDetect = (typeof H265SceneChangeDetect)[keyof typeof H265SceneChangeDetect]; /** - * Motion Graphics Configuration * @public + * @enum */ -export interface MotionGraphicsConfiguration { - /** - * Motion Graphics Insertion - * @public - */ - MotionGraphicsInsertion?: MotionGraphicsInsertion; +export const H265Tier = { + HIGH: "HIGH", + MAIN: "MAIN", +} as const; - /** - * Motion Graphics Settings - * @public - */ - MotionGraphicsSettings: MotionGraphicsSettings | undefined; -} +/** + * @public + */ +export type H265Tier = (typeof H265Tier)[keyof typeof H265Tier]; /** * @public * @enum */ -export const NielsenPcmToId3TaggingState = { - DISABLED: "DISABLED", - ENABLED: "ENABLED", +export const H265TilePadding = { + NONE: "NONE", + PADDED: "PADDED", } as const; /** * @public */ -export type NielsenPcmToId3TaggingState = - (typeof NielsenPcmToId3TaggingState)[keyof typeof NielsenPcmToId3TaggingState]; +export type H265TilePadding = (typeof H265TilePadding)[keyof typeof H265TilePadding]; /** - * Nielsen Configuration * @public + * @enum */ -export interface NielsenConfiguration { - /** - * Enter the Distributor ID assigned to your organization by Nielsen. - * @public - */ - DistributorId?: string; +export const H265TimecodeInsertionBehavior = { + DISABLED: "DISABLED", + PIC_TIMING_SEI: "PIC_TIMING_SEI", +} as const; - /** - * Enables Nielsen PCM to ID3 tagging - * @public - */ - NielsenPcmToId3Tagging?: NielsenPcmToId3TaggingState; -} +/** + * @public + */ +export type H265TimecodeInsertionBehavior = + (typeof H265TimecodeInsertionBehavior)[keyof typeof H265TimecodeInsertionBehavior]; /** * @public * @enum */ -export const ThumbnailState = { +export const H265TreeblockSize = { AUTO: "AUTO", - DISABLED: "DISABLED", + TREE_SIZE_32X32: "TREE_SIZE_32X32", } as const; /** * @public */ -export type ThumbnailState = (typeof ThumbnailState)[keyof typeof ThumbnailState]; +export type H265TreeblockSize = (typeof H265TreeblockSize)[keyof typeof H265TreeblockSize]; /** - * Thumbnail Configuration + * H265 Settings * @public */ -export interface ThumbnailConfiguration { +export interface H265Settings { + /** + * Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality. + * @public + */ + AdaptiveQuantization?: H265AdaptiveQuantization; + + /** + * Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter. + * @public + */ + AfdSignaling?: AfdSignaling; + /** - * Enables the thumbnail feature. The feature generates thumbnails of the incoming video in each pipeline in the channel. AUTO turns the feature on, DISABLE turns the feature off. + * Whether or not EML should insert an Alternative Transfer Function SEI message to support backwards compatibility with non-HDR decoders and displays. * @public */ - State: ThumbnailState | undefined; -} - -/** - * @public - * @enum - */ -export const TimecodeConfigSource = { - EMBEDDED: "EMBEDDED", - SYSTEMCLOCK: "SYSTEMCLOCK", - ZEROBASED: "ZEROBASED", -} as const; - -/** - * @public - */ -export type TimecodeConfigSource = (typeof TimecodeConfigSource)[keyof typeof TimecodeConfigSource]; + AlternativeTransferFunction?: H265AlternativeTransferFunction; -/** - * Timecode Config - * @public - */ -export interface TimecodeConfig { /** - * Identifies the source for the timecode that will be associated with the events outputs. - * -Embedded (embedded): Initialize the output timecode with timecode from the the source. If no embedded timecode is detected in the source, the 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. + * Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000. * @public */ - Source: TimecodeConfigSource | undefined; + Bitrate?: number; /** - * 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. + * Size of buffer (HRD buffer model) in bits. * @public */ - SyncThreshold?: number; -} + BufSize?: number; -/** - * Encoder Settings - * @public - */ -export interface EncoderSettings { /** - * Placeholder documentation for __listOfAudioDescription + * Includes colorspace metadata in the output. * @public */ - AudioDescriptions: AudioDescription[] | undefined; + ColorMetadata?: H265ColorMetadata; /** - * Settings for ad avail blanking. + * Color Space settings * @public */ - AvailBlanking?: AvailBlanking; + ColorSpaceSettings?: H265ColorSpaceSettings; /** - * Event-wide configuration settings for ad avail insertion. + * 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 */ - AvailConfiguration?: AvailConfiguration; + FilterSettings?: H265FilterSettings; /** - * Settings for blackout slate. + * Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. * @public */ - BlackoutSlate?: BlackoutSlate; + FixedAfd?: FixedAfd; /** - * Settings for caption decriptions + * If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames. * @public */ - CaptionDescriptions?: CaptionDescription[]; + FlickerAq?: H265FlickerAq; /** - * Feature Activations + * Framerate denominator. * @public */ - FeatureActivations?: FeatureActivations; + FramerateDenominator: number | undefined; /** - * Configuration settings that apply to the event as a whole. + * Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps. * @public */ - GlobalConfiguration?: GlobalConfiguration; + FramerateNumerator: number | undefined; /** - * Settings for motion graphics. + * 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. * @public */ - MotionGraphicsConfiguration?: MotionGraphicsConfiguration; + GopClosedCadence?: number; /** - * Nielsen configuration settings. + * GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. + * If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. + * If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer. * @public */ - NielsenConfiguration?: NielsenConfiguration; + GopSize?: number; /** - * Placeholder documentation for __listOfOutputGroup + * Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time. * @public */ - OutputGroups: OutputGroup[] | undefined; + GopSizeUnits?: H265GopSizeUnits; /** - * Contains settings used to acquire and adjust timecode information from inputs. + * H.265 Level. * @public */ - TimecodeConfig: TimecodeConfig | undefined; + Level?: H265Level; /** - * Placeholder documentation for __listOfVideoDescription + * Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content. * @public */ - VideoDescriptions: VideoDescription[] | undefined; + LookAheadRateControl?: H265LookAheadRateControl; /** - * Thumbnail configuration settings. + * For QVBR: See the tooltip for Quality level * @public */ - ThumbnailConfiguration?: ThumbnailConfiguration; + MaxBitrate?: number; /** - * Color Correction Settings + * Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. 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 * @public */ - ColorCorrectionSettings?: ColorCorrectionSettings; -} + MinIInterval?: number; -/** - * Placeholder documentation for Channel - * @public - */ -export interface Channel { /** - * The unique arn of the channel. + * Pixel Aspect Ratio denominator. * @public */ - Arn?: string; + ParDenominator?: number; /** - * Specification of CDI inputs for this channel + * Pixel Aspect Ratio numerator. * @public */ - CdiInputSpecification?: CdiInputSpecification; + ParNumerator?: number; /** - * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. + * H.265 Profile. * @public */ - ChannelClass?: ChannelClass; + Profile?: H265Profile; /** - * A list of destinations of the channel. For UDP outputs, there is one - * destination per output. For other types (HLS, for example), there is - * one destination per packager. + * Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field that suit your most important viewing devices. Recommended values are: + * - Primary screen: Quality level: 8 to 10. Max bitrate: 4M + * - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M + * - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M * @public */ - Destinations?: OutputDestination[]; + QvbrQualityLevel?: number; /** - * The endpoints where outgoing connections initiate from + * Rate control mode. + * + * QVBR: Quality will match the specified quality level except when it is constrained by the + * maximum bitrate. Recommended if you or your viewers pay for bandwidth. + * + * CBR: Quality varies, depending on the video complexity. Recommended only if you distribute + * your assets to devices that cannot handle variable bitrates. + * + * Multiplex: This rate control mode is only supported (and is required) when the video is being + * delivered to a MediaLive Multiplex in which case the rate control configuration is controlled + * by the properties within the Multiplex Program. * @public */ - EgressEndpoints?: ChannelEgressEndpoint[]; + RateControlMode?: H265RateControlMode; /** - * Encoder Settings + * Sets the scan type of the output to progressive or top-field-first interlaced. * @public */ - EncoderSettings?: EncoderSettings; + ScanType?: H265ScanType; /** - * The unique id of the channel. + * Scene change detection. * @public */ - Id?: string; + SceneChangeDetect?: H265SceneChangeDetect; /** - * List of input attachments for channel. + * 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. + * This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution. * @public */ - InputAttachments?: InputAttachment[]; + Slices?: number; /** - * Specification of network and file inputs for this channel + * H.265 Tier. * @public */ - InputSpecification?: InputSpecification; + Tier?: H265Tier; /** - * The log level being written to CloudWatch Logs. + * Determines how timecodes should be inserted into the video elementary stream. + * - 'disabled': Do not include timecodes + * - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config * @public */ - LogLevel?: LogLevel; + TimecodeInsertion?: H265TimecodeInsertionBehavior; /** - * Maintenance settings for this channel. + * Timecode burn-in settings * @public */ - Maintenance?: MaintenanceStatus; + TimecodeBurninSettings?: TimecodeBurninSettings; /** - * The name of the channel. (user-mutable) + * If you are setting up the picture as a tile, you must set this to "disabled". In all other configurations, you typically enter "enabled". * @public */ - Name?: string; + MvOverPictureBoundaries?: H265MvOverPictureBoundaries; /** - * Runtime details for the pipelines of a running channel. + * If you are setting up the picture as a tile, you must set this to "disabled". In other configurations, you typically enter "enabled". * @public */ - PipelineDetails?: PipelineDetail[]; + MvTemporalPredictor?: H265MvTemporalPredictor; /** - * The number of currently healthy pipelines. + * Set this field to set up the picture as a tile. You must also set tileWidth. + * The tile height must result in 22 or fewer rows in the frame. The tile width + * must result in 20 or fewer columns in the frame. And finally, the product of the + * column count and row count must be 64 of less. + * If the tile width and height are specified, MediaLive will override the video + * codec slices field with a value that MediaLive calculates * @public */ - PipelinesRunningCount?: number; + TileHeight?: number; /** - * The Amazon Resource Name (ARN) of the role assumed when running the Channel. + * Set to "padded" to force MediaLive to add padding to the frame, to obtain a frame that is a whole multiple of the tile size. + * If you are setting up the picture as a tile, you must enter "padded". + * In all other configurations, you typically enter "none". * @public */ - RoleArn?: string; + TilePadding?: H265TilePadding; /** - * Placeholder documentation for ChannelState + * Set this field to set up the picture as a tile. See tileHeight for more information. * @public */ - State?: ChannelState; + TileWidth?: number; /** - * A collection of key-value pairs. + * Select the tree block size used for encoding. If you enter "auto", the encoder will pick the best size. If you are setting up the picture as a tile, you must set this to 32x32. In all other configurations, you typically enter "auto". * @public */ - Tags?: Record; + TreeblockSize?: H265TreeblockSize; /** - * Settings for VPC output + * Sets the minimum QP. If you aren't familiar with quantization adjustment, leave the field empty. MediaLive will + * apply an appropriate value. * @public */ - Vpc?: VpcOutputSettingsDescription; + MinQp?: number; } /** - * A request to claim an AWS Elemental device that you have purchased from a third-party vendor. * @public + * @enum */ -export interface ClaimDeviceRequest { - /** - * The id of the device you want to claim. - * @public - */ - Id?: string; -} +export const Mpeg2AdaptiveQuantization = { + AUTO: "AUTO", + HIGH: "HIGH", + LOW: "LOW", + MEDIUM: "MEDIUM", + OFF: "OFF", +} as const; /** - * Placeholder documentation for ClaimDeviceResponse * @public */ -export interface ClaimDeviceResponse {} +export type Mpeg2AdaptiveQuantization = (typeof Mpeg2AdaptiveQuantization)[keyof typeof Mpeg2AdaptiveQuantization]; /** * @public * @enum */ -export const ContentType = { - image_jpeg: "image/jpeg", +export const Mpeg2ColorMetadata = { + IGNORE: "IGNORE", + INSERT: "INSERT", } as const; /** * @public */ -export type ContentType = (typeof ContentType)[keyof typeof ContentType]; +export type Mpeg2ColorMetadata = (typeof Mpeg2ColorMetadata)[keyof typeof Mpeg2ColorMetadata]; /** - * Placeholder documentation for MaintenanceCreateSettings * @public + * @enum */ -export interface MaintenanceCreateSettings { - /** - * Choose one day of the week for maintenance. The chosen day is used for all future maintenance windows. - * @public - */ - MaintenanceDay?: MaintenanceDay; +export const Mpeg2ColorSpace = { + AUTO: "AUTO", + PASSTHROUGH: "PASSTHROUGH", +} as const; + +/** + * @public + */ +export type Mpeg2ColorSpace = (typeof Mpeg2ColorSpace)[keyof typeof Mpeg2ColorSpace]; + +/** + * @public + * @enum + */ +export const Mpeg2DisplayRatio = { + DISPLAYRATIO16X9: "DISPLAYRATIO16X9", + DISPLAYRATIO4X3: "DISPLAYRATIO4X3", +} as const; + +/** + * @public + */ +export type Mpeg2DisplayRatio = (typeof Mpeg2DisplayRatio)[keyof typeof Mpeg2DisplayRatio]; +/** + * Mpeg2 Filter Settings + * @public + */ +export interface Mpeg2FilterSettings { /** - * Choose the hour that maintenance will start. The chosen time is used for all future maintenance windows. + * Temporal Filter Settings * @public */ - MaintenanceStartTime?: string; + TemporalFilterSettings?: TemporalFilterSettings; } /** - * The properties for a private VPC Output - * When this property is specified, the output egress addresses will be created in a user specified VPC + * @public + * @enum + */ +export const Mpeg2GopSizeUnits = { + FRAMES: "FRAMES", + SECONDS: "SECONDS", +} as const; + +/** + * @public + */ +export type Mpeg2GopSizeUnits = (typeof Mpeg2GopSizeUnits)[keyof typeof Mpeg2GopSizeUnits]; + +/** + * @public + * @enum + */ +export const Mpeg2ScanType = { + INTERLACED: "INTERLACED", + PROGRESSIVE: "PROGRESSIVE", +} as const; + +/** + * @public + */ +export type Mpeg2ScanType = (typeof Mpeg2ScanType)[keyof typeof Mpeg2ScanType]; + +/** + * @public + * @enum + */ +export const Mpeg2SubGopLength = { + DYNAMIC: "DYNAMIC", + FIXED: "FIXED", +} as const; + +/** + * @public + */ +export type Mpeg2SubGopLength = (typeof Mpeg2SubGopLength)[keyof typeof Mpeg2SubGopLength]; + +/** + * @public + * @enum + */ +export const Mpeg2TimecodeInsertionBehavior = { + DISABLED: "DISABLED", + GOP_TIMECODE: "GOP_TIMECODE", +} as const; + +/** + * @public + */ +export type Mpeg2TimecodeInsertionBehavior = + (typeof Mpeg2TimecodeInsertionBehavior)[keyof typeof Mpeg2TimecodeInsertionBehavior]; + +/** + * Mpeg2 Settings * @public */ -export interface VpcOutputSettings { +export interface Mpeg2Settings { /** - * List of public address allocation ids to associate with ENIs that will be created in Output VPC. - * Must specify one for SINGLE_PIPELINE, two for STANDARD channels + * Choose Off to disable adaptive quantization. Or choose another value to enable the quantizer and set its strength. The strengths are: Auto, Off, Low, Medium, High. When you enable this field, MediaLive allows intra-frame quantizers to vary, which might improve visual quality. * @public */ - PublicAddressAllocationIds?: string[]; + AdaptiveQuantization?: Mpeg2AdaptiveQuantization; /** - * A list of up to 5 EC2 VPC security group IDs to attach to the Output VPC network interfaces. - * If none are specified then the VPC default security group will be used + * Indicates the AFD values that MediaLive will write into the video encode. If you do not know what AFD signaling is, or if your downstream system has not given you guidance, choose AUTO. + * AUTO: MediaLive will try to preserve the input AFD value (in cases where multiple AFD values are valid). + * FIXED: MediaLive will use the value you specify in fixedAFD. * @public */ - SecurityGroupIds?: string[]; + AfdSignaling?: AfdSignaling; /** - * A list of VPC subnet IDs from the same VPC. - * If STANDARD channel, subnet IDs must be mapped to two unique availability zones (AZ). + * Specifies whether to include the color space metadata. The metadata describes the color space that applies to the video (the colorSpace field). We recommend that you insert the metadata. * @public */ - SubnetIds: string[] | undefined; -} + ColorMetadata?: Mpeg2ColorMetadata; -/** - * A request to create a channel - * @public - */ -export interface CreateChannelRequest { /** - * Specification of CDI inputs for this channel + * Choose the type of color space conversion to apply to the output. For detailed information on setting up both the input and the output to obtain the desired color space in the output, see the section on \"MediaLive Features - Video - color space\" in the MediaLive User Guide. + * PASSTHROUGH: Keep the color space of the input content - do not convert it. + * AUTO:Convert all content that is SD to rec 601, and convert all content that is HD to rec 709. * @public */ - CdiInputSpecification?: CdiInputSpecification; + ColorSpace?: Mpeg2ColorSpace; /** - * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. + * Sets the pixel aspect ratio for the encode. * @public */ - ChannelClass?: ChannelClass; + DisplayAspectRatio?: Mpeg2DisplayRatio; /** - * Placeholder documentation for __listOfOutputDestination + * Optionally specify a noise reduction filter, which can improve quality of compressed content. If you do not choose a filter, no filter will be applied. + * TEMPORAL: This filter is useful for both source content that is noisy (when it has excessive digital artifacts) and source content that is clean. + * When the content is noisy, the filter cleans up the source content before the encoding phase, with these two effects: First, it improves the output video quality because the content has been cleaned up. Secondly, it decreases the bandwidth because MediaLive does not waste bits on encoding noise. + * When the content is reasonably clean, the filter tends to decrease the bitrate. * @public */ - Destinations?: OutputDestination[]; + FilterSettings?: Mpeg2FilterSettings; /** - * Encoder Settings + * Complete this field only when afdSignaling is set to FIXED. Enter the AFD value (4 bits) to write on all frames of the video encode. * @public */ - EncoderSettings?: EncoderSettings; + FixedAfd?: FixedAfd; /** - * List of input attachments for channel. + * description": "The framerate denominator. For example, 1001. The framerate is the numerator divided by the denominator. For example, 24000 / 1001 = 23.976 FPS. * @public */ - InputAttachments?: InputAttachment[]; + FramerateDenominator: number | undefined; /** - * Specification of network and file inputs for this channel + * The framerate numerator. For example, 24000. The framerate is the numerator divided by the denominator. For example, 24000 / 1001 = 23.976 FPS. * @public */ - InputSpecification?: InputSpecification; + FramerateNumerator: number | undefined; /** - * The log level to write to CloudWatch Logs. + * MPEG2: default is open GOP. * @public */ - LogLevel?: LogLevel; + GopClosedCadence?: number; /** - * Maintenance settings for this channel. + * Relates to the GOP structure. The number of B-frames between reference frames. If you do not know what a B-frame is, use the default. * @public */ - Maintenance?: MaintenanceCreateSettings; + GopNumBFrames?: number; /** - * Name of channel. + * Relates to the GOP structure. The GOP size (keyframe interval) in the units specified in gopSizeUnits. If you do not know what GOP is, use the default. + * If gopSizeUnits is frames, then the gopSize must be an integer and must be greater than or equal to 1. + * If gopSizeUnits is seconds, the gopSize must be greater than 0, but does not need to be an integer. * @public */ - Name?: string; + GopSize?: number; /** - * Unique request ID to be specified. This is needed to prevent retries from - * creating multiple resources. + * Relates to the GOP structure. Specifies whether the gopSize is specified in frames or seconds. If you do not plan to change the default gopSize, leave the default. If you specify SECONDS, MediaLive will internally convert the gop size to a frame count. * @public */ - RequestId?: string; + GopSizeUnits?: Mpeg2GopSizeUnits; /** - * @deprecated - * - * Deprecated field that's only usable by whitelisted customers. + * Set the scan type of the output to PROGRESSIVE or INTERLACED (top field first). * @public */ - Reserved?: string; + ScanType?: Mpeg2ScanType; /** - * An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. + * Relates to the GOP structure. If you do not know what GOP is, use the default. + * FIXED: Set the number of B-frames in each sub-GOP to the value in gopNumBFrames. + * DYNAMIC: Let MediaLive optimize the number of B-frames in each sub-GOP, to improve visual quality. * @public */ - RoleArn?: string; + SubgopLength?: Mpeg2SubGopLength; /** - * A collection of key-value pairs. + * Determines how MediaLive inserts timecodes in the output video. For detailed information about setting up the input and the output for a timecode, see the section on \"MediaLive Features - Timecode configuration\" in the MediaLive User Guide. + * DISABLED: do not include timecodes. + * GOP_TIMECODE: Include timecode metadata in the GOP header. * @public */ - Tags?: Record; + TimecodeInsertion?: Mpeg2TimecodeInsertionBehavior; /** - * Settings for the VPC outputs + * Timecode burn-in settings * @public */ - Vpc?: VpcOutputSettings; + TimecodeBurninSettings?: TimecodeBurninSettings; } /** - * Placeholder documentation for CreateChannelResponse + * Video Codec Settings * @public */ -export interface CreateChannelResponse { +export interface VideoCodecSettings { /** - * Placeholder documentation for Channel + * Frame Capture Settings * @public */ - Channel?: Channel; -} + FrameCaptureSettings?: FrameCaptureSettings; -/** - * Placeholder documentation for CreateCloudWatchAlarmTemplateRequest - * @public - */ -export interface CreateCloudWatchAlarmTemplateRequest { /** - * The comparison operator used to compare the specified statistic and the threshold. + * H264 Settings * @public */ - ComparisonOperator: CloudWatchAlarmTemplateComparisonOperator | undefined; + H264Settings?: H264Settings; /** - * The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + * H265 Settings * @public */ - DatapointsToAlarm?: number; + H265Settings?: H265Settings; /** - * A resource's optional description. + * Mpeg2 Settings * @public */ - Description?: string; + Mpeg2Settings?: Mpeg2Settings; /** - * The number of periods over which data is compared to the specified threshold. + * Av1 Settings * @public */ - EvaluationPeriods: number | undefined; + Av1Settings?: Av1Settings; +} + +/** + * @public + * @enum + */ +export const VideoDescriptionRespondToAfd = { + NONE: "NONE", + PASSTHROUGH: "PASSTHROUGH", + RESPOND: "RESPOND", +} as const; + +/** + * @public + */ +export type VideoDescriptionRespondToAfd = + (typeof VideoDescriptionRespondToAfd)[keyof typeof VideoDescriptionRespondToAfd]; + +/** + * @public + * @enum + */ +export const VideoDescriptionScalingBehavior = { + DEFAULT: "DEFAULT", + STRETCH_TO_OUTPUT: "STRETCH_TO_OUTPUT", +} as const; + +/** + * @public + */ +export type VideoDescriptionScalingBehavior = + (typeof VideoDescriptionScalingBehavior)[keyof typeof VideoDescriptionScalingBehavior]; +/** + * Video settings for this stream. + * @public + */ +export interface VideoDescription { /** - * A cloudwatch alarm template group's identifier. Can be either be its id or current name. + * Video codec settings. * @public */ - GroupIdentifier: string | undefined; + CodecSettings?: VideoCodecSettings; /** - * The name of the metric associated with the alarm. Must be compatible with targetResourceType. + * Output video height, in pixels. Must be an even number. For most codecs, you can leave this field and width blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required. * @public */ - MetricName: string | undefined; + Height?: number; /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event. * @public */ Name: string | undefined; /** - * The period, in seconds, over which the specified statistic is applied. + * Indicates how MediaLive will respond to the AFD values that might be in the input video. If you do not know what AFD signaling is, or if your downstream system has not given you guidance, choose PASSTHROUGH. + * RESPOND: MediaLive clips the input video using a formula that uses the AFD values (configured in afdSignaling ), the input display aspect ratio, and the output display aspect ratio. MediaLive also includes the AFD values in the output, unless the codec for this encode is FRAME_CAPTURE. + * PASSTHROUGH: MediaLive ignores the AFD values and does not clip the video. But MediaLive does include the values in the output. + * NONE: MediaLive does not clip the input video and does not include the AFD values in the output * @public */ - Period: number | undefined; + RespondToAfd?: VideoDescriptionRespondToAfd; /** - * The statistic to apply to the alarm's metric data. + * STRETCH_TO_OUTPUT configures the output position to stretch the video to the specified output resolution (height and width). This option will override any position value. DEFAULT may insert black boxes (pillar boxes or letter boxes) around the video to provide the specified output resolution. * @public */ - Statistic: CloudWatchAlarmTemplateStatistic | undefined; + ScalingBehavior?: VideoDescriptionScalingBehavior; /** - * Represents the tags associated with a resource. + * Changes the strength of the anti-alias filter used for scaling. 0 is the softest setting, 100 is the sharpest. A setting of 50 is recommended for most content. * @public */ - Tags?: Record; + Sharpness?: number; /** - * The resource type this template should dynamically generate cloudwatch metric alarms for. + * Output video width, in pixels. Must be an even number. For most codecs, you can leave this field and height blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required. * @public */ - TargetResourceType: CloudWatchAlarmTemplateTargetResourceType | undefined; + Width?: number; +} - /** - * The threshold value to compare with the specified statistic. - * @public - */ - Threshold: number | undefined; +/** + * @public + * @enum + */ +export const AcceptHeader = { + image_jpeg: "image/jpeg", +} as const; + +/** + * @public + */ +export type AcceptHeader = (typeof AcceptHeader)[keyof typeof AcceptHeader]; +/** + * Placeholder documentation for AcceptInputDeviceTransferRequest + * @public + */ +export interface AcceptInputDeviceTransferRequest { /** - * Specifies how missing data points are treated when evaluating the alarm's condition. + * The unique ID of the input device to accept. For example, hd-123456789abcdef. * @public */ - TreatMissingData: CloudWatchAlarmTemplateTreatMissingData | undefined; + InputDeviceId: string | undefined; } /** - * Placeholder documentation for CreateCloudWatchAlarmTemplateResponse + * Placeholder documentation for AcceptInputDeviceTransferResponse * @public */ -export interface CreateCloudWatchAlarmTemplateResponse { - /** - * A cloudwatch alarm template's ARN (Amazon Resource Name) - * @public - */ - Arn?: string; +export interface AcceptInputDeviceTransferResponse {} +/** + * Placeholder documentation for BadGatewayException + * @public + */ +export class BadGatewayException extends __BaseException { + readonly name: "BadGatewayException" = "BadGatewayException"; + readonly $fault: "server" = "server"; /** - * The comparison operator used to compare the specified statistic and the threshold. + * Placeholder documentation for __string * @public */ - ComparisonOperator?: CloudWatchAlarmTemplateComparisonOperator; - + Message?: string; /** - * Placeholder documentation for __timestampIso8601 - * @public + * @internal */ - CreatedAt?: Date; + constructor(opts: __ExceptionOptionType) { + super({ + name: "BadGatewayException", + $fault: "server", + ...opts, + }); + Object.setPrototypeOf(this, BadGatewayException.prototype); + this.Message = opts.Message; + } +} +/** + * Placeholder documentation for BadRequestException + * @public + */ +export class BadRequestException extends __BaseException { + readonly name: "BadRequestException" = "BadRequestException"; + readonly $fault: "client" = "client"; /** - * The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + * Placeholder documentation for __string * @public */ - DatapointsToAlarm?: number; - + Message?: string; /** - * A resource's optional description. - * @public + * @internal */ - Description?: string; + constructor(opts: __ExceptionOptionType) { + super({ + name: "BadRequestException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, BadRequestException.prototype); + this.Message = opts.Message; + } +} +/** + * Placeholder documentation for ConflictException + * @public + */ +export class ConflictException extends __BaseException { + readonly name: "ConflictException" = "ConflictException"; + readonly $fault: "client" = "client"; /** - * The number of periods over which data is compared to the specified threshold. + * Placeholder documentation for __string * @public */ - EvaluationPeriods?: number; - + Message?: string; /** - * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` - * @public + * @internal */ - GroupId?: string; + constructor(opts: __ExceptionOptionType) { + super({ + name: "ConflictException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ConflictException.prototype); + this.Message = opts.Message; + } +} +/** + * Placeholder documentation for ForbiddenException + * @public + */ +export class ForbiddenException extends __BaseException { + readonly name: "ForbiddenException" = "ForbiddenException"; + readonly $fault: "client" = "client"; /** - * A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + * Placeholder documentation for __string * @public */ - Id?: string; - + Message?: string; /** - * The name of the metric associated with the alarm. Must be compatible with targetResourceType. - * @public + * @internal */ - MetricName?: string; + constructor(opts: __ExceptionOptionType) { + super({ + name: "ForbiddenException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ForbiddenException.prototype); + this.Message = opts.Message; + } +} +/** + * Placeholder documentation for GatewayTimeoutException + * @public + */ +export class GatewayTimeoutException extends __BaseException { + readonly name: "GatewayTimeoutException" = "GatewayTimeoutException"; + readonly $fault: "server" = "server"; /** - * Placeholder documentation for __timestampIso8601 + * Placeholder documentation for __string * @public */ - ModifiedAt?: Date; - + Message?: string; /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. - * @public + * @internal */ - Name?: string; + constructor(opts: __ExceptionOptionType) { + super({ + name: "GatewayTimeoutException", + $fault: "server", + ...opts, + }); + Object.setPrototypeOf(this, GatewayTimeoutException.prototype); + this.Message = opts.Message; + } +} +/** + * Placeholder documentation for InternalServerErrorException + * @public + */ +export class InternalServerErrorException extends __BaseException { + readonly name: "InternalServerErrorException" = "InternalServerErrorException"; + readonly $fault: "server" = "server"; /** - * The period, in seconds, over which the specified statistic is applied. + * Placeholder documentation for __string * @public */ - Period?: number; - + Message?: string; /** - * The statistic to apply to the alarm's metric data. - * @public + * @internal */ - Statistic?: CloudWatchAlarmTemplateStatistic; + constructor(opts: __ExceptionOptionType) { + super({ + name: "InternalServerErrorException", + $fault: "server", + ...opts, + }); + Object.setPrototypeOf(this, InternalServerErrorException.prototype); + this.Message = opts.Message; + } +} +/** + * Placeholder documentation for NotFoundException + * @public + */ +export class NotFoundException extends __BaseException { + readonly name: "NotFoundException" = "NotFoundException"; + readonly $fault: "client" = "client"; /** - * Represents the tags associated with a resource. + * Placeholder documentation for __string * @public */ - Tags?: Record; - + Message?: string; /** - * The resource type this template should dynamically generate cloudwatch metric alarms for. - * @public + * @internal */ - TargetResourceType?: CloudWatchAlarmTemplateTargetResourceType; + constructor(opts: __ExceptionOptionType) { + super({ + name: "NotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, NotFoundException.prototype); + this.Message = opts.Message; + } +} +/** + * Placeholder documentation for TooManyRequestsException + * @public + */ +export class TooManyRequestsException extends __BaseException { + readonly name: "TooManyRequestsException" = "TooManyRequestsException"; + readonly $fault: "client" = "client"; /** - * The threshold value to compare with the specified statistic. + * Placeholder documentation for __string * @public */ - Threshold?: number; - + Message?: string; /** - * Specifies how missing data points are treated when evaluating the alarm's condition. - * @public + * @internal */ - TreatMissingData?: CloudWatchAlarmTemplateTreatMissingData; + constructor(opts: __ExceptionOptionType) { + super({ + name: "TooManyRequestsException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, TooManyRequestsException.prototype); + this.Message = opts.Message; + } } /** - * Placeholder documentation for CreateCloudWatchAlarmTemplateGroupRequest + * Placeholder documentation for UnprocessableEntityException * @public */ -export interface CreateCloudWatchAlarmTemplateGroupRequest { +export class UnprocessableEntityException extends __BaseException { + readonly name: "UnprocessableEntityException" = "UnprocessableEntityException"; + readonly $fault: "client" = "client"; /** - * A resource's optional description. + * The error message. * @public */ - Description?: string; + Message?: string; /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * A collection of validation error responses. * @public */ - Name: string | undefined; - + ValidationErrors?: ValidationError[]; /** - * Represents the tags associated with a resource. - * @public + * @internal */ - Tags?: Record; + constructor(opts: __ExceptionOptionType) { + super({ + name: "UnprocessableEntityException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, UnprocessableEntityException.prototype); + this.Message = opts.Message; + this.ValidationErrors = opts.ValidationErrors; + } } /** - * Placeholder documentation for CreateCloudWatchAlarmTemplateGroupResponse + * Placeholder documentation for AccountConfiguration * @public */ -export interface CreateCloudWatchAlarmTemplateGroupResponse { +export interface AccountConfiguration { /** - * A cloudwatch alarm template group's ARN (Amazon Resource Name) + * Specifies the KMS key to use for all features that use key encryption. Specify the ARN of a KMS key that you have created. Or leave blank to use the key that MediaLive creates and manages for you. * @public */ - Arn?: string; + KmsKeyId?: string; +} +/** + * Elemental anywhere settings + * @public + */ +export interface AnywhereSettings { /** - * Placeholder documentation for __timestampIso8601 + * The ID of the channel placement group for the channel. * @public */ - CreatedAt?: Date; + ChannelPlacementGroupId?: string; /** - * A resource's optional description. + * The ID of the cluster for the channel. * @public */ - Description?: string; + ClusterId?: string; +} - /** - * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` - * @public - */ - Id?: string; +/** + * @public + * @enum + */ +export const AvailBlankingState = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; - /** - * Placeholder documentation for __timestampIso8601 - * @public - */ - ModifiedAt?: Date; +/** + * @public + */ +export type AvailBlankingState = (typeof AvailBlankingState)[keyof typeof AvailBlankingState]; +/** + * Avail Blanking + * @public + */ +export interface AvailBlanking { /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported. * @public */ - Name?: string; + AvailBlankingImage?: InputLocation; /** - * Represents the tags associated with a resource. + * When set to enabled, causes video, audio and captions to be blanked when insertion metadata is added. * @public */ - Tags?: Record; + State?: AvailBlankingState; } /** - * Placeholder documentation for CreateEventBridgeRuleTemplateRequest + * Esam * @public */ -export interface CreateEventBridgeRuleTemplateRequest { +export interface Esam { /** - * A resource's optional description. + * Sent as acquisitionPointIdentity to identify the MediaLive channel to the POIS. * @public */ - Description?: string; + AcquisitionPointId: string | undefined; /** - * Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + * 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. * @public */ - EventTargets?: EventBridgeRuleTemplateTarget[]; + AdAvailOffset?: number; /** - * The type of event to match with the rule. + * Documentation update needed * @public */ - EventType: EventBridgeRuleTemplateEventType | undefined; + PasswordParam?: string; /** - * An eventbridge rule template group's identifier. Can be either be its id or current name. + * The URL of the signal conditioner endpoint on the Placement Opportunity Information System (POIS). MediaLive sends SignalProcessingEvents here when SCTE-35 messages are read. * @public */ - GroupIdentifier: string | undefined; + PoisEndpoint: string | undefined; /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * Documentation update needed * @public */ - Name: string | undefined; + Username?: string; /** - * Represents the tags associated with a resource. + * Optional data sent as zoneIdentity to identify the MediaLive channel to the POIS. * @public */ - Tags?: Record; + ZoneIdentity?: string; } /** - * Placeholder documentation for CreateEventBridgeRuleTemplateResponse * @public + * @enum */ -export interface CreateEventBridgeRuleTemplateResponse { - /** - * An eventbridge rule template's ARN (Amazon Resource Name) - * @public - */ - Arn?: string; +export const Scte35SpliceInsertNoRegionalBlackoutBehavior = { + FOLLOW: "FOLLOW", + IGNORE: "IGNORE", +} as const; - /** - * Placeholder documentation for __timestampIso8601 - * @public - */ - CreatedAt?: Date; +/** + * @public + */ +export type Scte35SpliceInsertNoRegionalBlackoutBehavior = + (typeof Scte35SpliceInsertNoRegionalBlackoutBehavior)[keyof typeof Scte35SpliceInsertNoRegionalBlackoutBehavior]; - /** - * A resource's optional description. - * @public - */ - Description?: string; +/** + * @public + * @enum + */ +export const Scte35SpliceInsertWebDeliveryAllowedBehavior = { + FOLLOW: "FOLLOW", + IGNORE: "IGNORE", +} as const; - /** - * Placeholder documentation for __listOfEventBridgeRuleTemplateTarget - * @public - */ - EventTargets?: EventBridgeRuleTemplateTarget[]; +/** + * @public + */ +export type Scte35SpliceInsertWebDeliveryAllowedBehavior = + (typeof Scte35SpliceInsertWebDeliveryAllowedBehavior)[keyof typeof Scte35SpliceInsertWebDeliveryAllowedBehavior]; +/** + * Typical configuration that applies breaks on splice inserts in addition to time signal placement opportunities, breaks, and advertisements. + * @public + */ +export interface Scte35SpliceInsert { /** - * The type of event to match with the rule. + * 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. * @public */ - EventType?: EventBridgeRuleTemplateEventType; + AdAvailOffset?: number; /** - * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates * @public */ - GroupId?: string; + NoRegionalBlackoutFlag?: Scte35SpliceInsertNoRegionalBlackoutBehavior; /** - * An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates * @public */ - Id?: string; + WebDeliveryAllowedFlag?: Scte35SpliceInsertWebDeliveryAllowedBehavior; +} - /** - * Placeholder documentation for __timestampIso8601 - * @public - */ - ModifiedAt?: Date; +/** + * @public + * @enum + */ +export const Scte35AposNoRegionalBlackoutBehavior = { + FOLLOW: "FOLLOW", + IGNORE: "IGNORE", +} as const; - /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. - * @public - */ - Name?: string; +/** + * @public + */ +export type Scte35AposNoRegionalBlackoutBehavior = + (typeof Scte35AposNoRegionalBlackoutBehavior)[keyof typeof Scte35AposNoRegionalBlackoutBehavior]; - /** - * Represents the tags associated with a resource. - * @public - */ - Tags?: Record; -} +/** + * @public + * @enum + */ +export const Scte35AposWebDeliveryAllowedBehavior = { + FOLLOW: "FOLLOW", + IGNORE: "IGNORE", +} as const; + +/** + * @public + */ +export type Scte35AposWebDeliveryAllowedBehavior = + (typeof Scte35AposWebDeliveryAllowedBehavior)[keyof typeof Scte35AposWebDeliveryAllowedBehavior]; /** - * Placeholder documentation for CreateEventBridgeRuleTemplateGroupRequest + * Atypical configuration that applies segment breaks only on SCTE-35 time signal placement opportunities and breaks. * @public */ -export interface CreateEventBridgeRuleTemplateGroupRequest { +export interface Scte35TimeSignalApos { /** - * A resource's optional description. + * 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. * @public */ - Description?: string; + AdAvailOffset?: number; /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates * @public */ - Name: string | undefined; + NoRegionalBlackoutFlag?: Scte35AposNoRegionalBlackoutBehavior; /** - * Represents the tags associated with a resource. + * When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates * @public */ - Tags?: Record; + WebDeliveryAllowedFlag?: Scte35AposWebDeliveryAllowedBehavior; } /** - * Placeholder documentation for CreateEventBridgeRuleTemplateGroupResponse + * Avail Settings * @public */ -export interface CreateEventBridgeRuleTemplateGroupResponse { - /** - * An eventbridge rule template group's ARN (Amazon Resource Name) - * @public - */ - Arn?: string; - - /** - * Placeholder documentation for __timestampIso8601 - * @public - */ - CreatedAt?: Date; - - /** - * A resource's optional description. - * @public - */ - Description?: string; - - /** - * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` - * @public - */ - Id?: string; - +export interface AvailSettings { /** - * Placeholder documentation for __timestampIso8601 + * Esam * @public */ - ModifiedAt?: Date; + Esam?: Esam; /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * Typical configuration that applies breaks on splice inserts in addition to time signal placement opportunities, breaks, and advertisements. * @public */ - Name?: string; + Scte35SpliceInsert?: Scte35SpliceInsert; /** - * Represents the tags associated with a resource. + * Atypical configuration that applies segment breaks only on SCTE-35 time signal placement opportunities and breaks. * @public */ - Tags?: Record; + Scte35TimeSignalApos?: Scte35TimeSignalApos; } /** - * 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 + * @enum */ -export interface SrtSettingsRequest { - /** - * Placeholder documentation for __listOfSrtCallerSourceRequest - * @public - */ - SrtCallerSources?: SrtCallerSourceRequest[]; -} +export const Scte35SegmentationScope = { + ALL_OUTPUT_GROUPS: "ALL_OUTPUT_GROUPS", + SCTE35_ENABLED_OUTPUT_GROUPS: "SCTE35_ENABLED_OUTPUT_GROUPS", +} as const; /** - * 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. - * This property requires setting the roleArn property on Input creation. - * Not compatible with the inputSecurityGroups property. * @public */ -export interface InputVpcRequest { - /** - * A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network interfaces. - * Requires subnetIds. If none are specified then the VPC default security group will be used. - * @public - */ - SecurityGroupIds?: string[]; - - /** - * A list of 2 VPC subnet IDs from the same VPC. - * Subnet IDs must be mapped to two unique availability zones (AZ). - * @public - */ - SubnetIds: string[] | undefined; -} +export type Scte35SegmentationScope = (typeof Scte35SegmentationScope)[keyof typeof Scte35SegmentationScope]; /** - * The name of the input + * Avail Configuration * @public */ -export interface CreateInputRequest { - /** - * Destination settings for PUSH type inputs. - * @public - */ - Destinations?: InputDestinationRequest[]; - +export interface AvailConfiguration { /** - * Settings for the devices. + * Controls how SCTE-35 messages create cues. Splice Insert mode treats all segmentation signals traditionally. With Time Signal APOS mode only Time Signal Placement Opportunity and Break messages create segment breaks. With ESAM mode, signals are forwarded to an ESAM server for possible update. * @public */ - InputDevices?: InputDeviceSettings[]; + AvailSettings?: AvailSettings; /** - * A list of security groups referenced by IDs to attach to the input. + * Configures whether SCTE 35 passthrough triggers segment breaks in all output groups that use segmented outputs. Insertion of a SCTE 35 message typically results in a segment break, in addition to the regular cadence of breaks. The segment breaks appear in video outputs, audio outputs, and captions outputs (if any). + * + * ALL_OUTPUT_GROUPS: Default. Insert the segment break in in all output groups that have segmented outputs. This is the legacy behavior. + * SCTE35_ENABLED_OUTPUT_GROUPS: Insert the segment break only in output groups that have SCTE 35 passthrough enabled. This is the recommended value, because it reduces unnecessary segment breaks. * @public */ - InputSecurityGroups?: string[]; + Scte35SegmentationScope?: Scte35SegmentationScope; +} +/** + * A request to delete resources + * @public + */ +export interface BatchDeleteRequest { /** - * A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one - * Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a - * separate Availability Zone as this ensures your EML input is redundant to AZ issues. + * List of channel IDs * @public */ - MediaConnectFlows?: MediaConnectFlowRequest[]; + ChannelIds?: string[]; /** - * Name of the input. + * List of input IDs * @public */ - Name?: string; + InputIds?: string[]; /** - * Unique identifier of the request to ensure the request is handled - * exactly once in case of retries. + * List of input security group IDs * @public */ - RequestId?: string; + InputSecurityGroupIds?: string[]; /** - * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. + * List of multiplex IDs * @public */ - RoleArn?: string; + MultiplexIds?: string[]; +} +/** + * Placeholder documentation for BatchDeleteResponse + * @public + */ +export interface BatchDeleteResponse { /** - * The source URLs for a PULL-type input. Every PULL type input needs - * exactly two source URLs for redundancy. - * Only specify sources for PULL type Inputs. Leave Destinations empty. + * List of failed operations * @public */ - Sources?: InputSourceRequest[]; + Failed?: BatchFailedResultModel[]; /** - * A collection of key-value pairs. + * List of successful operations * @public */ - Tags?: Record; + Successful?: BatchSuccessfulResultModel[]; +} +/** + * A list of schedule actions to create (in a request) or that have been created (in a response). + * @public + */ +export interface BatchScheduleActionCreateRequest { /** - * The different types of inputs that AWS Elemental MediaLive supports. + * A list of schedule actions to create. * @public */ - Type?: InputType; + ScheduleActions: ScheduleAction[] | undefined; +} +/** + * List of actions that have been created in the schedule. + * @public + */ +export interface BatchScheduleActionCreateResult { /** - * 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. - * This property requires setting the roleArn property on Input creation. - * Not compatible with the inputSecurityGroups property. + * List of actions that have been created in the schedule. * @public */ - Vpc?: InputVpcRequest; + ScheduleActions: ScheduleAction[] | undefined; +} +/** + * A list of schedule actions to delete. + * @public + */ +export interface BatchScheduleActionDeleteRequest { /** - * The settings associated with an SRT input. + * A list of schedule actions to delete. * @public */ - SrtSettings?: SrtSettingsRequest; + ActionNames: string[] | undefined; } /** - * Placeholder documentation for CreateInputResponse + * List of actions that have been deleted from the schedule. * @public */ -export interface CreateInputResponse { +export interface BatchScheduleActionDeleteResult { /** - * Placeholder documentation for Input + * List of actions that have been deleted from the schedule. * @public */ - Input?: Input; + ScheduleActions: ScheduleAction[] | undefined; } /** - * The IPv4 CIDRs to whitelist for this Input Security Group + * A request to start resources * @public */ -export interface CreateInputSecurityGroupRequest { +export interface BatchStartRequest { /** - * A collection of key-value pairs. + * List of channel IDs * @public */ - Tags?: Record; + ChannelIds?: string[]; /** - * List of IPv4 CIDR addresses to whitelist + * List of multiplex IDs * @public */ - WhitelistRules?: InputWhitelistRuleCidr[]; + MultiplexIds?: string[]; } /** - * Placeholder documentation for CreateInputSecurityGroupResponse + * Placeholder documentation for BatchStartResponse * @public */ -export interface CreateInputSecurityGroupResponse { +export interface BatchStartResponse { + /** + * List of failed operations + * @public + */ + Failed?: BatchFailedResultModel[]; + /** - * An Input Security Group + * List of successful operations * @public */ - SecurityGroup?: InputSecurityGroup; + Successful?: BatchSuccessfulResultModel[]; } /** - * Contains configuration for a Multiplex event + * A request to stop resources * @public */ -export interface MultiplexSettings { +export interface BatchStopRequest { /** - * Maximum video buffer delay in milliseconds. + * List of channel IDs * @public */ - MaximumVideoBufferDelayMilliseconds?: number; + ChannelIds?: string[]; /** - * Transport stream bit rate. + * List of multiplex IDs * @public */ - TransportStreamBitrate: number | undefined; + MultiplexIds?: string[]; +} +/** + * Placeholder documentation for BatchStopResponse + * @public + */ +export interface BatchStopResponse { /** - * Transport stream ID. + * List of failed operations * @public */ - TransportStreamId: number | undefined; + Failed?: BatchFailedResultModel[]; /** - * Transport stream reserved bit rate. + * List of successful operations * @public */ - TransportStreamReservedBitrate?: number; + Successful?: BatchSuccessfulResultModel[]; } /** - * A request to create a multiplex. + * List of actions to create and list of actions to delete. * @public */ -export interface CreateMultiplexRequest { +export interface BatchUpdateScheduleRequest { /** - * A list of availability zones for the multiplex. You must specify exactly two. + * Id of the channel whose schedule is being updated. * @public */ - AvailabilityZones: string[] | undefined; + ChannelId: string | undefined; /** - * Configuration for a multiplex event. + * Schedule actions to create in the schedule. * @public */ - MultiplexSettings: MultiplexSettings | undefined; + Creates?: BatchScheduleActionCreateRequest; /** - * Name of multiplex. + * Schedule actions to delete from the schedule. * @public */ - Name: string | undefined; + Deletes?: BatchScheduleActionDeleteRequest; +} +/** + * Placeholder documentation for BatchUpdateScheduleResponse + * @public + */ +export interface BatchUpdateScheduleResponse { /** - * Unique request ID. This prevents retries from creating multiple - * resources. + * Schedule actions created in the schedule. * @public */ - RequestId?: string; + Creates?: BatchScheduleActionCreateResult; /** - * A collection of key-value pairs. + * Schedule actions deleted from the schedule. * @public */ - Tags?: Record; + Deletes?: BatchScheduleActionDeleteResult; } /** - * The multiplex object. + * @public + * @enum + */ +export const BlackoutSlateNetworkEndBlackout = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** * @public */ -export interface Multiplex { - /** - * The unique arn of the multiplex. - * @public - */ - Arn?: string; +export type BlackoutSlateNetworkEndBlackout = + (typeof BlackoutSlateNetworkEndBlackout)[keyof typeof BlackoutSlateNetworkEndBlackout]; - /** - * A list of availability zones for the multiplex. - * @public - */ - AvailabilityZones?: string[]; +/** + * @public + * @enum + */ +export const BlackoutSlateState = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; - /** - * A list of the multiplex output destinations. - * @public - */ - Destinations?: MultiplexOutputDestination[]; +/** + * @public + */ +export type BlackoutSlateState = (typeof BlackoutSlateState)[keyof typeof BlackoutSlateState]; +/** + * Blackout Slate + * @public + */ +export interface BlackoutSlate { /** - * The unique id of the multiplex. + * Blackout slate image to be used. Leave empty for solid black. Only bmp and png images are supported. * @public */ - Id?: string; + BlackoutSlateImage?: InputLocation; /** - * Configuration for a multiplex event. + * Setting to enabled causes the encoder to blackout the video, audio, and captions, and raise the "Network Blackout Image" slate when an SCTE104/35 Network End Segmentation Descriptor is encountered. The blackout will be lifted when the Network Start Segmentation Descriptor is encountered. The Network End and Network Start descriptors must contain a network ID that matches the value entered in "Network ID". * @public */ - MultiplexSettings?: MultiplexSettings; + NetworkEndBlackout?: BlackoutSlateNetworkEndBlackout; /** - * The name of the multiplex. + * Path to local file to use as Network End Blackout image. Image will be scaled to fill the entire output raster. * @public */ - Name?: string; + NetworkEndBlackoutImage?: InputLocation; /** - * The number of currently healthy pipelines. + * Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). * @public */ - PipelinesRunningCount?: number; + NetworkId?: string; /** - * The number of programs in the multiplex. + * When set to enabled, causes video, audio and captions to be blanked when indicated by program metadata. * @public */ - ProgramCount?: number; + State?: BlackoutSlateState; +} +/** + * Placeholder documentation for CancelInputDeviceTransferRequest + * @public + */ +export interface CancelInputDeviceTransferRequest { /** - * The current state of the multiplex. + * The unique ID of the input device to cancel. For example, hd-123456789abcdef. * @public */ - State?: MultiplexState; + InputDeviceId: string | undefined; +} + +/** + * Placeholder documentation for CancelInputDeviceTransferResponse + * @public + */ +export interface CancelInputDeviceTransferResponse {} +/** + * Property of encoderSettings. Controls color conversion when you are using 3D LUT files to perform color conversion on video. + * @public + */ +export interface ColorCorrectionSettings { /** - * A collection of key-value pairs. + * An array of colorCorrections that applies when you are using 3D LUT files to perform color conversion on video. Each colorCorrection contains one 3D LUT file (that defines the color mapping for converting an input color space to an output color space), and the input/output combination that this 3D LUT file applies to. MediaLive reads the color space in the input metadata, determines the color space that you have specified for the output, and finds and uses the LUT file that applies to this combination. * @public */ - Tags?: Record; + GlobalColorCorrections: ColorCorrection[] | undefined; } /** - * Placeholder documentation for CreateMultiplexResponse * @public + * @enum */ -export interface CreateMultiplexResponse { - /** - * The newly created multiplex. - * @public - */ - Multiplex?: Multiplex; -} +export const FeatureActivationsInputPrepareScheduleActions = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** + * @public + */ +export type FeatureActivationsInputPrepareScheduleActions = + (typeof FeatureActivationsInputPrepareScheduleActions)[keyof typeof FeatureActivationsInputPrepareScheduleActions]; /** * @public * @enum */ -export const PreferredChannelPipeline = { - CURRENTLY_ACTIVE: "CURRENTLY_ACTIVE", - PIPELINE_0: "PIPELINE_0", - PIPELINE_1: "PIPELINE_1", +export const FeatureActivationsOutputStaticImageOverlayScheduleActions = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", } as const; /** * @public */ -export type PreferredChannelPipeline = (typeof PreferredChannelPipeline)[keyof typeof PreferredChannelPipeline]; +export type FeatureActivationsOutputStaticImageOverlayScheduleActions = + (typeof FeatureActivationsOutputStaticImageOverlayScheduleActions)[keyof typeof FeatureActivationsOutputStaticImageOverlayScheduleActions]; /** - * Transport stream service descriptor configuration for the Multiplex program. + * Feature Activations * @public */ -export interface MultiplexProgramServiceDescriptor { +export interface FeatureActivations { /** - * Name of the provider. + * Enables the Input Prepare feature. You can create Input Prepare actions in the schedule only if this feature is enabled. + * If you disable the feature on an existing schedule, make sure that you first delete all input prepare actions from the schedule. * @public */ - ProviderName: string | undefined; + InputPrepareScheduleActions?: FeatureActivationsInputPrepareScheduleActions; /** - * Name of the service. + * Enables the output static image overlay feature. Enabling this feature allows you to send channel schedule updates + * to display/clear/modify image overlays on an output-by-output bases. * @public */ - ServiceName: string | undefined; + OutputStaticImageOverlayScheduleActions?: FeatureActivationsOutputStaticImageOverlayScheduleActions; } /** - * Statmux rate control settings * @public + * @enum */ -export interface MultiplexStatmuxVideoSettings { - /** - * Maximum statmux bitrate. - * @public - */ - MaximumBitrate?: number; +export const GlobalConfigurationInputEndAction = { + NONE: "NONE", + SWITCH_AND_LOOP_INPUTS: "SWITCH_AND_LOOP_INPUTS", +} as const; - /** - * Minimum statmux bitrate. - * @public - */ - MinimumBitrate?: number; +/** + * @public + */ +export type GlobalConfigurationInputEndAction = + (typeof GlobalConfigurationInputEndAction)[keyof typeof GlobalConfigurationInputEndAction]; - /** - * The purpose of the priority is to use a combination of the\nmultiplex rate control algorithm and the QVBR capability of the\nencoder to prioritize the video quality of some channels in a\nmultiplex over others. Channels that have a higher priority will\nget higher video quality at the expense of the video quality of\nother channels in the multiplex with lower priority. - * @public - */ - Priority?: number; -} +/** + * @public + * @enum + */ +export const InputLossImageType = { + COLOR: "COLOR", + SLATE: "SLATE", +} as const; /** - * The video configuration for each program in a multiplex. * @public */ -export interface MultiplexVideoSettings { - /** - * The constant bitrate configuration for the video encode. - * When this field is defined, StatmuxSettings must be undefined. - * @public - */ - ConstantBitrate?: number; +export type InputLossImageType = (typeof InputLossImageType)[keyof typeof InputLossImageType]; +/** + * Input Loss Behavior + * @public + */ +export interface InputLossBehavior { /** - * Statmux rate control settings. - * When this field is defined, ConstantBitrate must be undefined. + * Documentation update needed * @public */ - StatmuxSettings?: MultiplexStatmuxVideoSettings; -} + BlackFrameMsec?: number; -/** - * Multiplex Program settings configuration. - * @public - */ -export interface MultiplexProgramSettings { /** - * Indicates which pipeline is preferred by the multiplex for program ingest. + * When input loss image type is "color" this field specifies the color to use. Value: 6 hex characters representing the values of RGB. * @public */ - PreferredChannelPipeline?: PreferredChannelPipeline; + InputLossImageColor?: string; /** - * Unique program number. + * When input loss image type is "slate" these fields specify the parameters for accessing the slate. * @public */ - ProgramNumber: number | undefined; + InputLossImageSlate?: InputLocation; /** - * Transport stream service descriptor configuration for the Multiplex program. + * Indicates whether to substitute a solid color or a slate into the output after input loss exceeds blackFrameMsec. * @public */ - ServiceDescriptor?: MultiplexProgramServiceDescriptor; + InputLossImageType?: InputLossImageType; /** - * Program video settings configuration. + * Documentation update needed * @public */ - VideoSettings?: MultiplexVideoSettings; + RepeatFrameMsec?: number; } /** - * A request to create a program in a multiplex. * @public + * @enum */ -export interface CreateMultiplexProgramRequest { - /** - * ID of the multiplex where the program is to be created. - * @public - */ - MultiplexId: string | undefined; +export const GlobalConfigurationOutputLockingMode = { + EPOCH_LOCKING: "EPOCH_LOCKING", + PIPELINE_LOCKING: "PIPELINE_LOCKING", +} as const; - /** - * The settings for this multiplex program. - * @public - */ - MultiplexProgramSettings: MultiplexProgramSettings | undefined; +/** + * @public + */ +export type GlobalConfigurationOutputLockingMode = + (typeof GlobalConfigurationOutputLockingMode)[keyof typeof GlobalConfigurationOutputLockingMode]; +/** + * Epoch Locking Settings + * @public + */ +export interface EpochLockingSettings { /** - * Name of multiplex program. + * Optional. Enter a value here to use a custom epoch, instead of the standard epoch (which started at 1970-01-01T00:00:00 UTC). Specify the start time of the custom epoch, in YYYY-MM-DDTHH:MM:SS in UTC. The time must be 2000-01-01T00:00:00 or later. Always set the MM:SS portion to 00:00. * @public */ - ProgramName: string | undefined; + CustomEpoch?: string; /** - * Unique request ID. This prevents retries from creating multiple - * resources. + * Optional. Enter a time for the jam sync. The default is midnight UTC. When epoch locking is enabled, MediaLive performs a daily jam sync on every output encode to ensure timecodes don’t diverge from the wall clock. The jam sync applies only to encodes with frame rate of 29.97 or 59.94 FPS. To override, enter a time in HH:MM:SS in UTC. Always set the MM:SS portion to 00:00. * @public */ - RequestId?: string; + JamSyncTime?: string; } /** - * Packet identifiers map for a given Multiplex program. + * Pipeline Locking Settings * @public */ -export interface MultiplexProgramPacketIdentifiersMap { - /** - * Placeholder documentation for __listOf__integer - * @public - */ - AudioPids?: number[]; - - /** - * Placeholder documentation for __listOf__integer - * @public - */ - DvbSubPids?: number[]; - - /** - * Placeholder documentation for __integer - * @public - */ - DvbTeletextPid?: number; - - /** - * Placeholder documentation for __integer - * @public - */ - EtvPlatformPid?: number; +export interface PipelineLockingSettings {} +/** + * Output Locking Settings + * @public + */ +export interface OutputLockingSettings { /** - * Placeholder documentation for __integer + * Epoch Locking Settings * @public */ - EtvSignalPid?: number; + EpochLockingSettings?: EpochLockingSettings; /** - * Placeholder documentation for __listOf__integer + * Pipeline Locking Settings * @public */ - KlvDataPids?: number[]; + PipelineLockingSettings?: PipelineLockingSettings; +} - /** - * Placeholder documentation for __integer - * @public - */ - PcrPid?: number; +/** + * @public + * @enum + */ +export const GlobalConfigurationOutputTimingSource = { + INPUT_CLOCK: "INPUT_CLOCK", + SYSTEM_CLOCK: "SYSTEM_CLOCK", +} as const; - /** - * Placeholder documentation for __integer - * @public - */ - PmtPid?: number; +/** + * @public + */ +export type GlobalConfigurationOutputTimingSource = + (typeof GlobalConfigurationOutputTimingSource)[keyof typeof GlobalConfigurationOutputTimingSource]; - /** - * Placeholder documentation for __integer - * @public - */ - PrivateMetadataPid?: number; +/** + * @public + * @enum + */ +export const GlobalConfigurationLowFramerateInputs = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; - /** - * Placeholder documentation for __listOf__integer - * @public - */ - Scte27Pids?: number[]; +/** + * @public + */ +export type GlobalConfigurationLowFramerateInputs = + (typeof GlobalConfigurationLowFramerateInputs)[keyof typeof GlobalConfigurationLowFramerateInputs]; +/** + * Global Configuration + * @public + */ +export interface GlobalConfiguration { /** - * Placeholder documentation for __integer + * Value to set the initial audio gain for the Live Event. * @public */ - Scte35Pid?: number; + InitialAudioGain?: number; /** - * Placeholder documentation for __integer + * Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is configured the encoder will restart at the beginning of the first input. When "none" is configured the encoder will transcode either black, a solid color, or a user specified slate images per the "Input Loss Behavior" configuration until the next input switch occurs (which is controlled through the Channel Schedule API). * @public */ - TimedMetadataPid?: number; + InputEndAction?: GlobalConfigurationInputEndAction; /** - * Placeholder documentation for __integer + * Settings for system actions when input is lost. * @public */ - VideoPid?: number; + InputLossBehavior?: InputLossBehavior; /** - * Placeholder documentation for __integer + * Indicates how MediaLive pipelines are synchronized. + * + * PIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other. + * EPOCH_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch. * @public */ - AribCaptionsPid?: number; + OutputLockingMode?: GlobalConfigurationOutputLockingMode; /** - * Placeholder documentation for __listOf__integer + * Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which optionally may be locked to another source via NTP) or should be locked to the clock of the source that is providing the input stream. * @public */ - DvbTeletextPids?: number[]; + OutputTimingSource?: GlobalConfigurationOutputTimingSource; /** - * Placeholder documentation for __integer + * Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music channels with less than one video frame per second. * @public */ - EcmPid?: number; + SupportLowFramerateInputs?: GlobalConfigurationLowFramerateInputs; /** - * Placeholder documentation for __integer + * Advanced output locking settings * @public */ - Smpte2038Pid?: number; + OutputLockingSettings?: OutputLockingSettings; } /** - * The multiplex program object. * @public + * @enum */ -export interface MultiplexProgram { - /** - * The MediaLive channel associated with the program. - * @public - */ - ChannelId?: string; - - /** - * The settings for this multiplex program. - * @public - */ - MultiplexProgramSettings?: MultiplexProgramSettings; - - /** - * The packet identifier map for this multiplex program. - * @public - */ - PacketIdentifiersMap?: MultiplexProgramPacketIdentifiersMap; +export const MotionGraphicsInsertion = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; - /** - * Contains information about the current sources for the specified program in the specified multiplex. Keep in mind that each multiplex pipeline connects to both pipelines in a given source channel (the channel identified by the program). But only one of those channel pipelines is ever active at one time. - * @public - */ - PipelineDetails?: MultiplexProgramPipelineDetail[]; +/** + * @public + */ +export type MotionGraphicsInsertion = (typeof MotionGraphicsInsertion)[keyof typeof MotionGraphicsInsertion]; - /** - * The name of the multiplex program. - * @public - */ - ProgramName?: string; -} +/** + * Html Motion Graphics Settings + * @public + */ +export interface HtmlMotionGraphicsSettings {} /** - * Placeholder documentation for CreateMultiplexProgramResponse + * Motion Graphics Settings * @public */ -export interface CreateMultiplexProgramResponse { +export interface MotionGraphicsSettings { /** - * The newly created multiplex program. + * Html Motion Graphics Settings * @public */ - MultiplexProgram?: MultiplexProgram; + HtmlMotionGraphicsSettings?: HtmlMotionGraphicsSettings; } /** - * A request to create a partner input + * Motion Graphics Configuration * @public */ -export interface CreatePartnerInputRequest { - /** - * Unique ID of the input. - * @public - */ - InputId: string | undefined; - - /** - * Unique identifier of the request to ensure the request is handled - * exactly once in case of retries. - * @public - */ - RequestId?: string; - +export interface MotionGraphicsConfiguration { /** - * A collection of key-value pairs. + * Motion Graphics Insertion * @public */ - Tags?: Record; -} + MotionGraphicsInsertion?: MotionGraphicsInsertion; -/** - * Placeholder documentation for CreatePartnerInputResponse - * @public - */ -export interface CreatePartnerInputResponse { /** - * Placeholder documentation for Input + * Motion Graphics Settings * @public */ - Input?: Input; + MotionGraphicsSettings: MotionGraphicsSettings | undefined; } diff --git a/clients/client-medialive/src/models/models_2.ts b/clients/client-medialive/src/models/models_2.ts index f86cbd686ebe..d0f347cf30de 100644 --- a/clients/client-medialive/src/models/models_2.ts +++ b/clients/client-medialive/src/models/models_2.ts @@ -2,10 +2,13 @@ import { StreamingBlobTypes } from "@smithy/types"; import { + AudioDescription, + CaptionDescription, CdiInputSpecification, ChannelClass, ChannelEgressEndpoint, ChannelPipelineIdToRestart, + ChannelPlacementGroupState, ChannelState, ChannelSummary, CloudWatchAlarmTemplateComparisonOperator, @@ -14,6 +17,14 @@ import { CloudWatchAlarmTemplateSummary, CloudWatchAlarmTemplateTargetResourceType, CloudWatchAlarmTemplateTreatMissingData, + ClusterNetworkSettings, + ClusterState, + ClusterType, + DescribeAnywhereSettings, + DescribeChannelPlacementGroupSummary, + DescribeClusterSummary, + DescribeNetworkSummary, + DescribeNodeSummary, DeviceSettingsSyncState, DeviceUpdateStatus, EventBridgeRuleTemplateEventType, @@ -37,6 +48,7 @@ import { InputDeviceSummary, InputDeviceType, InputDeviceUhdSettings, + InputNetworkLocation, InputSecurityGroup, InputSecurityGroupState, InputSource, @@ -47,22 +59,37 @@ import { InputType, InputWhitelistRule, InputWhitelistRuleCidr, + InterfaceMappingCreateRequest, + InterfaceMappingUpdateRequest, + IpPool, + IpPoolCreateRequest, + IpPoolUpdateRequest, LogLevel, MaintenanceDay, MaintenanceStatus, MediaConnectFlow, MediaConnectFlowRequest, MediaResourceNeighbor, + MulticastSettings, + MulticastSourceCreateRequest, + MulticastSourceUpdateRequest, MultiplexOutputDestination, MultiplexProgramPipelineDetail, MultiplexProgramSummary, MultiplexState, MultiplexSummary, + NetworkState, + NodeConnectionState, + NodeInterfaceMapping, + NodeInterfaceMappingCreateRequest, + NodeRole, + NodeState, Offering, OfferingDurationUnits, OfferingType, OutputDestination, ReservationResourceSpecification, + Route, SrtSettings, VpcOutputSettingsDescription, } from "./models_0"; @@ -70,27 +97,2096 @@ import { import { AcceptHeader, AccountConfiguration, - Channel, - ContentType, - EncoderSettings, - Multiplex, - MultiplexProgram, - MultiplexProgramPacketIdentifiersMap, - MultiplexProgramSettings, - MultiplexSettings, + AnywhereSettings, + AvailBlanking, + AvailConfiguration, + BlackoutSlate, + ColorCorrectionSettings, + FeatureActivations, + GlobalConfiguration, + MotionGraphicsConfiguration, + OutputGroup, PipelineDetail, RenewalSettings, Reservation, ReservationState, + RouteCreateRequest, + RouteUpdateRequest, ScheduleAction, SignalMapMonitorDeploymentStatus, SignalMapStatus, SignalMapSummary, - SrtSettingsRequest, + SrtCallerSourceRequest, ThumbnailDetail, TransferringInputDeviceSummary, + VideoDescription, } from "./models_1"; +/** + * @public + * @enum + */ +export const NielsenPcmToId3TaggingState = { + DISABLED: "DISABLED", + ENABLED: "ENABLED", +} as const; + +/** + * @public + */ +export type NielsenPcmToId3TaggingState = + (typeof NielsenPcmToId3TaggingState)[keyof typeof NielsenPcmToId3TaggingState]; + +/** + * Nielsen Configuration + * @public + */ +export interface NielsenConfiguration { + /** + * Enter the Distributor ID assigned to your organization by Nielsen. + * @public + */ + DistributorId?: string; + + /** + * Enables Nielsen PCM to ID3 tagging + * @public + */ + NielsenPcmToId3Tagging?: NielsenPcmToId3TaggingState; +} + +/** + * @public + * @enum + */ +export const ThumbnailState = { + AUTO: "AUTO", + DISABLED: "DISABLED", +} as const; + +/** + * @public + */ +export type ThumbnailState = (typeof ThumbnailState)[keyof typeof ThumbnailState]; + +/** + * Thumbnail Configuration + * @public + */ +export interface ThumbnailConfiguration { + /** + * Enables the thumbnail feature. The feature generates thumbnails of the incoming video in each pipeline in the channel. AUTO turns the feature on, DISABLE turns the feature off. + * @public + */ + State: ThumbnailState | undefined; +} + +/** + * @public + * @enum + */ +export const TimecodeConfigSource = { + EMBEDDED: "EMBEDDED", + SYSTEMCLOCK: "SYSTEMCLOCK", + ZEROBASED: "ZEROBASED", +} as const; + +/** + * @public + */ +export type TimecodeConfigSource = (typeof TimecodeConfigSource)[keyof typeof TimecodeConfigSource]; + +/** + * Timecode Config + * @public + */ +export interface TimecodeConfig { + /** + * Identifies the source for the timecode that will be associated with the events outputs. + * -Embedded (embedded): Initialize the output timecode with timecode from the the source. If no embedded timecode is detected in the source, the 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. + * @public + */ + Source: TimecodeConfigSource | undefined; + + /** + * 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. + * @public + */ + SyncThreshold?: number; +} + +/** + * Encoder Settings + * @public + */ +export interface EncoderSettings { + /** + * Placeholder documentation for __listOfAudioDescription + * @public + */ + AudioDescriptions: AudioDescription[] | undefined; + + /** + * Settings for ad avail blanking. + * @public + */ + AvailBlanking?: AvailBlanking; + + /** + * Event-wide configuration settings for ad avail insertion. + * @public + */ + AvailConfiguration?: AvailConfiguration; + + /** + * Settings for blackout slate. + * @public + */ + BlackoutSlate?: BlackoutSlate; + + /** + * Settings for caption decriptions + * @public + */ + CaptionDescriptions?: CaptionDescription[]; + + /** + * Feature Activations + * @public + */ + FeatureActivations?: FeatureActivations; + + /** + * Configuration settings that apply to the event as a whole. + * @public + */ + GlobalConfiguration?: GlobalConfiguration; + + /** + * Settings for motion graphics. + * @public + */ + MotionGraphicsConfiguration?: MotionGraphicsConfiguration; + + /** + * Nielsen configuration settings. + * @public + */ + NielsenConfiguration?: NielsenConfiguration; + + /** + * Placeholder documentation for __listOfOutputGroup + * @public + */ + OutputGroups: OutputGroup[] | undefined; + + /** + * Contains settings used to acquire and adjust timecode information from inputs. + * @public + */ + TimecodeConfig: TimecodeConfig | undefined; + + /** + * Placeholder documentation for __listOfVideoDescription + * @public + */ + VideoDescriptions: VideoDescription[] | undefined; + + /** + * Thumbnail configuration settings. + * @public + */ + ThumbnailConfiguration?: ThumbnailConfiguration; + + /** + * Color Correction Settings + * @public + */ + ColorCorrectionSettings?: ColorCorrectionSettings; +} + +/** + * Placeholder documentation for Channel + * @public + */ +export interface Channel { + /** + * The unique arn of the channel. + * @public + */ + Arn?: string; + + /** + * Specification of CDI inputs for this channel + * @public + */ + CdiInputSpecification?: CdiInputSpecification; + + /** + * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. + * @public + */ + ChannelClass?: ChannelClass; + + /** + * A list of destinations of the channel. For UDP outputs, there is one + * destination per output. For other types (HLS, for example), there is + * one destination per packager. + * @public + */ + Destinations?: OutputDestination[]; + + /** + * The endpoints where outgoing connections initiate from + * @public + */ + EgressEndpoints?: ChannelEgressEndpoint[]; + + /** + * Encoder Settings + * @public + */ + EncoderSettings?: EncoderSettings; + + /** + * The unique id of the channel. + * @public + */ + Id?: string; + + /** + * List of input attachments for channel. + * @public + */ + InputAttachments?: InputAttachment[]; + + /** + * Specification of network and file inputs for this channel + * @public + */ + InputSpecification?: InputSpecification; + + /** + * The log level being written to CloudWatch Logs. + * @public + */ + LogLevel?: LogLevel; + + /** + * Maintenance settings for this channel. + * @public + */ + Maintenance?: MaintenanceStatus; + + /** + * The name of the channel. (user-mutable) + * @public + */ + Name?: string; + + /** + * Runtime details for the pipelines of a running channel. + * @public + */ + PipelineDetails?: PipelineDetail[]; + + /** + * The number of currently healthy pipelines. + * @public + */ + PipelinesRunningCount?: number; + + /** + * The Amazon Resource Name (ARN) of the role assumed when running the Channel. + * @public + */ + RoleArn?: string; + + /** + * Placeholder documentation for ChannelState + * @public + */ + State?: ChannelState; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; + + /** + * Settings for VPC output + * @public + */ + Vpc?: VpcOutputSettingsDescription; + + /** + * Anywhere settings for this channel. + * @public + */ + AnywhereSettings?: DescribeAnywhereSettings; +} + +/** + * A request to claim an AWS Elemental device that you have purchased from a third-party vendor. + * @public + */ +export interface ClaimDeviceRequest { + /** + * The id of the device you want to claim. + * @public + */ + Id?: string; +} + +/** + * Placeholder documentation for ClaimDeviceResponse + * @public + */ +export interface ClaimDeviceResponse {} + +/** + * Used in a CreateClusterRequest. + * @public + */ +export interface ClusterNetworkSettingsCreateRequest { + /** + * Specify one network interface as the default route for traffic to and from the Node. MediaLive Anywhere uses this default when the destination for the traffic isn't covered by the route table for any of the networks. Specify the value of the appropriate logicalInterfaceName parameter that you create in the interfaceMappings. + * @public + */ + DefaultRoute?: string; + + /** + * An array of interfaceMapping objects for this Cluster. You must create a mapping for node interfaces that you plan to use for encoding traffic. You typically don't create a mapping for the management interface. You define this mapping in the Cluster so that the mapping can be used by all the Nodes. Each mapping logically connects one interface on the nodes with one Network. Each mapping consists of a pair of parameters. The logicalInterfaceName parameter creates a logical name for the Node interface that handles a specific type of traffic. For example, my-Inputs-Interface. The networkID parameter refers to the ID of the network. When you create the Nodes in this Cluster, you will associate the logicalInterfaceName with the appropriate physical interface. + * @public + */ + InterfaceMappings?: InterfaceMappingCreateRequest[]; +} + +/** + * Placeholder documentation for ClusterNetworkSettingsUpdateRequest + * @public + */ +export interface ClusterNetworkSettingsUpdateRequest { + /** + * Include this parameter only if you want to change the default route for the Cluster. Specify one network interface as the default route for traffic to and from the node. MediaLive Anywhere uses this default when the destination for the traffic isn't covered by the route table for any of the networks. Specify the value of the appropriate logicalInterfaceName parameter that you create in the interfaceMappings. + * @public + */ + DefaultRoute?: string; + + /** + * An array of interfaceMapping objects for this Cluster. Include this parameter only if you want to change the interface mappings for the Cluster. Typically, you change the interface mappings only to fix an error you made when creating the mapping. In an update request, make sure that you enter the entire set of mappings again, not just the mappings that you want to add or change. You define this mapping so that the mapping can be used by all the Nodes. Each mapping logically connects one interface on the nodes with one Network. Each mapping consists of a pair of parameters. The logicalInterfaceName parameter creates a logical name for the Node interface that handles a specific type of traffic. For example, my-Inputs-Interface. The networkID parameter refers to the ID of the network. When you create the Nodes in this Cluster, you will associate the logicalInterfaceName with the appropriate physical interface. + * @public + */ + InterfaceMappings?: InterfaceMappingUpdateRequest[]; +} + +/** + * @public + * @enum + */ +export const ContentType = { + image_jpeg: "image/jpeg", +} as const; + +/** + * @public + */ +export type ContentType = (typeof ContentType)[keyof typeof ContentType]; + +/** + * Placeholder documentation for MaintenanceCreateSettings + * @public + */ +export interface MaintenanceCreateSettings { + /** + * Choose one day of the week for maintenance. The chosen day is used for all future maintenance windows. + * @public + */ + MaintenanceDay?: MaintenanceDay; + + /** + * Choose the hour that maintenance will start. The chosen time is used for all future maintenance windows. + * @public + */ + MaintenanceStartTime?: string; +} + +/** + * The properties for a private VPC Output + * When this property is specified, the output egress addresses will be created in a user specified VPC + * @public + */ +export interface VpcOutputSettings { + /** + * List of public address allocation ids to associate with ENIs that will be created in Output VPC. + * Must specify one for SINGLE_PIPELINE, two for STANDARD channels + * @public + */ + PublicAddressAllocationIds?: string[]; + + /** + * A list of up to 5 EC2 VPC security group IDs to attach to the Output VPC network interfaces. + * If none are specified then the VPC default security group will be used + * @public + */ + SecurityGroupIds?: string[]; + + /** + * A list of VPC subnet IDs from the same VPC. + * If STANDARD channel, subnet IDs must be mapped to two unique availability zones (AZ). + * @public + */ + SubnetIds: string[] | undefined; +} + +/** + * A request to create a channel + * @public + */ +export interface CreateChannelRequest { + /** + * Specification of CDI inputs for this channel + * @public + */ + CdiInputSpecification?: CdiInputSpecification; + + /** + * The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline. + * @public + */ + ChannelClass?: ChannelClass; + + /** + * Placeholder documentation for __listOfOutputDestination + * @public + */ + Destinations?: OutputDestination[]; + + /** + * Encoder Settings + * @public + */ + EncoderSettings?: EncoderSettings; + + /** + * List of input attachments for channel. + * @public + */ + InputAttachments?: InputAttachment[]; + + /** + * Specification of network and file inputs for this channel + * @public + */ + InputSpecification?: InputSpecification; + + /** + * The log level to write to CloudWatch Logs. + * @public + */ + LogLevel?: LogLevel; + + /** + * Maintenance settings for this channel. + * @public + */ + Maintenance?: MaintenanceCreateSettings; + + /** + * Name of channel. + * @public + */ + Name?: string; + + /** + * Unique request ID to be specified. This is needed to prevent retries from + * creating multiple resources. + * @public + */ + RequestId?: string; + + /** + * @deprecated + * + * Deprecated field that's only usable by whitelisted customers. + * @public + */ + Reserved?: string; + + /** + * An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. + * @public + */ + RoleArn?: string; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; + + /** + * Settings for the VPC outputs + * @public + */ + Vpc?: VpcOutputSettings; + + /** + * The Elemental Anywhere settings for this channel. + * @public + */ + AnywhereSettings?: AnywhereSettings; +} + +/** + * Placeholder documentation for CreateChannelResponse + * @public + */ +export interface CreateChannelResponse { + /** + * Placeholder documentation for Channel + * @public + */ + Channel?: Channel; +} + +/** + * A request to create a channel placement group. + * @public + */ +export interface CreateChannelPlacementGroupRequest { + /** + * The ID of the cluster. + * @public + */ + ClusterId: string | undefined; + + /** + * Specify a name that is unique in the Cluster. You can't change the name. Names are case-sensitive. + * @public + */ + Name?: string; + + /** + * An array of one ID for the Node that you want to associate with the ChannelPlacementGroup. (You can't associate more than one Node with the ChannelPlacementGroup.) The Node and the ChannelPlacementGroup must be in the same Cluster. + * @public + */ + Nodes?: string[]; + + /** + * An ID that you assign to a create request. This ID ensures idempotency when creating resources. the request. + * @public + */ + RequestId?: string; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; +} + +/** + * Placeholder documentation for CreateChannelPlacementGroupResponse + * @public + */ +export interface CreateChannelPlacementGroupResponse { + /** + * The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created. + * @public + */ + Arn?: string; + + /** + * Used in ListChannelPlacementGroupsResult + * @public + */ + Channels?: string[]; + + /** + * The ID of the Cluster that the Node belongs to. + * @public + */ + ClusterId?: string; + + /** + * The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The name that you specified for the ChannelPlacementGroup. + * @public + */ + Name?: string; + + /** + * An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup. + * @public + */ + Nodes?: string[]; + + /** + * The current state of the ChannelPlacementGroup. + * @public + */ + State?: ChannelPlacementGroupState; +} + +/** + * Placeholder documentation for CreateCloudWatchAlarmTemplateRequest + * @public + */ +export interface CreateCloudWatchAlarmTemplateRequest { + /** + * The comparison operator used to compare the specified statistic and the threshold. + * @public + */ + ComparisonOperator: CloudWatchAlarmTemplateComparisonOperator | undefined; + + /** + * The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + * @public + */ + DatapointsToAlarm?: number; + + /** + * A resource's optional description. + * @public + */ + Description?: string; + + /** + * The number of periods over which data is compared to the specified threshold. + * @public + */ + EvaluationPeriods: number | undefined; + + /** + * A cloudwatch alarm template group's identifier. Can be either be its id or current name. + * @public + */ + GroupIdentifier: string | undefined; + + /** + * The name of the metric associated with the alarm. Must be compatible with targetResourceType. + * @public + */ + MetricName: string | undefined; + + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * @public + */ + Name: string | undefined; + + /** + * The period, in seconds, over which the specified statistic is applied. + * @public + */ + Period: number | undefined; + + /** + * The statistic to apply to the alarm's metric data. + * @public + */ + Statistic: CloudWatchAlarmTemplateStatistic | undefined; + + /** + * Represents the tags associated with a resource. + * @public + */ + Tags?: Record; + + /** + * The resource type this template should dynamically generate cloudwatch metric alarms for. + * @public + */ + TargetResourceType: CloudWatchAlarmTemplateTargetResourceType | undefined; + + /** + * The threshold value to compare with the specified statistic. + * @public + */ + Threshold: number | undefined; + + /** + * Specifies how missing data points are treated when evaluating the alarm's condition. + * @public + */ + TreatMissingData: CloudWatchAlarmTemplateTreatMissingData | undefined; +} + +/** + * Placeholder documentation for CreateCloudWatchAlarmTemplateResponse + * @public + */ +export interface CreateCloudWatchAlarmTemplateResponse { + /** + * A cloudwatch alarm template's ARN (Amazon Resource Name) + * @public + */ + Arn?: string; + + /** + * The comparison operator used to compare the specified statistic and the threshold. + * @public + */ + ComparisonOperator?: CloudWatchAlarmTemplateComparisonOperator; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + CreatedAt?: Date; + + /** + * The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + * @public + */ + DatapointsToAlarm?: number; + + /** + * A resource's optional description. + * @public + */ + Description?: string; + + /** + * The number of periods over which data is compared to the specified threshold. + * @public + */ + EvaluationPeriods?: number; + + /** + * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + * @public + */ + GroupId?: string; + + /** + * A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + * @public + */ + Id?: string; + + /** + * The name of the metric associated with the alarm. Must be compatible with targetResourceType. + * @public + */ + MetricName?: string; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + ModifiedAt?: Date; + + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * @public + */ + Name?: string; + + /** + * The period, in seconds, over which the specified statistic is applied. + * @public + */ + Period?: number; + + /** + * The statistic to apply to the alarm's metric data. + * @public + */ + Statistic?: CloudWatchAlarmTemplateStatistic; + + /** + * Represents the tags associated with a resource. + * @public + */ + Tags?: Record; + + /** + * The resource type this template should dynamically generate cloudwatch metric alarms for. + * @public + */ + TargetResourceType?: CloudWatchAlarmTemplateTargetResourceType; + + /** + * The threshold value to compare with the specified statistic. + * @public + */ + Threshold?: number; + + /** + * Specifies how missing data points are treated when evaluating the alarm's condition. + * @public + */ + TreatMissingData?: CloudWatchAlarmTemplateTreatMissingData; +} + +/** + * Placeholder documentation for CreateCloudWatchAlarmTemplateGroupRequest + * @public + */ +export interface CreateCloudWatchAlarmTemplateGroupRequest { + /** + * A resource's optional description. + * @public + */ + Description?: 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; +} + +/** + * Placeholder documentation for CreateCloudWatchAlarmTemplateGroupResponse + * @public + */ +export interface CreateCloudWatchAlarmTemplateGroupResponse { + /** + * A cloudwatch alarm template group's ARN (Amazon Resource Name) + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + CreatedAt?: Date; + + /** + * A resource's optional description. + * @public + */ + Description?: string; + + /** + * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + * @public + */ + Id?: string; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + ModifiedAt?: Date; + + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * @public + */ + Name?: string; + + /** + * Represents the tags associated with a resource. + * @public + */ + Tags?: Record; +} + +/** + * Create as many Clusters as you want, but create at least one. Each Cluster groups together Nodes that you want to treat as a collection. Within the Cluster, you will set up some Nodes as active Nodes, and some as backup Nodes, for Node failover purposes. Each Node can belong to only one Cluster. + * @public + */ +export interface CreateClusterRequest { + /** + * Specify a type. All the Nodes that you later add to this Cluster must be this type of hardware. One Cluster instance can't contain different hardware types. You won't be able to change this parameter after you create the Cluster. + * @public + */ + ClusterType?: ClusterType; + + /** + * The ARN of the IAM role for the Node in this Cluster. The role must include all the operations that you expect these Node to perform. If necessary, create a role in IAM, then attach it here. + * @public + */ + InstanceRoleArn?: string; + + /** + * Specify a name that is unique in the AWS account. We recommend that you assign a name that hints at the types of Nodes in the Cluster. Names are case-sensitive. + * @public + */ + Name?: string; + + /** + * Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with. + * @public + */ + NetworkSettings?: ClusterNetworkSettingsCreateRequest; + + /** + * The unique ID of the request. + * @public + */ + RequestId?: string; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; +} + +/** + * Placeholder documentation for CreateClusterResponse + * @public + */ +export interface CreateClusterResponse { + /** + * The ARN of this Cluster. It is automatically assigned when the Cluster is created. + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __listOf__string + * @public + */ + ChannelIds?: string[]; + + /** + * The hardware type for the Cluster + * @public + */ + ClusterType?: ClusterType; + + /** + * The ID of the Cluster. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The ARN of the IAM role for the Node in this Cluster. Any Nodes that are associated with this Cluster assume this role. The role gives permissions to the operations that you expect these Node to perform. + * @public + */ + InstanceRoleArn?: string; + + /** + * The name that you specified for the Cluster. + * @public + */ + Name?: string; + + /** + * Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with. + * @public + */ + NetworkSettings?: ClusterNetworkSettings; + + /** + * The current state of the Cluster. + * @public + */ + State?: ClusterState; +} + +/** + * Placeholder documentation for CreateEventBridgeRuleTemplateRequest + * @public + */ +export interface CreateEventBridgeRuleTemplateRequest { + /** + * A resource's optional description. + * @public + */ + Description?: string; + + /** + * Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + * @public + */ + EventTargets?: EventBridgeRuleTemplateTarget[]; + + /** + * The type of event to match with the rule. + * @public + */ + EventType: EventBridgeRuleTemplateEventType | undefined; + + /** + * An eventbridge rule template group's identifier. Can be either be its id or current name. + * @public + */ + GroupIdentifier: string | undefined; + + /** + * 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; +} + +/** + * Placeholder documentation for CreateEventBridgeRuleTemplateResponse + * @public + */ +export interface CreateEventBridgeRuleTemplateResponse { + /** + * An eventbridge rule template's ARN (Amazon Resource Name) + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + CreatedAt?: Date; + + /** + * A resource's optional description. + * @public + */ + Description?: string; + + /** + * Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + * @public + */ + EventTargets?: EventBridgeRuleTemplateTarget[]; + + /** + * The type of event to match with the rule. + * @public + */ + EventType?: EventBridgeRuleTemplateEventType; + + /** + * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + * @public + */ + GroupId?: string; + + /** + * An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + * @public + */ + Id?: string; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + ModifiedAt?: Date; + + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * @public + */ + Name?: string; + + /** + * Represents the tags associated with a resource. + * @public + */ + Tags?: Record; +} + +/** + * Placeholder documentation for CreateEventBridgeRuleTemplateGroupRequest + * @public + */ +export interface CreateEventBridgeRuleTemplateGroupRequest { + /** + * A resource's optional description. + * @public + */ + Description?: 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; +} + +/** + * Placeholder documentation for CreateEventBridgeRuleTemplateGroupResponse + * @public + */ +export interface CreateEventBridgeRuleTemplateGroupResponse { + /** + * An eventbridge rule template group's ARN (Amazon Resource Name) + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + CreatedAt?: Date; + + /** + * A resource's optional description. + * @public + */ + Description?: string; + + /** + * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + * @public + */ + Id?: string; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + ModifiedAt?: Date; + + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * @public + */ + Name?: string; + + /** + * Represents the tags associated with a resource. + * @public + */ + Tags?: Record; +} + +/** + * Settings for a Multicast input. Contains a list of multicast Urls and optional source ip addresses. + * @public + */ +export interface MulticastSettingsCreateRequest { + /** + * Placeholder documentation for __listOfMulticastSourceCreateRequest + * @public + */ + Sources?: MulticastSourceCreateRequest[]; +} + +/** + * 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. + * This property requires setting the roleArn property on Input creation. + * Not compatible with the inputSecurityGroups property. + * @public + */ +export interface InputVpcRequest { + /** + * A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network interfaces. + * Requires subnetIds. If none are specified then the VPC default security group will be used. + * @public + */ + SecurityGroupIds?: string[]; + + /** + * A list of 2 VPC subnet IDs from the same VPC. + * Subnet IDs must be mapped to two unique availability zones (AZ). + * @public + */ + SubnetIds: string[] | undefined; +} + +/** + * The name of the input + * @public + */ +export interface CreateInputRequest { + /** + * Destination settings for PUSH type inputs. + * @public + */ + Destinations?: InputDestinationRequest[]; + + /** + * Settings for the devices. + * @public + */ + InputDevices?: InputDeviceSettings[]; + + /** + * A list of security groups referenced by IDs to attach to the input. + * @public + */ + InputSecurityGroups?: string[]; + + /** + * A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one + * Flow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a + * separate Availability Zone as this ensures your EML input is redundant to AZ issues. + * @public + */ + MediaConnectFlows?: MediaConnectFlowRequest[]; + + /** + * Name of the input. + * @public + */ + Name?: string; + + /** + * Unique identifier of the request to ensure the request is handled + * exactly once in case of retries. + * @public + */ + RequestId?: string; + + /** + * The Amazon Resource Name (ARN) of the role this input assumes during and after creation. + * @public + */ + RoleArn?: string; + + /** + * The source URLs for a PULL-type input. Every PULL type input needs + * exactly two source URLs for redundancy. + * Only specify sources for PULL type Inputs. Leave Destinations empty. + * @public + */ + Sources?: InputSourceRequest[]; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; + + /** + * The different types of inputs that AWS Elemental MediaLive supports. + * @public + */ + Type?: InputType; + + /** + * 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. + * This property requires setting the roleArn property on Input creation. + * Not compatible with the inputSecurityGroups property. + * @public + */ + Vpc?: InputVpcRequest; + + /** + * The settings associated with an SRT input. + * @public + */ + SrtSettings?: SrtSettingsRequest; + + /** + * The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for + * an input in a customer network. + * @public + */ + InputNetworkLocation?: InputNetworkLocation; + + /** + * Multicast Input settings. + * @public + */ + MulticastSettings?: MulticastSettingsCreateRequest; +} + +/** + * Placeholder documentation for CreateInputResponse + * @public + */ +export interface CreateInputResponse { + /** + * Placeholder documentation for Input + * @public + */ + Input?: Input; +} + +/** + * The IPv4 CIDRs to whitelist for this Input Security Group + * @public + */ +export interface CreateInputSecurityGroupRequest { + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; + + /** + * List of IPv4 CIDR addresses to whitelist + * @public + */ + WhitelistRules?: InputWhitelistRuleCidr[]; +} + +/** + * Placeholder documentation for CreateInputSecurityGroupResponse + * @public + */ +export interface CreateInputSecurityGroupResponse { + /** + * An Input Security Group + * @public + */ + SecurityGroup?: InputSecurityGroup; +} + +/** + * Contains configuration for a Multiplex event + * @public + */ +export interface MultiplexSettings { + /** + * Maximum video buffer delay in milliseconds. + * @public + */ + MaximumVideoBufferDelayMilliseconds?: number; + + /** + * Transport stream bit rate. + * @public + */ + TransportStreamBitrate: number | undefined; + + /** + * Transport stream ID. + * @public + */ + TransportStreamId: number | undefined; + + /** + * Transport stream reserved bit rate. + * @public + */ + TransportStreamReservedBitrate?: number; +} + +/** + * A request to create a multiplex. + * @public + */ +export interface CreateMultiplexRequest { + /** + * A list of availability zones for the multiplex. You must specify exactly two. + * @public + */ + AvailabilityZones: string[] | undefined; + + /** + * Configuration for a multiplex event. + * @public + */ + MultiplexSettings: MultiplexSettings | undefined; + + /** + * Name of multiplex. + * @public + */ + Name: string | undefined; + + /** + * Unique request ID. This prevents retries from creating multiple + * resources. + * @public + */ + RequestId?: string; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; +} + +/** + * The multiplex object. + * @public + */ +export interface Multiplex { + /** + * The unique arn of the multiplex. + * @public + */ + Arn?: string; + + /** + * A list of availability zones for the multiplex. + * @public + */ + AvailabilityZones?: string[]; + + /** + * A list of the multiplex output destinations. + * @public + */ + Destinations?: MultiplexOutputDestination[]; + + /** + * The unique id of the multiplex. + * @public + */ + Id?: string; + + /** + * Configuration for a multiplex event. + * @public + */ + MultiplexSettings?: MultiplexSettings; + + /** + * The name of the multiplex. + * @public + */ + Name?: string; + + /** + * The number of currently healthy pipelines. + * @public + */ + PipelinesRunningCount?: number; + + /** + * The number of programs in the multiplex. + * @public + */ + ProgramCount?: number; + + /** + * The current state of the multiplex. + * @public + */ + State?: MultiplexState; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; +} + +/** + * Placeholder documentation for CreateMultiplexResponse + * @public + */ +export interface CreateMultiplexResponse { + /** + * The newly created multiplex. + * @public + */ + Multiplex?: Multiplex; +} + +/** + * @public + * @enum + */ +export const PreferredChannelPipeline = { + CURRENTLY_ACTIVE: "CURRENTLY_ACTIVE", + PIPELINE_0: "PIPELINE_0", + PIPELINE_1: "PIPELINE_1", +} as const; + +/** + * @public + */ +export type PreferredChannelPipeline = (typeof PreferredChannelPipeline)[keyof typeof PreferredChannelPipeline]; + +/** + * Transport stream service descriptor configuration for the Multiplex program. + * @public + */ +export interface MultiplexProgramServiceDescriptor { + /** + * Name of the provider. + * @public + */ + ProviderName: string | undefined; + + /** + * Name of the service. + * @public + */ + ServiceName: string | undefined; +} + +/** + * Statmux rate control settings + * @public + */ +export interface MultiplexStatmuxVideoSettings { + /** + * Maximum statmux bitrate. + * @public + */ + MaximumBitrate?: number; + + /** + * Minimum statmux bitrate. + * @public + */ + MinimumBitrate?: number; + + /** + * The purpose of the priority is to use a combination of the\nmultiplex rate control algorithm and the QVBR capability of the\nencoder to prioritize the video quality of some channels in a\nmultiplex over others. Channels that have a higher priority will\nget higher video quality at the expense of the video quality of\nother channels in the multiplex with lower priority. + * @public + */ + Priority?: number; +} + +/** + * The video configuration for each program in a multiplex. + * @public + */ +export interface MultiplexVideoSettings { + /** + * The constant bitrate configuration for the video encode. + * When this field is defined, StatmuxSettings must be undefined. + * @public + */ + ConstantBitrate?: number; + + /** + * Statmux rate control settings. + * When this field is defined, ConstantBitrate must be undefined. + * @public + */ + StatmuxSettings?: MultiplexStatmuxVideoSettings; +} + +/** + * Multiplex Program settings configuration. + * @public + */ +export interface MultiplexProgramSettings { + /** + * Indicates which pipeline is preferred by the multiplex for program ingest. + * @public + */ + PreferredChannelPipeline?: PreferredChannelPipeline; + + /** + * Unique program number. + * @public + */ + ProgramNumber: number | undefined; + + /** + * Transport stream service descriptor configuration for the Multiplex program. + * @public + */ + ServiceDescriptor?: MultiplexProgramServiceDescriptor; + + /** + * Program video settings configuration. + * @public + */ + VideoSettings?: MultiplexVideoSettings; +} + +/** + * A request to create a program in a multiplex. + * @public + */ +export interface CreateMultiplexProgramRequest { + /** + * ID of the multiplex where the program is to be created. + * @public + */ + MultiplexId: string | undefined; + + /** + * The settings for this multiplex program. + * @public + */ + MultiplexProgramSettings: MultiplexProgramSettings | undefined; + + /** + * Name of multiplex program. + * @public + */ + ProgramName: string | undefined; + + /** + * Unique request ID. This prevents retries from creating multiple + * resources. + * @public + */ + RequestId?: string; +} + +/** + * Packet identifiers map for a given Multiplex program. + * @public + */ +export interface MultiplexProgramPacketIdentifiersMap { + /** + * Placeholder documentation for __listOf__integer + * @public + */ + AudioPids?: number[]; + + /** + * Placeholder documentation for __listOf__integer + * @public + */ + DvbSubPids?: number[]; + + /** + * Placeholder documentation for __integer + * @public + */ + DvbTeletextPid?: number; + + /** + * Placeholder documentation for __integer + * @public + */ + EtvPlatformPid?: number; + + /** + * Placeholder documentation for __integer + * @public + */ + EtvSignalPid?: number; + + /** + * Placeholder documentation for __listOf__integer + * @public + */ + KlvDataPids?: number[]; + + /** + * Placeholder documentation for __integer + * @public + */ + PcrPid?: number; + + /** + * Placeholder documentation for __integer + * @public + */ + PmtPid?: number; + + /** + * Placeholder documentation for __integer + * @public + */ + PrivateMetadataPid?: number; + + /** + * Placeholder documentation for __listOf__integer + * @public + */ + Scte27Pids?: number[]; + + /** + * Placeholder documentation for __integer + * @public + */ + Scte35Pid?: number; + + /** + * Placeholder documentation for __integer + * @public + */ + TimedMetadataPid?: number; + + /** + * Placeholder documentation for __integer + * @public + */ + VideoPid?: number; + + /** + * Placeholder documentation for __integer + * @public + */ + AribCaptionsPid?: number; + + /** + * Placeholder documentation for __listOf__integer + * @public + */ + DvbTeletextPids?: number[]; + + /** + * Placeholder documentation for __integer + * @public + */ + EcmPid?: number; + + /** + * Placeholder documentation for __integer + * @public + */ + Smpte2038Pid?: number; +} + +/** + * The multiplex program object. + * @public + */ +export interface MultiplexProgram { + /** + * The MediaLive channel associated with the program. + * @public + */ + ChannelId?: string; + + /** + * The settings for this multiplex program. + * @public + */ + MultiplexProgramSettings?: MultiplexProgramSettings; + + /** + * The packet identifier map for this multiplex program. + * @public + */ + PacketIdentifiersMap?: MultiplexProgramPacketIdentifiersMap; + + /** + * Contains information about the current sources for the specified program in the specified multiplex. Keep in mind that each multiplex pipeline connects to both pipelines in a given source channel (the channel identified by the program). But only one of those channel pipelines is ever active at one time. + * @public + */ + PipelineDetails?: MultiplexProgramPipelineDetail[]; + + /** + * The name of the multiplex program. + * @public + */ + ProgramName?: string; +} + +/** + * Placeholder documentation for CreateMultiplexProgramResponse + * @public + */ +export interface CreateMultiplexProgramResponse { + /** + * The newly created multiplex program. + * @public + */ + MultiplexProgram?: MultiplexProgram; +} + +/** + * A request to create a Network. + * @public + */ +export interface CreateNetworkRequest { + /** + * An array of IpPoolCreateRequests that identify a collection of IP addresses in your network that you want to reserve for use in MediaLive Anywhere. MediaLiveAnywhere uses these IP addresses for Push inputs (in both Bridge and NATnetworks) and for output destinations (only in Bridge networks). EachIpPoolUpdateRequest specifies one CIDR block. + * @public + */ + IpPools?: IpPoolCreateRequest[]; + + /** + * Specify a name that is unique in the AWS account. We recommend that you assign a name that hints at the type of traffic on the network. Names are case-sensitive. + * @public + */ + Name?: string; + + /** + * An ID that you assign to a create request. This ID ensures idempotency when creating resources. + * @public + */ + RequestId?: string; + + /** + * An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic. + * @public + */ + Routes?: RouteCreateRequest[]; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; +} + +/** + * Placeholder documentation for CreateNetworkResponse + * @public + */ +export interface CreateNetworkResponse { + /** + * The ARN of this Network. It is automatically assigned when the Network is created. + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __listOf__string + * @public + */ + AssociatedClusterIds?: string[]; + + /** + * The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * An array of IpPools in your organization's network that identify a collection of IP addresses in this network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block. + * @public + */ + IpPools?: IpPool[]; + + /** + * The name that you specified for the Network. + * @public + */ + Name?: string; + + /** + * An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic. + * @public + */ + Routes?: Route[]; + + /** + * The current state of the Network. Only MediaLive Anywhere can change the state. + * @public + */ + State?: NetworkState; +} + +/** + * A request to create a node + * @public + */ +export interface CreateNodeRequest { + /** + * The ID of the cluster. + * @public + */ + ClusterId: string | undefined; + + /** + * The user-specified name of the Node to be created. + * @public + */ + Name?: string; + + /** + * Documentation update needed + * @public + */ + NodeInterfaceMappings?: NodeInterfaceMappingCreateRequest[]; + + /** + * An ID that you assign to a create request. This ID ensures idempotency when creating resources. + * @public + */ + RequestId?: string; + + /** + * The initial role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails. + * @public + */ + Role?: NodeRole; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; +} + +/** + * Placeholder documentation for CreateNodeResponse + * @public + */ +export interface CreateNodeResponse { + /** + * The ARN of the Node. It is automatically assigned when the Node is created. + * @public + */ + Arn?: string; + + /** + * An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups. + * @public + */ + ChannelPlacementGroups?: string[]; + + /** + * The ID of the Cluster that the Node belongs to. + * @public + */ + ClusterId?: string; + + /** + * The current connection state of the Node. + * @public + */ + ConnectionState?: NodeConnectionState; + + /** + * The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The ARN of the EC2 instance hosting the Node. + * @public + */ + InstanceArn?: string; + + /** + * The name that you specified for the Node. + * @public + */ + Name?: string; + + /** + * Documentation update needed + * @public + */ + NodeInterfaceMappings?: NodeInterfaceMapping[]; + + /** + * The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails. + * @public + */ + Role?: NodeRole; + + /** + * The current state of the Node. + * @public + */ + State?: NodeState; +} + +/** + * A request to create a new node registration script. + * @public + */ +export interface CreateNodeRegistrationScriptRequest { + /** + * The ID of the cluster + * @public + */ + ClusterId: string | undefined; + + /** + * If you're generating a re-registration script for an already existing node, this is where you provide the id. + * @public + */ + Id?: string; + + /** + * Specify a pattern for MediaLive Anywhere to use to assign a name to each Node in the Cluster. The pattern can include the variables $hn (hostname of the node hardware) and $ts for the date and time that the Node is created, in UTC (for example, 2024-08-20T23:35:12Z). + * @public + */ + Name?: string; + + /** + * Documentation update needed + * @public + */ + NodeInterfaceMappings?: NodeInterfaceMapping[]; + + /** + * An ID that you assign to a create request. This ID ensures idempotency when creating resources. + * @public + */ + RequestId?: string; + + /** + * The initial role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails. + * @public + */ + Role?: NodeRole; +} + +/** + * Placeholder documentation for CreateNodeRegistrationScriptResponse + * @public + */ +export interface CreateNodeRegistrationScriptResponse { + /** + * A script that can be run on a Bring Your Own Device Elemental Anywhere system to create a node in a cluster. + * @public + */ + NodeRegistrationScript?: string; +} + +/** + * A request to create a partner input + * @public + */ +export interface CreatePartnerInputRequest { + /** + * Unique ID of the input. + * @public + */ + InputId: string | undefined; + + /** + * Unique identifier of the request to ensure the request is handled + * exactly once in case of retries. + * @public + */ + RequestId?: string; + + /** + * A collection of key-value pairs. + * @public + */ + Tags?: Record; +} + +/** + * Placeholder documentation for CreatePartnerInputResponse + * @public + */ +export interface CreatePartnerInputResponse { + /** + * Placeholder documentation for Input + * @public + */ + Input?: Input; +} + /** * Placeholder documentation for CreateSignalMapRequest * @public @@ -457,6 +2553,78 @@ export interface DeleteChannelResponse { * @public */ Vpc?: VpcOutputSettingsDescription; + + /** + * Anywhere settings for this channel. + * @public + */ + AnywhereSettings?: DescribeAnywhereSettings; +} + +/** + * Placeholder documentation for DeleteChannelPlacementGroupRequest + * @public + */ +export interface DeleteChannelPlacementGroupRequest { + /** + * The ID of the channel placement group. + * @public + */ + ChannelPlacementGroupId: string | undefined; + + /** + * The ID of the cluster. + * @public + */ + ClusterId: string | undefined; +} + +/** + * Placeholder documentation for DeleteChannelPlacementGroupResponse + * @public + */ +export interface DeleteChannelPlacementGroupResponse { + /** + * The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created. + * @public + */ + Arn?: string; + + /** + * Used in ListChannelPlacementGroupsResult + * @public + */ + Channels?: string[]; + + /** + * The ID of the Cluster that the Node belongs to. + * @public + */ + ClusterId?: string; + + /** + * The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The name that you specified for the ChannelPlacementGroup. + * @public + */ + Name?: string; + + /** + * An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup. + * @public + */ + Nodes?: string[]; + + /** + * The current state of the ChannelPlacementGroup. + * @public + */ + State?: ChannelPlacementGroupState; } /** @@ -483,6 +2651,72 @@ export interface DeleteCloudWatchAlarmTemplateGroupRequest { Identifier: string | undefined; } +/** + * Placeholder documentation for DeleteClusterRequest + * @public + */ +export interface DeleteClusterRequest { + /** + * The ID of the cluster. + * @public + */ + ClusterId: string | undefined; +} + +/** + * Placeholder documentation for DeleteClusterResponse + * @public + */ +export interface DeleteClusterResponse { + /** + * The ARN of this Cluster. It is automatically assigned when the Cluster is created. + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __listOf__string + * @public + */ + ChannelIds?: string[]; + + /** + * The hardware type for the Cluster + * @public + */ + ClusterType?: ClusterType; + + /** + * The ID of the Cluster. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The ARN of the IAM role for the Node in this Cluster. Any Nodes that are associated with this Cluster assume this role. The role gives permissions to the operations that you expect these Node to perform. + * @public + */ + InstanceRoleArn?: string; + + /** + * The name that you specified for the Cluster. + * @public + */ + Name?: string; + + /** + * Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with. + * @public + */ + NetworkSettings?: ClusterNetworkSettings; + + /** + * The current state of the Cluster. + * @public + */ + State?: ClusterState; +} + /** * Placeholder documentation for DeleteEventBridgeRuleTemplateRequest * @public @@ -657,22 +2891,166 @@ export interface DeleteMultiplexProgramResponse { MultiplexProgramSettings?: MultiplexProgramSettings; /** - * The packet identifier map for this multiplex program. + * The packet identifier map for this multiplex program. + * @public + */ + PacketIdentifiersMap?: MultiplexProgramPacketIdentifiersMap; + + /** + * Contains information about the current sources for the specified program in the specified multiplex. Keep in mind that each multiplex pipeline connects to both pipelines in a given source channel (the channel identified by the program). But only one of those channel pipelines is ever active at one time. + * @public + */ + PipelineDetails?: MultiplexProgramPipelineDetail[]; + + /** + * The name of the multiplex program. + * @public + */ + ProgramName?: string; +} + +/** + * Placeholder documentation for DeleteNetworkRequest + * @public + */ +export interface DeleteNetworkRequest { + /** + * The ID of the network. + * @public + */ + NetworkId: string | undefined; +} + +/** + * Placeholder documentation for DeleteNetworkResponse + * @public + */ +export interface DeleteNetworkResponse { + /** + * The ARN of this Network. It is automatically assigned when the Network is created. + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __listOf__string + * @public + */ + AssociatedClusterIds?: string[]; + + /** + * The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * An array of IpPools in your organization's network that identify a collection of IP addresses in this network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block. + * @public + */ + IpPools?: IpPool[]; + + /** + * The name that you specified for the Network. + * @public + */ + Name?: string; + + /** + * An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic. + * @public + */ + Routes?: Route[]; + + /** + * The current state of the Network. Only MediaLive Anywhere can change the state. + * @public + */ + State?: NetworkState; +} + +/** + * Placeholder documentation for DeleteNodeRequest + * @public + */ +export interface DeleteNodeRequest { + /** + * The ID of the cluster + * @public + */ + ClusterId: string | undefined; + + /** + * The ID of the node. + * @public + */ + NodeId: string | undefined; +} + +/** + * Placeholder documentation for DeleteNodeResponse + * @public + */ +export interface DeleteNodeResponse { + /** + * The ARN of the Node. It is automatically assigned when the Node is created. + * @public + */ + Arn?: string; + + /** + * An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups. + * @public + */ + ChannelPlacementGroups?: string[]; + + /** + * The ID of the Cluster that the Node belongs to. + * @public + */ + ClusterId?: string; + + /** + * The current connection state of the Node. + * @public + */ + ConnectionState?: NodeConnectionState; + + /** + * The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The ARN of the EC2 instance hosting the Node. + * @public + */ + InstanceArn?: string; + + /** + * The name that you specified for the Node. + * @public + */ + Name?: string; + + /** + * Documentation update needed * @public */ - PacketIdentifiersMap?: MultiplexProgramPacketIdentifiersMap; + NodeInterfaceMappings?: NodeInterfaceMapping[]; /** - * Contains information about the current sources for the specified program in the specified multiplex. Keep in mind that each multiplex pipeline connects to both pipelines in a given source channel (the channel identified by the program). But only one of those channel pipelines is ever active at one time. + * The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails. * @public */ - PipelineDetails?: MultiplexProgramPipelineDetail[]; + Role?: NodeRole; /** - * The name of the multiplex program. + * The current state of the Node. * @public */ - ProgramName?: string; + State?: NodeState; } /** @@ -999,6 +3377,144 @@ export interface DescribeChannelResponse { * @public */ Vpc?: VpcOutputSettingsDescription; + + /** + * Anywhere settings for this channel. + * @public + */ + AnywhereSettings?: DescribeAnywhereSettings; +} + +/** + * Placeholder documentation for DescribeChannelPlacementGroupRequest + * @public + */ +export interface DescribeChannelPlacementGroupRequest { + /** + * The ID of the channel placement group. + * @public + */ + ChannelPlacementGroupId: string | undefined; + + /** + * The ID of the cluster. + * @public + */ + ClusterId: string | undefined; +} + +/** + * Placeholder documentation for DescribeChannelPlacementGroupResponse + * @public + */ +export interface DescribeChannelPlacementGroupResponse { + /** + * The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created. + * @public + */ + Arn?: string; + + /** + * Used in ListChannelPlacementGroupsResult + * @public + */ + Channels?: string[]; + + /** + * The ID of the Cluster that the Node belongs to. + * @public + */ + ClusterId?: string; + + /** + * The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The name that you specified for the ChannelPlacementGroup. + * @public + */ + Name?: string; + + /** + * An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup. + * @public + */ + Nodes?: string[]; + + /** + * The current state of the ChannelPlacementGroup. + * @public + */ + State?: ChannelPlacementGroupState; +} + +/** + * Placeholder documentation for DescribeClusterRequest + * @public + */ +export interface DescribeClusterRequest { + /** + * The ID of the cluster. + * @public + */ + ClusterId: string | undefined; +} + +/** + * Placeholder documentation for DescribeClusterResponse + * @public + */ +export interface DescribeClusterResponse { + /** + * The ARN of this Cluster. It is automatically assigned when the Cluster is created. + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __listOf__string + * @public + */ + ChannelIds?: string[]; + + /** + * The hardware type for the Cluster + * @public + */ + ClusterType?: ClusterType; + + /** + * The ID of the Cluster. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The ARN of the IAM role for the Node in this Cluster. Any Nodes that are associated with this Cluster assume this role. The role gives permissions to the operations that you expect these Node to perform. + * @public + */ + InstanceRoleArn?: string; + + /** + * The name that you specified for the Cluster. + * @public + */ + Name?: string; + + /** + * Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with. + * @public + */ + NetworkSettings?: ClusterNetworkSettings; + + /** + * The current state of the Cluster. + * @public + */ + State?: ClusterState; } /** @@ -1044,7 +3560,7 @@ export interface DescribeInputResponse { /** * STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails. - * SINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input. + * SINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input. * @public */ InputClass?: InputClass; @@ -1121,6 +3637,19 @@ export interface DescribeInputResponse { * @public */ SrtSettings?: SrtSettings; + + /** + * The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for + * an input in a customer network. + * @public + */ + InputNetworkLocation?: InputNetworkLocation; + + /** + * Multicast Input settings. + * @public + */ + MulticastSettings?: MulticastSettings; } /** @@ -1477,6 +4006,150 @@ export interface DescribeMultiplexProgramResponse { ProgramName?: string; } +/** + * Placeholder documentation for DescribeNetworkRequest + * @public + */ +export interface DescribeNetworkRequest { + /** + * The ID of the network. + * @public + */ + NetworkId: string | undefined; +} + +/** + * Placeholder documentation for DescribeNetworkResponse + * @public + */ +export interface DescribeNetworkResponse { + /** + * The ARN of this Network. It is automatically assigned when the Network is created. + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __listOf__string + * @public + */ + AssociatedClusterIds?: string[]; + + /** + * The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * An array of IpPools in your organization's network that identify a collection of IP addresses in this network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block. + * @public + */ + IpPools?: IpPool[]; + + /** + * The name that you specified for the Network. + * @public + */ + Name?: string; + + /** + * An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic. + * @public + */ + Routes?: Route[]; + + /** + * The current state of the Network. Only MediaLive Anywhere can change the state. + * @public + */ + State?: NetworkState; +} + +/** + * Placeholder documentation for DescribeNodeRequest + * @public + */ +export interface DescribeNodeRequest { + /** + * The ID of the cluster + * @public + */ + ClusterId: string | undefined; + + /** + * The ID of the node. + * @public + */ + NodeId: string | undefined; +} + +/** + * Placeholder documentation for DescribeNodeResponse + * @public + */ +export interface DescribeNodeResponse { + /** + * The ARN of the Node. It is automatically assigned when the Node is created. + * @public + */ + Arn?: string; + + /** + * An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups. + * @public + */ + ChannelPlacementGroups?: string[]; + + /** + * The ID of the Cluster that the Node belongs to. + * @public + */ + ClusterId?: string; + + /** + * The current connection state of the Node. + * @public + */ + ConnectionState?: NodeConnectionState; + + /** + * The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The ARN of the EC2 instance hosting the Node. + * @public + */ + InstanceArn?: string; + + /** + * The name that you specified for the Node. + * @public + */ + Name?: string; + + /** + * Documentation update needed + * @public + */ + NodeInterfaceMappings?: NodeInterfaceMapping[]; + + /** + * The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails. + * @public + */ + Role?: NodeRole; + + /** + * The current state of the Node. + * @public + */ + State?: NodeState; +} + /** * Placeholder documentation for DescribeOfferingRequest * @public @@ -2239,52 +4912,94 @@ export interface InputDeviceMediaConnectConfigurableSettings { SecretArn?: string; /** - * The name of the MediaConnect Flow source to stream to. + * The name of the MediaConnect Flow source to stream to. + * @public + */ + SourceName?: string; +} + +/** + * Configurable settings for the input device. + * @public + */ +export interface InputDeviceConfigurableSettings { + /** + * The input source that you want to use. If the device has a source connected to only one of its input ports, or if you don't care which source the device sends, specify Auto. If the device has sources connected to both its input ports, and you want to use a specific source, specify the source. + * @public + */ + ConfiguredInput?: InputDeviceConfiguredInput; + + /** + * The maximum bitrate in bits per second. Set a value here to throttle the bitrate of the source video. + * @public + */ + MaxBitrate?: number; + + /** + * The Link device's buffer size (latency) in milliseconds (ms). + * @public + */ + LatencyMs?: number; + + /** + * Choose the codec for the video that the device produces. Only UHD devices can specify this parameter. + * @public + */ + Codec?: InputDeviceCodec; + + /** + * To attach this device to a MediaConnect flow, specify these parameters. To detach an existing flow, enter \{\} for the value of mediaconnectSettings. Only UHD devices can specify this parameter. + * @public + */ + MediaconnectSettings?: InputDeviceMediaConnectConfigurableSettings; + + /** + * An array of eight audio configurations, one for each audio pair in the source. Set up each audio configuration either to exclude the pair, or to format it and include it in the output from the device. This parameter applies only to UHD devices, and only when the device is configured as the source for a MediaConnect flow. For an HD device, you configure the audio by setting up audio selectors in the channel configuration. * @public */ - SourceName?: string; + AudioChannelPairs?: InputDeviceConfigurableAudioChannelPairConfig[]; } /** - * Configurable settings for the input device. + * Placeholder documentation for ListChannelPlacementGroupsRequest * @public */ -export interface InputDeviceConfigurableSettings { - /** - * The input source that you want to use. If the device has a source connected to only one of its input ports, or if you don't care which source the device sends, specify Auto. If the device has sources connected to both its input ports, and you want to use a specific source, specify the source. - * @public - */ - ConfiguredInput?: InputDeviceConfiguredInput; - +export interface ListChannelPlacementGroupsRequest { /** - * The maximum bitrate in bits per second. Set a value here to throttle the bitrate of the source video. + * The ID of the cluster * @public */ - MaxBitrate?: number; + ClusterId: string | undefined; /** - * The Link device's buffer size (latency) in milliseconds (ms). + * The maximum number of items to return. * @public */ - LatencyMs?: number; + MaxResults?: number; /** - * Choose the codec for the video that the device produces. Only UHD devices can specify this parameter. + * The token to retrieve the next page of results. * @public */ - Codec?: InputDeviceCodec; + NextToken?: string; +} +/** + * Placeholder documentation for ListChannelPlacementGroupsResponse + * @public + */ +export interface ListChannelPlacementGroupsResponse { /** - * To attach this device to a MediaConnect flow, specify these parameters. To detach an existing flow, enter \{\} for the value of mediaconnectSettings. Only UHD devices can specify this parameter. + * An array of ChannelPlacementGroups that exist in the Cluster. * @public */ - MediaconnectSettings?: InputDeviceMediaConnectConfigurableSettings; + ChannelPlacementGroups?: DescribeChannelPlacementGroupSummary[]; /** - * An array of eight audio configurations, one for each audio pair in the source. Set up each audio configuration either to exclude the pair, or to format it and include it in the output from the device. This parameter applies only to UHD devices, and only when the device is configured as the source for a MediaConnect flow. For an HD device, you configure the audio by setting up audio selectors in the channel configuration. + * Token for the next result. * @public */ - AudioChannelPairs?: InputDeviceConfigurableAudioChannelPairConfig[]; + NextToken?: string; } /** @@ -2425,6 +5140,42 @@ export interface ListCloudWatchAlarmTemplatesResponse { NextToken?: string; } +/** + * Placeholder documentation for ListClustersRequest + * @public + */ +export interface ListClustersRequest { + /** + * The maximum number of items to return. + * @public + */ + MaxResults?: number; + + /** + * The token to retrieve the next page of results. + * @public + */ + NextToken?: string; +} + +/** + * Placeholder documentation for ListClustersResponse + * @public + */ +export interface ListClustersResponse { + /** + * A list of the Clusters that exist in your AWS account. + * @public + */ + Clusters?: DescribeClusterSummary[]; + + /** + * Token for the next result. + * @public + */ + NextToken?: string; +} + /** * Placeholder documentation for ListEventBridgeRuleTemplateGroupsRequest * @public @@ -2743,6 +5494,84 @@ export interface ListMultiplexProgramsResponse { NextToken?: string; } +/** + * Placeholder documentation for ListNetworksRequest + * @public + */ +export interface ListNetworksRequest { + /** + * The maximum number of items to return. + * @public + */ + MaxResults?: number; + + /** + * The token to retrieve the next page of results. + * @public + */ + NextToken?: string; +} + +/** + * Placeholder documentation for ListNetworksResponse + * @public + */ +export interface ListNetworksResponse { + /** + * An array of networks that you have created. + * @public + */ + Networks?: DescribeNetworkSummary[]; + + /** + * Token for the next ListNetworks request. + * @public + */ + NextToken?: string; +} + +/** + * Placeholder documentation for ListNodesRequest + * @public + */ +export interface ListNodesRequest { + /** + * The ID of the cluster + * @public + */ + ClusterId: string | undefined; + + /** + * The maximum number of items to return. + * @public + */ + MaxResults?: number; + + /** + * The token to retrieve the next page of results. + * @public + */ + NextToken?: string; +} + +/** + * Placeholder documentation for ListNodesResponse + * @public + */ +export interface ListNodesResponse { + /** + * Token for the next result. + * @public + */ + NextToken?: string; + + /** + * An array of Nodes that exist in the Cluster. + * @public + */ + Nodes?: DescribeNodeSummary[]; +} + /** * Placeholder documentation for ListOfferingsRequest * @public @@ -2761,7 +5590,7 @@ export interface ListOfferingsRequest { ChannelConfiguration?: string; /** - * Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', or 'LINK' + * Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', 'LINK', or 'AV1' * @public */ Codec?: string; @@ -2851,7 +5680,7 @@ export interface ListReservationsRequest { ChannelClass?: string; /** - * Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', or 'LINK' + * Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', 'LINK', or 'AV1' * @public */ Codec?: string; @@ -3273,6 +6102,12 @@ export interface RestartChannelPipelinesResponse { * @public */ Vpc?: VpcOutputSettingsDescription; + + /** + * Anywhere settings for this channel. + * @public + */ + AnywhereSettings?: DescribeAnywhereSettings; } /** @@ -3401,6 +6236,12 @@ export interface StartChannelResponse { * @public */ Vpc?: VpcOutputSettingsDescription; + + /** + * Anywhere settings for this channel. + * @public + */ + AnywhereSettings?: DescribeAnywhereSettings; } /** @@ -4063,6 +6904,12 @@ export interface StopChannelResponse { * @public */ Vpc?: VpcOutputSettingsDescription; + + /** + * Anywhere settings for this channel. + * @public + */ + AnywhereSettings?: DescribeAnywhereSettings; } /** @@ -4335,6 +7182,84 @@ export interface UpdateChannelClassResponse { Channel?: Channel; } +/** + * A request to update the channel placement group + * @public + */ +export interface UpdateChannelPlacementGroupRequest { + /** + * The ID of the channel placement group. + * @public + */ + ChannelPlacementGroupId: string | undefined; + + /** + * The ID of the cluster. + * @public + */ + ClusterId: string | undefined; + + /** + * Include this parameter only if you want to change the current name of the ChannelPlacementGroup. Specify a name that is unique in the Cluster. You can't change the name. Names are case-sensitive. + * @public + */ + Name?: string; + + /** + * Include this parameter only if you want to change the list of Nodes that are associated with the ChannelPlacementGroup. + * @public + */ + Nodes?: string[]; +} + +/** + * Placeholder documentation for UpdateChannelPlacementGroupResponse + * @public + */ +export interface UpdateChannelPlacementGroupResponse { + /** + * The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created. + * @public + */ + Arn?: string; + + /** + * Used in ListChannelPlacementGroupsResult + * @public + */ + Channels?: string[]; + + /** + * The ID of the Cluster that the Node belongs to. + * @public + */ + ClusterId?: string; + + /** + * The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The name that you specified for the ChannelPlacementGroup. + * @public + */ + Name?: string; + + /** + * An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup. + * @public + */ + Nodes?: string[]; + + /** + * The current state of the ChannelPlacementGroup. + * @public + */ + State?: ChannelPlacementGroupState; +} + /** * Placeholder documentation for UpdateCloudWatchAlarmTemplateRequest * @public @@ -4497,100 +7422,172 @@ export interface UpdateCloudWatchAlarmTemplateResponse { Period?: number; /** - * The statistic to apply to the alarm's metric data. + * The statistic to apply to the alarm's metric data. + * @public + */ + Statistic?: CloudWatchAlarmTemplateStatistic; + + /** + * Represents the tags associated with a resource. + * @public + */ + Tags?: Record; + + /** + * The resource type this template should dynamically generate cloudwatch metric alarms for. + * @public + */ + TargetResourceType?: CloudWatchAlarmTemplateTargetResourceType; + + /** + * The threshold value to compare with the specified statistic. + * @public + */ + Threshold?: number; + + /** + * Specifies how missing data points are treated when evaluating the alarm's condition. + * @public + */ + TreatMissingData?: CloudWatchAlarmTemplateTreatMissingData; +} + +/** + * Placeholder documentation for UpdateCloudWatchAlarmTemplateGroupRequest + * @public + */ +export interface UpdateCloudWatchAlarmTemplateGroupRequest { + /** + * A resource's optional description. + * @public + */ + Description?: string; + + /** + * A cloudwatch alarm template group's identifier. Can be either be its id or current name. + * @public + */ + Identifier: string | undefined; +} + +/** + * Placeholder documentation for UpdateCloudWatchAlarmTemplateGroupResponse + * @public + */ +export interface UpdateCloudWatchAlarmTemplateGroupResponse { + /** + * A cloudwatch alarm template group's ARN (Amazon Resource Name) + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __timestampIso8601 + * @public + */ + CreatedAt?: Date; + + /** + * A resource's optional description. * @public */ - Statistic?: CloudWatchAlarmTemplateStatistic; + Description?: string; /** - * Represents the tags associated with a resource. + * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` * @public */ - Tags?: Record; + Id?: string; /** - * The resource type this template should dynamically generate cloudwatch metric alarms for. + * Placeholder documentation for __timestampIso8601 * @public */ - TargetResourceType?: CloudWatchAlarmTemplateTargetResourceType; + ModifiedAt?: Date; /** - * The threshold value to compare with the specified statistic. + * A resource's name. Names must be unique within the scope of a resource type in a specific region. * @public */ - Threshold?: number; + Name?: string; /** - * Specifies how missing data points are treated when evaluating the alarm's condition. + * Represents the tags associated with a resource. * @public */ - TreatMissingData?: CloudWatchAlarmTemplateTreatMissingData; + Tags?: Record; } /** - * Placeholder documentation for UpdateCloudWatchAlarmTemplateGroupRequest + * A request to update the cluster. * @public */ -export interface UpdateCloudWatchAlarmTemplateGroupRequest { +export interface UpdateClusterRequest { /** - * A resource's optional description. + * The ID of the cluster * @public */ - Description?: string; + ClusterId: string | undefined; /** - * A cloudwatch alarm template group's identifier. Can be either be its id or current name. + * Include this parameter only if you want to change the current name of the Cluster. Specify a name that is unique in the AWS account. You can't change the name. Names are case-sensitive. * @public */ - Identifier: string | undefined; + Name?: string; + + /** + * Include this property only if you want to change the current connections between the Nodes in the Cluster and the Networks the Cluster is associated with. + * @public + */ + NetworkSettings?: ClusterNetworkSettingsUpdateRequest; } /** - * Placeholder documentation for UpdateCloudWatchAlarmTemplateGroupResponse + * Placeholder documentation for UpdateClusterResponse * @public */ -export interface UpdateCloudWatchAlarmTemplateGroupResponse { +export interface UpdateClusterResponse { /** - * A cloudwatch alarm template group's ARN (Amazon Resource Name) + * The ARN of the Cluster. * @public */ Arn?: string; /** - * Placeholder documentation for __timestampIso8601 + * An array of the IDs of the Channels that are associated with this Cluster. One Channel is associated with the Cluster as follows: A Channel belongs to a ChannelPlacementGroup. A ChannelPlacementGroup is attached to a Node. A Node belongs to a Cluster. * @public */ - CreatedAt?: Date; + ChannelIds?: string[]; /** - * A resource's optional description. + * The hardware type for the Cluster * @public */ - Description?: string; + ClusterType?: ClusterType; /** - * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + * The unique ID of the Cluster. * @public */ Id?: string; /** - * Placeholder documentation for __timestampIso8601 + * The user-specified name of the Cluster. * @public */ - ModifiedAt?: Date; + Name?: string; /** - * A resource's name. Names must be unique within the scope of a resource type in a specific region. + * Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with. * @public */ - Name?: string; + NetworkSettings?: ClusterNetworkSettings; /** - * Represents the tags associated with a resource. + * The current state of the Cluster. * @public */ - Tags?: Record; + State?: ClusterState; } /** @@ -4767,6 +7764,18 @@ export interface UpdateEventBridgeRuleTemplateGroupResponse { Tags?: Record; } +/** + * Settings for a Multicast input. Contains a list of multicast Urls and optional source ip addresses. + * @public + */ +export interface MulticastSettingsUpdateRequest { + /** + * Placeholder documentation for __listOfMulticastSourceUpdateRequest + * @public + */ + Sources?: MulticastSourceUpdateRequest[]; +} + /** * A request to update an input. * @public @@ -4829,6 +7838,12 @@ export interface UpdateInputRequest { * @public */ SrtSettings?: SrtSettingsRequest; + + /** + * Multicast Input settings. + * @public + */ + MulticastSettings?: MulticastSettingsUpdateRequest; } /** @@ -5095,6 +8110,284 @@ export interface UpdateMultiplexProgramResponse { MultiplexProgram?: MultiplexProgram; } +/** + * A request to update the network. + * @public + */ +export interface UpdateNetworkRequest { + /** + * Include this parameter only if you want to change the pool of IP addresses in the network. An array of IpPoolCreateRequests that identify a collection of IP addresses in this network that you want to reserve for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPoolUpdateRequest specifies one CIDR block. + * @public + */ + IpPools?: IpPoolUpdateRequest[]; + + /** + * Include this parameter only if you want to change the name of the Network. Specify a name that is unique in the AWS account. Names are case-sensitive. + * @public + */ + Name?: string; + + /** + * The ID of the network + * @public + */ + NetworkId: string | undefined; + + /** + * Include this parameter only if you want to change or add routes in the Network. An array of Routes that MediaLive Anywhere needs to know about in order to route encoding traffic. + * @public + */ + Routes?: RouteUpdateRequest[]; +} + +/** + * Placeholder documentation for UpdateNetworkResponse + * @public + */ +export interface UpdateNetworkResponse { + /** + * The ARN of this Network. It is automatically assigned when the Network is created. + * @public + */ + Arn?: string; + + /** + * Placeholder documentation for __listOf__string + * @public + */ + AssociatedClusterIds?: string[]; + + /** + * The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * An array of IpPools in your organization's network that identify a collection of IP addresses in this network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block. + * @public + */ + IpPools?: IpPool[]; + + /** + * The name that you specified for the Network. + * @public + */ + Name?: string; + + /** + * An array of Routes that MediaLive Anywhere needs to know about in order to route encoding traffic. + * @public + */ + Routes?: Route[]; + + /** + * The current state of the Network. Only MediaLive Anywhere can change the state. + * @public + */ + State?: NetworkState; +} + +/** + * A request to update the node. + * @public + */ +export interface UpdateNodeRequest { + /** + * The ID of the cluster + * @public + */ + ClusterId: string | undefined; + + /** + * Include this parameter only if you want to change the current name of the Node. Specify a name that is unique in the Cluster. You can't change the name. Names are case-sensitive. + * @public + */ + Name?: string; + + /** + * The ID of the node. + * @public + */ + NodeId: string | undefined; + + /** + * The initial role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails. + * @public + */ + Role?: NodeRole; +} + +/** + * Placeholder documentation for UpdateNodeResponse + * @public + */ +export interface UpdateNodeResponse { + /** + * The ARN of the Node. It is automatically assigned when the Node is created. + * @public + */ + Arn?: string; + + /** + * An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups. + * @public + */ + ChannelPlacementGroups?: string[]; + + /** + * The ID of the Cluster that the Node belongs to. + * @public + */ + ClusterId?: string; + + /** + * The current connection state of the Node. + * @public + */ + ConnectionState?: NodeConnectionState; + + /** + * The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The ARN of the EC2 instance hosting the Node. + * @public + */ + InstanceArn?: string; + + /** + * The name that you specified for the Node. + * @public + */ + Name?: string; + + /** + * Documentation update needed + * @public + */ + NodeInterfaceMappings?: NodeInterfaceMapping[]; + + /** + * The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails. + * @public + */ + Role?: NodeRole; + + /** + * The current state of the Node. + * @public + */ + State?: NodeState; +} + +/** + * @public + * @enum + */ +export const UpdateNodeStateShape = { + ACTIVE: "ACTIVE", + DRAINING: "DRAINING", +} as const; + +/** + * @public + */ +export type UpdateNodeStateShape = (typeof UpdateNodeStateShape)[keyof typeof UpdateNodeStateShape]; + +/** + * A request to update the state of a node. + * @public + */ +export interface UpdateNodeStateRequest { + /** + * The ID of the cluster + * @public + */ + ClusterId: string | undefined; + + /** + * The ID of the node. + * @public + */ + NodeId: string | undefined; + + /** + * The state to apply to the Node. Set to ACTIVE (COMMISSIONED) to indicate that the Node is deployable. MediaLive Anywhere will consider this node it needs a Node to run a Channel on, or when it needs a Node to promote from a backup node to an active node. Set to DRAINING to isolate the Node so that MediaLive Anywhere won't use it. + * @public + */ + State?: UpdateNodeStateShape; +} + +/** + * Placeholder documentation for UpdateNodeStateResponse + * @public + */ +export interface UpdateNodeStateResponse { + /** + * The ARN of the Node. It is automatically assigned when the Node is created. + * @public + */ + Arn?: string; + + /** + * An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups. + * @public + */ + ChannelPlacementGroups?: string[]; + + /** + * The ID of the Cluster that the Node belongs to. + * @public + */ + ClusterId?: string; + + /** + * The current connection state of the Node. + * @public + */ + ConnectionState?: NodeConnectionState; + + /** + * The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN. + * @public + */ + Id?: string; + + /** + * The ARN of the EC2 instance hosting the Node. + * @public + */ + InstanceArn?: string; + + /** + * The name that you specified for the Node. + * @public + */ + Name?: string; + + /** + * Documentation update needed + * @public + */ + NodeInterfaceMappings?: NodeInterfaceMapping[]; + + /** + * The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails. + * @public + */ + Role?: NodeRole; + + /** + * The current state of the Node. + * @public + */ + State?: NodeState; +} + /** * Request to update a reservation * @public diff --git a/clients/client-medialive/src/pagination/ListChannelPlacementGroupsPaginator.ts b/clients/client-medialive/src/pagination/ListChannelPlacementGroupsPaginator.ts new file mode 100644 index 000000000000..ba7caf5b84c3 --- /dev/null +++ b/clients/client-medialive/src/pagination/ListChannelPlacementGroupsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListChannelPlacementGroupsCommand, + ListChannelPlacementGroupsCommandInput, + ListChannelPlacementGroupsCommandOutput, +} from "../commands/ListChannelPlacementGroupsCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListChannelPlacementGroups: ( + config: MediaLivePaginationConfiguration, + input: ListChannelPlacementGroupsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + MediaLivePaginationConfiguration, + ListChannelPlacementGroupsCommandInput, + ListChannelPlacementGroupsCommandOutput +>(MediaLiveClient, ListChannelPlacementGroupsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-medialive/src/pagination/ListClustersPaginator.ts b/clients/client-medialive/src/pagination/ListClustersPaginator.ts new file mode 100644 index 000000000000..f4fd94c91dc5 --- /dev/null +++ b/clients/client-medialive/src/pagination/ListClustersPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListClustersCommand, + ListClustersCommandInput, + ListClustersCommandOutput, +} from "../commands/ListClustersCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListClusters: ( + config: MediaLivePaginationConfiguration, + input: ListClustersCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + MediaLivePaginationConfiguration, + ListClustersCommandInput, + ListClustersCommandOutput +>(MediaLiveClient, ListClustersCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-medialive/src/pagination/ListNetworksPaginator.ts b/clients/client-medialive/src/pagination/ListNetworksPaginator.ts new file mode 100644 index 000000000000..8ad0b9247628 --- /dev/null +++ b/clients/client-medialive/src/pagination/ListNetworksPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListNetworksCommand, + ListNetworksCommandInput, + ListNetworksCommandOutput, +} from "../commands/ListNetworksCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListNetworks: ( + config: MediaLivePaginationConfiguration, + input: ListNetworksCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + MediaLivePaginationConfiguration, + ListNetworksCommandInput, + ListNetworksCommandOutput +>(MediaLiveClient, ListNetworksCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-medialive/src/pagination/ListNodesPaginator.ts b/clients/client-medialive/src/pagination/ListNodesPaginator.ts new file mode 100644 index 000000000000..ba111a1e1527 --- /dev/null +++ b/clients/client-medialive/src/pagination/ListNodesPaginator.ts @@ -0,0 +1,20 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { ListNodesCommand, ListNodesCommandInput, ListNodesCommandOutput } from "../commands/ListNodesCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; +import { MediaLivePaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListNodes: ( + config: MediaLivePaginationConfiguration, + input: ListNodesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + MediaLivePaginationConfiguration, + ListNodesCommandInput, + ListNodesCommandOutput +>(MediaLiveClient, ListNodesCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-medialive/src/pagination/index.ts b/clients/client-medialive/src/pagination/index.ts index 855dc21dc274..33ec1f5efad8 100644 --- a/clients/client-medialive/src/pagination/index.ts +++ b/clients/client-medialive/src/pagination/index.ts @@ -1,9 +1,11 @@ export * from "./DescribeSchedulePaginator"; // smithy-typescript generated code export * from "./Interfaces"; +export * from "./ListChannelPlacementGroupsPaginator"; export * from "./ListChannelsPaginator"; export * from "./ListCloudWatchAlarmTemplateGroupsPaginator"; export * from "./ListCloudWatchAlarmTemplatesPaginator"; +export * from "./ListClustersPaginator"; export * from "./ListEventBridgeRuleTemplateGroupsPaginator"; export * from "./ListEventBridgeRuleTemplatesPaginator"; export * from "./ListInputDeviceTransfersPaginator"; @@ -12,6 +14,8 @@ export * from "./ListInputSecurityGroupsPaginator"; export * from "./ListInputsPaginator"; export * from "./ListMultiplexProgramsPaginator"; export * from "./ListMultiplexesPaginator"; +export * from "./ListNetworksPaginator"; +export * from "./ListNodesPaginator"; export * from "./ListOfferingsPaginator"; export * from "./ListReservationsPaginator"; export * from "./ListSignalMapsPaginator"; diff --git a/clients/client-medialive/src/protocols/Aws_restJson1.ts b/clients/client-medialive/src/protocols/Aws_restJson1.ts index 04011a5027aa..9d7b3d533289 100644 --- a/clients/client-medialive/src/protocols/Aws_restJson1.ts +++ b/clients/client-medialive/src/protocols/Aws_restJson1.ts @@ -48,6 +48,10 @@ import { } from "../commands/CancelInputDeviceTransferCommand"; import { ClaimDeviceCommandInput, ClaimDeviceCommandOutput } from "../commands/ClaimDeviceCommand"; import { CreateChannelCommandInput, CreateChannelCommandOutput } from "../commands/CreateChannelCommand"; +import { + CreateChannelPlacementGroupCommandInput, + CreateChannelPlacementGroupCommandOutput, +} from "../commands/CreateChannelPlacementGroupCommand"; import { CreateCloudWatchAlarmTemplateCommandInput, CreateCloudWatchAlarmTemplateCommandOutput, @@ -56,6 +60,7 @@ import { CreateCloudWatchAlarmTemplateGroupCommandInput, CreateCloudWatchAlarmTemplateGroupCommandOutput, } from "../commands/CreateCloudWatchAlarmTemplateGroupCommand"; +import { CreateClusterCommandInput, CreateClusterCommandOutput } from "../commands/CreateClusterCommand"; import { CreateEventBridgeRuleTemplateCommandInput, CreateEventBridgeRuleTemplateCommandOutput, @@ -74,10 +79,20 @@ import { CreateMultiplexProgramCommandInput, CreateMultiplexProgramCommandOutput, } from "../commands/CreateMultiplexProgramCommand"; +import { CreateNetworkCommandInput, CreateNetworkCommandOutput } from "../commands/CreateNetworkCommand"; +import { CreateNodeCommandInput, CreateNodeCommandOutput } from "../commands/CreateNodeCommand"; +import { + CreateNodeRegistrationScriptCommandInput, + CreateNodeRegistrationScriptCommandOutput, +} from "../commands/CreateNodeRegistrationScriptCommand"; import { CreatePartnerInputCommandInput, CreatePartnerInputCommandOutput } from "../commands/CreatePartnerInputCommand"; import { CreateSignalMapCommandInput, CreateSignalMapCommandOutput } from "../commands/CreateSignalMapCommand"; import { CreateTagsCommandInput, CreateTagsCommandOutput } from "../commands/CreateTagsCommand"; import { DeleteChannelCommandInput, DeleteChannelCommandOutput } from "../commands/DeleteChannelCommand"; +import { + DeleteChannelPlacementGroupCommandInput, + DeleteChannelPlacementGroupCommandOutput, +} from "../commands/DeleteChannelPlacementGroupCommand"; import { DeleteCloudWatchAlarmTemplateCommandInput, DeleteCloudWatchAlarmTemplateCommandOutput, @@ -86,6 +101,7 @@ import { DeleteCloudWatchAlarmTemplateGroupCommandInput, DeleteCloudWatchAlarmTemplateGroupCommandOutput, } from "../commands/DeleteCloudWatchAlarmTemplateGroupCommand"; +import { DeleteClusterCommandInput, DeleteClusterCommandOutput } from "../commands/DeleteClusterCommand"; import { DeleteEventBridgeRuleTemplateCommandInput, DeleteEventBridgeRuleTemplateCommandOutput, @@ -104,6 +120,8 @@ import { DeleteMultiplexProgramCommandInput, DeleteMultiplexProgramCommandOutput, } from "../commands/DeleteMultiplexProgramCommand"; +import { DeleteNetworkCommandInput, DeleteNetworkCommandOutput } from "../commands/DeleteNetworkCommand"; +import { DeleteNodeCommandInput, DeleteNodeCommandOutput } from "../commands/DeleteNodeCommand"; import { DeleteReservationCommandInput, DeleteReservationCommandOutput } from "../commands/DeleteReservationCommand"; import { DeleteScheduleCommandInput, DeleteScheduleCommandOutput } from "../commands/DeleteScheduleCommand"; import { DeleteSignalMapCommandInput, DeleteSignalMapCommandOutput } from "../commands/DeleteSignalMapCommand"; @@ -113,6 +131,11 @@ import { DescribeAccountConfigurationCommandOutput, } from "../commands/DescribeAccountConfigurationCommand"; import { DescribeChannelCommandInput, DescribeChannelCommandOutput } from "../commands/DescribeChannelCommand"; +import { + DescribeChannelPlacementGroupCommandInput, + DescribeChannelPlacementGroupCommandOutput, +} from "../commands/DescribeChannelPlacementGroupCommand"; +import { DescribeClusterCommandInput, DescribeClusterCommandOutput } from "../commands/DescribeClusterCommand"; import { DescribeInputCommandInput, DescribeInputCommandOutput } from "../commands/DescribeInputCommand"; import { DescribeInputDeviceCommandInput, @@ -131,6 +154,8 @@ import { DescribeMultiplexProgramCommandInput, DescribeMultiplexProgramCommandOutput, } from "../commands/DescribeMultiplexProgramCommand"; +import { DescribeNetworkCommandInput, DescribeNetworkCommandOutput } from "../commands/DescribeNetworkCommand"; +import { DescribeNodeCommandInput, DescribeNodeCommandOutput } from "../commands/DescribeNodeCommand"; import { DescribeOfferingCommandInput, DescribeOfferingCommandOutput } from "../commands/DescribeOfferingCommand"; import { DescribeReservationCommandInput, @@ -155,6 +180,10 @@ import { GetEventBridgeRuleTemplateGroupCommandOutput, } from "../commands/GetEventBridgeRuleTemplateGroupCommand"; import { GetSignalMapCommandInput, GetSignalMapCommandOutput } from "../commands/GetSignalMapCommand"; +import { + ListChannelPlacementGroupsCommandInput, + ListChannelPlacementGroupsCommandOutput, +} from "../commands/ListChannelPlacementGroupsCommand"; import { ListChannelsCommandInput, ListChannelsCommandOutput } from "../commands/ListChannelsCommand"; import { ListCloudWatchAlarmTemplateGroupsCommandInput, @@ -164,6 +193,7 @@ import { ListCloudWatchAlarmTemplatesCommandInput, ListCloudWatchAlarmTemplatesCommandOutput, } from "../commands/ListCloudWatchAlarmTemplatesCommand"; +import { ListClustersCommandInput, ListClustersCommandOutput } from "../commands/ListClustersCommand"; import { ListEventBridgeRuleTemplateGroupsCommandInput, ListEventBridgeRuleTemplateGroupsCommandOutput, @@ -187,6 +217,8 @@ import { ListMultiplexProgramsCommandInput, ListMultiplexProgramsCommandOutput, } from "../commands/ListMultiplexProgramsCommand"; +import { ListNetworksCommandInput, ListNetworksCommandOutput } from "../commands/ListNetworksCommand"; +import { ListNodesCommandInput, ListNodesCommandOutput } from "../commands/ListNodesCommand"; import { ListOfferingsCommandInput, ListOfferingsCommandOutput } from "../commands/ListOfferingsCommand"; import { ListReservationsCommandInput, ListReservationsCommandOutput } from "../commands/ListReservationsCommand"; import { ListSignalMapsCommandInput, ListSignalMapsCommandOutput } from "../commands/ListSignalMapsCommand"; @@ -236,6 +268,10 @@ import { } from "../commands/UpdateAccountConfigurationCommand"; import { UpdateChannelClassCommandInput, UpdateChannelClassCommandOutput } from "../commands/UpdateChannelClassCommand"; import { UpdateChannelCommandInput, UpdateChannelCommandOutput } from "../commands/UpdateChannelCommand"; +import { + UpdateChannelPlacementGroupCommandInput, + UpdateChannelPlacementGroupCommandOutput, +} from "../commands/UpdateChannelPlacementGroupCommand"; import { UpdateCloudWatchAlarmTemplateCommandInput, UpdateCloudWatchAlarmTemplateCommandOutput, @@ -244,6 +280,7 @@ import { UpdateCloudWatchAlarmTemplateGroupCommandInput, UpdateCloudWatchAlarmTemplateGroupCommandOutput, } from "../commands/UpdateCloudWatchAlarmTemplateGroupCommand"; +import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "../commands/UpdateClusterCommand"; import { UpdateEventBridgeRuleTemplateCommandInput, UpdateEventBridgeRuleTemplateCommandOutput, @@ -263,6 +300,9 @@ import { UpdateMultiplexProgramCommandInput, UpdateMultiplexProgramCommandOutput, } from "../commands/UpdateMultiplexProgramCommand"; +import { UpdateNetworkCommandInput, UpdateNetworkCommandOutput } from "../commands/UpdateNetworkCommand"; +import { UpdateNodeCommandInput, UpdateNodeCommandOutput } from "../commands/UpdateNodeCommand"; +import { UpdateNodeStateCommandInput, UpdateNodeStateCommandOutput } from "../commands/UpdateNodeStateCommand"; import { UpdateReservationCommandInput, UpdateReservationCommandOutput } from "../commands/UpdateReservationCommand"; import { MediaLiveServiceException as __BaseException } from "../models/MediaLiveServiceException"; import { @@ -280,7 +320,6 @@ import { AudioHlsRenditionSelection, AudioLanguageSelection, AudioNormalizationSettings, - AudioOnlyHlsSettings, AudioPidSelection, AudioSelector, AudioSelectorSettings, @@ -304,10 +343,16 @@ import { ChannelSummary, CloudWatchAlarmTemplateGroupSummary, CloudWatchAlarmTemplateSummary, + ClusterNetworkSettings, CmafIngestOutputSettings, ColorCorrection, DashRoleAudio, DashRoleCaption, + DescribeAnywhereSettings, + DescribeChannelPlacementGroupSummary, + DescribeClusterSummary, + DescribeNetworkSummary, + DescribeNodeSummary, DvbNitSettings, DvbSdtSettings, DvbSubDestinationSettings, @@ -324,20 +369,15 @@ import { EventBridgeRuleTemplateTarget, FailoverCondition, FailoverConditionSettings, - FecOutputSettings, - Fmp4HlsSettings, - FrameCaptureHlsSettings, - FrameCaptureOutputSettings, Hdr10Settings, HlsAdMarkers, HlsInputSettings, - HlsOutputSettings, - HlsSettings, Input, InputAttachment, InputChannelLevel, InputDestination, InputDestinationRequest, + InputDestinationRoute, InputDestinationVpc, InputDeviceConfigurableAudioChannelPairConfig, InputDeviceHdSettings, @@ -350,6 +390,7 @@ import { InputDeviceUhdSettings, InputLocation, InputLossFailoverSettings, + InputRequestDestinationRoute, InputSecurityGroup, InputSettings, InputSource, @@ -357,19 +398,26 @@ import { InputSpecification, InputWhitelistRule, InputWhitelistRuleCidr, + InterfaceMapping, + InterfaceMappingCreateRequest, + InterfaceMappingUpdateRequest, + IpPool, + IpPoolCreateRequest, + IpPoolUpdateRequest, M2tsSettings, - M3u8Settings, MaintenanceStatus, MediaConnectFlow, MediaConnectFlowRequest, MediaPackageOutputDestinationSettings, - MediaPackageOutputSettings, MediaResourceNeighbor, Mp2Settings, - MsSmoothOutputSettings, + MulticastInputSettings, + MulticastSettings, + MulticastSource, + MulticastSourceCreateRequest, + MulticastSourceUpdateRequest, MultiplexMediaConnectOutputDestinationSettings, MultiplexOutputDestination, - MultiplexOutputSettings, MultiplexProgramChannelDestinationSettings, MultiplexProgramPipelineDetail, MultiplexProgramSummary, @@ -379,18 +427,17 @@ import { NielsenCBET, NielsenNaesIiNw, NielsenWatermarksSettings, + NodeInterfaceMapping, + NodeInterfaceMappingCreateRequest, Offering, - Output, OutputDestination, OutputDestinationSettings, - OutputLocationRef, - OutputSettings, PassThroughSettings, RawSettings, RemixSettings, ReservationResourceSpecification, + Route, RtmpCaptionInfoDestinationSettings, - RtmpOutputSettings, Scte20PlusEmbeddedDestinationSettings, Scte20SourceSettings, Scte27DestinationSettings, @@ -398,13 +445,11 @@ import { SmpteTtDestinationSettings, SrtCallerDecryption, SrtCallerSource, + SrtOutputDestinationSettings, SrtSettings, - StandardHlsSettings, TeletextDestinationSettings, TeletextSourceSettings, TtmlDestinationSettings, - UdpContainerSettings, - UdpOutputSettings, VideoBlackFailoverSettings, VideoSelector, VideoSelectorColorSpaceSettings, @@ -417,9 +462,13 @@ import { } from "../models/models_0"; import { AccountConfiguration, + AnywhereSettings, ArchiveCdnSettings, ArchiveGroupSettings, ArchiveS3Settings, + AudioOnlyHlsSettings, + Av1ColorSpaceSettings, + Av1Settings, AvailBlanking, AvailConfiguration, AvailSettings, @@ -430,21 +479,23 @@ import { BatchScheduleActionDeleteRequest, BatchScheduleActionDeleteResult, BlackoutSlate, - Channel, CmafIngestGroupSettings, ColorCorrectionSettings, ColorSpacePassthroughSettings, ConflictException, DolbyVision81Settings, - EncoderSettings, EpochLockingSettings, Esam, FeatureActivations, + FecOutputSettings, FixedModeScheduleActionStartSettings, + Fmp4HlsSettings, FollowModeScheduleActionStartSettings, ForbiddenException, FrameCaptureCdnSettings, FrameCaptureGroupSettings, + FrameCaptureHlsSettings, + FrameCaptureOutputSettings, FrameCaptureS3Settings, FrameCaptureSettings, GatewayTimeoutException, @@ -461,7 +512,9 @@ import { HlsGroupSettings, HlsId3SegmentTaggingScheduleActionSettings, HlsMediaStoreSettings, + HlsOutputSettings, HlsS3Settings, + HlsSettings, HlsTimedMetadataScheduleActionSettings, HlsWebdavSettings, HtmlMotionGraphicsSettings, @@ -470,11 +523,11 @@ import { InputLossBehavior, InputPrepareScheduleActionSettings, InputSwitchScheduleActionSettings, - InputVpcRequest, InternalServerErrorException, KeyProviderSettings, - MaintenanceCreateSettings, + M3u8Settings, MediaPackageGroupSettings, + MediaPackageOutputSettings, MotionGraphicsActivateScheduleActionSettings, MotionGraphicsConfiguration, MotionGraphicsDeactivateScheduleActionSettings, @@ -482,20 +535,16 @@ import { Mpeg2FilterSettings, Mpeg2Settings, MsSmoothGroupSettings, - Multiplex, + MsSmoothOutputSettings, MultiplexGroupSettings, - MultiplexProgram, - MultiplexProgramPacketIdentifiersMap, - MultiplexProgramServiceDescriptor, - MultiplexProgramSettings, - MultiplexSettings, - MultiplexStatmuxVideoSettings, - MultiplexVideoSettings, - NielsenConfiguration, + MultiplexOutputSettings, NotFoundException, + Output, OutputGroup, OutputGroupSettings, + OutputLocationRef, OutputLockingSettings, + OutputSettings, PauseStateScheduleActionSettings, PipelineDetail, PipelineLockingSettings, @@ -504,8 +553,11 @@ import { Rec709Settings, RenewalSettings, Reservation, + RouteCreateRequest, + RouteUpdateRequest, RtmpAdMarkers, RtmpGroupSettings, + RtmpOutputSettings, ScheduleAction, ScheduleActionSettings, ScheduleActionStartSettings, @@ -522,7 +574,9 @@ import { SignalMapSummary, SrtCallerDecryptionRequest, SrtCallerSourceRequest, - SrtSettingsRequest, + SrtGroupSettings, + SrtOutputSettings, + StandardHlsSettings, StartTimecode, StaticImageActivateScheduleActionSettings, StaticImageDeactivateScheduleActionSettings, @@ -532,26 +586,46 @@ import { StopTimecode, TemporalFilterSettings, Thumbnail, - ThumbnailConfiguration, ThumbnailDetail, TimecodeBurninSettings, - TimecodeConfig, TooManyRequestsException, TransferringInputDeviceSummary, + UdpContainerSettings, UdpGroupSettings, + UdpOutputSettings, UnprocessableEntityException, ValidationError, VideoCodecSettings, VideoDescription, - VpcOutputSettings, } from "../models/models_1"; import { + Channel, + ClusterNetworkSettingsCreateRequest, + ClusterNetworkSettingsUpdateRequest, + EncoderSettings, InputDeviceConfigurableSettings, InputDeviceMediaConnectConfigurableSettings, + InputVpcRequest, + MaintenanceCreateSettings, MaintenanceUpdateSettings, MediaResource, MonitorDeployment, + MulticastSettingsCreateRequest, + MulticastSettingsUpdateRequest, + Multiplex, + MultiplexProgram, + MultiplexProgramPacketIdentifiersMap, + MultiplexProgramServiceDescriptor, + MultiplexProgramSettings, + MultiplexSettings, + MultiplexStatmuxVideoSettings, + MultiplexVideoSettings, + NielsenConfiguration, + SrtSettingsRequest, SuccessfulMonitorDeployment, + ThumbnailConfiguration, + TimecodeConfig, + VpcOutputSettings, } from "../models/models_2"; /** @@ -718,6 +792,7 @@ export const se_CreateChannelCommand = async ( let body: any; body = JSON.stringify( take(input, { + anywhereSettings: [, (_) => se_AnywhereSettings(_, context), `AnywhereSettings`], cdiInputSpecification: [, (_) => se_CdiInputSpecification(_, context), `CdiInputSpecification`], channelClass: [, , `ChannelClass`], destinations: [, (_) => se___listOfOutputDestination(_, context), `Destinations`], @@ -738,6 +813,32 @@ export const se_CreateChannelCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateChannelPlacementGroupCommand + */ +export const se_CreateChannelPlacementGroupCommand = async ( + input: CreateChannelPlacementGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/clusters/{ClusterId}/channelplacementgroups"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + let body: any; + body = JSON.stringify( + take(input, { + name: [, , `Name`], + nodes: [, (_) => _json(_), `Nodes`], + requestId: [true, (_) => _ ?? generateIdempotencyToken(), `RequestId`], + tags: [, (_) => _json(_), `Tags`], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateCloudWatchAlarmTemplateCommand */ @@ -796,6 +897,33 @@ export const se_CreateCloudWatchAlarmTemplateGroupCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateClusterCommand + */ +export const se_CreateClusterCommand = async ( + input: CreateClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/clusters"); + let body: any; + body = JSON.stringify( + take(input, { + clusterType: [, , `ClusterType`], + instanceRoleArn: [, , `InstanceRoleArn`], + name: [, , `Name`], + networkSettings: [, (_) => se_ClusterNetworkSettingsCreateRequest(_, context), `NetworkSettings`], + requestId: [true, (_) => _ ?? generateIdempotencyToken(), `RequestId`], + tags: [, (_) => _json(_), `Tags`], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateEventBridgeRuleTemplateCommand */ @@ -864,8 +992,10 @@ export const se_CreateInputCommand = async ( take(input, { destinations: [, (_) => se___listOfInputDestinationRequest(_, context), `Destinations`], inputDevices: [, (_) => se___listOfInputDeviceSettings(_, context), `InputDevices`], + inputNetworkLocation: [, , `InputNetworkLocation`], inputSecurityGroups: [, (_) => _json(_), `InputSecurityGroups`], mediaConnectFlows: [, (_) => se___listOfMediaConnectFlowRequest(_, context), `MediaConnectFlows`], + multicastSettings: [, (_) => se_MulticastSettingsCreateRequest(_, context), `MulticastSettings`], name: [, , `Name`], requestId: [true, (_) => _ ?? generateIdempotencyToken(), `RequestId`], roleArn: [, , `RoleArn`], @@ -954,6 +1084,90 @@ export const se_CreateMultiplexProgramCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateNetworkCommand + */ +export const se_CreateNetworkCommand = async ( + input: CreateNetworkCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/networks"); + let body: any; + body = JSON.stringify( + take(input, { + ipPools: [, (_) => se___listOfIpPoolCreateRequest(_, context), `IpPools`], + name: [, , `Name`], + requestId: [true, (_) => _ ?? generateIdempotencyToken(), `RequestId`], + routes: [, (_) => se___listOfRouteCreateRequest(_, context), `Routes`], + tags: [, (_) => _json(_), `Tags`], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1CreateNodeCommand + */ +export const se_CreateNodeCommand = async ( + input: CreateNodeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/clusters/{ClusterId}/nodes"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + let body: any; + body = JSON.stringify( + take(input, { + name: [, , `Name`], + nodeInterfaceMappings: [ + , + (_) => se___listOfNodeInterfaceMappingCreateRequest(_, context), + `NodeInterfaceMappings`, + ], + requestId: [true, (_) => _ ?? generateIdempotencyToken(), `RequestId`], + role: [, , `Role`], + tags: [, (_) => _json(_), `Tags`], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1CreateNodeRegistrationScriptCommand + */ +export const se_CreateNodeRegistrationScriptCommand = async ( + input: CreateNodeRegistrationScriptCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/clusters/{ClusterId}/nodeRegistrationScript"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + let body: any; + body = JSON.stringify( + take(input, { + id: [, , `Id`], + name: [, , `Name`], + nodeInterfaceMappings: [, (_) => se___listOfNodeInterfaceMapping(_, context), `NodeInterfaceMappings`], + requestId: [true, (_) => _ ?? generateIdempotencyToken(), `RequestId`], + role: [, , `Role`], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreatePartnerInputCommand */ @@ -1044,6 +1258,23 @@ export const se_DeleteChannelCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteChannelPlacementGroupCommand + */ +export const se_DeleteChannelPlacementGroupCommand = async ( + input: DeleteChannelPlacementGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/clusters/{ClusterId}/channelplacementgroups/{ChannelPlacementGroupId}"); + b.p("ChannelPlacementGroupId", () => input.ChannelPlacementGroupId!, "{ChannelPlacementGroupId}", false); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteCloudWatchAlarmTemplateCommand */ @@ -1076,6 +1307,22 @@ export const se_DeleteCloudWatchAlarmTemplateGroupCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteClusterCommand + */ +export const se_DeleteClusterCommand = async ( + input: DeleteClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/clusters/{ClusterId}"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteEventBridgeRuleTemplateCommand */ @@ -1173,6 +1420,39 @@ export const se_DeleteMultiplexProgramCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteNetworkCommand + */ +export const se_DeleteNetworkCommand = async ( + input: DeleteNetworkCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/networks/{NetworkId}"); + b.p("NetworkId", () => input.NetworkId!, "{NetworkId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1DeleteNodeCommand + */ +export const se_DeleteNodeCommand = async ( + input: DeleteNodeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/clusters/{ClusterId}/nodes/{NodeId}"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + b.p("NodeId", () => input.NodeId!, "{NodeId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteReservationCommand */ @@ -1274,6 +1554,39 @@ export const se_DescribeChannelCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DescribeChannelPlacementGroupCommand + */ +export const se_DescribeChannelPlacementGroupCommand = async ( + input: DescribeChannelPlacementGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/clusters/{ClusterId}/channelplacementgroups/{ChannelPlacementGroupId}"); + b.p("ChannelPlacementGroupId", () => input.ChannelPlacementGroupId!, "{ChannelPlacementGroupId}", false); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1DescribeClusterCommand + */ +export const se_DescribeClusterCommand = async ( + input: DescribeClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/clusters/{ClusterId}"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DescribeInputCommand */ @@ -1374,42 +1687,75 @@ export const se_DescribeMultiplexProgramCommand = async ( }; /** - * serializeAws_restJson1DescribeOfferingCommand + * serializeAws_restJson1DescribeNetworkCommand */ -export const se_DescribeOfferingCommand = async ( - input: DescribeOfferingCommandInput, +export const se_DescribeNetworkCommand = async ( + input: DescribeNetworkCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const b = rb(input, context); const headers: any = {}; - b.bp("/prod/offerings/{OfferingId}"); - b.p("OfferingId", () => input.OfferingId!, "{OfferingId}", false); + b.bp("/prod/networks/{NetworkId}"); + b.p("NetworkId", () => input.NetworkId!, "{NetworkId}", false); let body: any; b.m("GET").h(headers).b(body); return b.build(); }; /** - * serializeAws_restJson1DescribeReservationCommand + * serializeAws_restJson1DescribeNodeCommand */ -export const se_DescribeReservationCommand = async ( - input: DescribeReservationCommandInput, +export const se_DescribeNodeCommand = async ( + input: DescribeNodeCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const b = rb(input, context); const headers: any = {}; - b.bp("/prod/reservations/{ReservationId}"); - b.p("ReservationId", () => input.ReservationId!, "{ReservationId}", false); + b.bp("/prod/clusters/{ClusterId}/nodes/{NodeId}"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + b.p("NodeId", () => input.NodeId!, "{NodeId}", false); let body: any; b.m("GET").h(headers).b(body); return b.build(); }; /** - * serializeAws_restJson1DescribeScheduleCommand + * serializeAws_restJson1DescribeOfferingCommand */ -export const se_DescribeScheduleCommand = async ( - input: DescribeScheduleCommandInput, +export const se_DescribeOfferingCommand = async ( + input: DescribeOfferingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/offerings/{OfferingId}"); + b.p("OfferingId", () => input.OfferingId!, "{OfferingId}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1DescribeReservationCommand + */ +export const se_DescribeReservationCommand = async ( + input: DescribeReservationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/reservations/{ReservationId}"); + b.p("ReservationId", () => input.ReservationId!, "{ReservationId}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1DescribeScheduleCommand + */ +export const se_DescribeScheduleCommand = async ( + input: DescribeScheduleCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const b = rb(input, context); @@ -1525,6 +1871,26 @@ export const se_GetSignalMapCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListChannelPlacementGroupsCommand + */ +export const se_ListChannelPlacementGroupsCommand = async ( + input: ListChannelPlacementGroupsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/clusters/{ClusterId}/channelplacementgroups"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + const query: any = map({ + [_mR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], + [_nT]: [, input[_NT]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListChannelsCommand */ @@ -1587,6 +1953,25 @@ export const se_ListCloudWatchAlarmTemplatesCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListClustersCommand + */ +export const se_ListClustersCommand = async ( + input: ListClustersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/clusters"); + const query: any = map({ + [_mR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], + [_nT]: [, input[_NT]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListEventBridgeRuleTemplateGroupsCommand */ @@ -1744,6 +2129,45 @@ export const se_ListMultiplexProgramsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListNetworksCommand + */ +export const se_ListNetworksCommand = async ( + input: ListNetworksCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/networks"); + const query: any = map({ + [_mR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], + [_nT]: [, input[_NT]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1ListNodesCommand + */ +export const se_ListNodesCommand = async ( + input: ListNodesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/prod/clusters/{ClusterId}/nodes"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + const query: any = map({ + [_mR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], + [_nT]: [, input[_NT]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListOfferingsCommand */ @@ -2208,6 +2632,31 @@ export const se_UpdateChannelClassCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateChannelPlacementGroupCommand + */ +export const se_UpdateChannelPlacementGroupCommand = async ( + input: UpdateChannelPlacementGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/clusters/{ClusterId}/channelplacementgroups/{ChannelPlacementGroupId}"); + b.p("ChannelPlacementGroupId", () => input.ChannelPlacementGroupId!, "{ChannelPlacementGroupId}", false); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + let body: any; + body = JSON.stringify( + take(input, { + name: [, , `Name`], + nodes: [, (_) => _json(_), `Nodes`], + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateCloudWatchAlarmTemplateCommand */ @@ -2265,6 +2714,30 @@ export const se_UpdateCloudWatchAlarmTemplateGroupCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateClusterCommand + */ +export const se_UpdateClusterCommand = async ( + input: UpdateClusterCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/clusters/{ClusterId}"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + let body: any; + body = JSON.stringify( + take(input, { + name: [, , `Name`], + networkSettings: [, (_) => se_ClusterNetworkSettingsUpdateRequest(_, context), `NetworkSettings`], + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateEventBridgeRuleTemplateCommand */ @@ -2335,6 +2808,7 @@ export const se_UpdateInputCommand = async ( inputDevices: [, (_) => se___listOfInputDeviceRequest(_, context), `InputDevices`], inputSecurityGroups: [, (_) => _json(_), `InputSecurityGroups`], mediaConnectFlows: [, (_) => se___listOfMediaConnectFlowRequest(_, context), `MediaConnectFlows`], + multicastSettings: [, (_) => se_MulticastSettingsUpdateRequest(_, context), `MulticastSettings`], name: [, , `Name`], roleArn: [, , `RoleArn`], sources: [, (_) => se___listOfInputSourceRequest(_, context), `Sources`], @@ -2444,6 +2918,80 @@ export const se_UpdateMultiplexProgramCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateNetworkCommand + */ +export const se_UpdateNetworkCommand = async ( + input: UpdateNetworkCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/networks/{NetworkId}"); + b.p("NetworkId", () => input.NetworkId!, "{NetworkId}", false); + let body: any; + body = JSON.stringify( + take(input, { + ipPools: [, (_) => se___listOfIpPoolUpdateRequest(_, context), `IpPools`], + name: [, , `Name`], + routes: [, (_) => se___listOfRouteUpdateRequest(_, context), `Routes`], + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1UpdateNodeCommand + */ +export const se_UpdateNodeCommand = async ( + input: UpdateNodeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/clusters/{ClusterId}/nodes/{NodeId}"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + b.p("NodeId", () => input.NodeId!, "{NodeId}", false); + let body: any; + body = JSON.stringify( + take(input, { + name: [, , `Name`], + role: [, , `Role`], + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1UpdateNodeStateCommand + */ +export const se_UpdateNodeStateCommand = async ( + input: UpdateNodeStateCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/prod/clusters/{ClusterId}/nodes/{NodeId}/state"); + b.p("ClusterId", () => input.ClusterId!, "{ClusterId}", false); + b.p("NodeId", () => input.NodeId!, "{NodeId}", false); + let body: any; + body = JSON.stringify( + take(input, { + state: [, , `State`], + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateReservationCommand */ @@ -2628,6 +3176,33 @@ export const de_CreateChannelCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateChannelPlacementGroupCommand + */ +export const de_CreateChannelPlacementGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + Channels: [, _json, `channels`], + ClusterId: [, __expectString, `clusterId`], + Id: [, __expectString, `id`], + Name: [, __expectString, `name`], + Nodes: [, _json, `nodes`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateCloudWatchAlarmTemplateCommand */ @@ -2692,6 +3267,34 @@ export const de_CreateCloudWatchAlarmTemplateGroupCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateClusterCommand + */ +export const de_CreateClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + ChannelIds: [, _json, `channelIds`], + ClusterType: [, __expectString, `clusterType`], + Id: [, __expectString, `id`], + InstanceRoleArn: [, __expectString, `instanceRoleArn`], + Name: [, __expectString, `name`], + NetworkSettings: [, (_) => de_ClusterNetworkSettings(_, context), `networkSettings`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateEventBridgeRuleTemplateCommand */ @@ -2833,6 +3436,84 @@ export const de_CreateMultiplexProgramCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateNetworkCommand + */ +export const de_CreateNetworkCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + AssociatedClusterIds: [, _json, `associatedClusterIds`], + Id: [, __expectString, `id`], + IpPools: [, (_) => de___listOfIpPool(_, context), `ipPools`], + Name: [, __expectString, `name`], + Routes: [, (_) => de___listOfRoute(_, context), `routes`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1CreateNodeCommand + */ +export const de_CreateNodeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + ChannelPlacementGroups: [, _json, `channelPlacementGroups`], + ClusterId: [, __expectString, `clusterId`], + ConnectionState: [, __expectString, `connectionState`], + Id: [, __expectString, `id`], + InstanceArn: [, __expectString, `instanceArn`], + Name: [, __expectString, `name`], + NodeInterfaceMappings: [, (_) => de___listOfNodeInterfaceMapping(_, context), `nodeInterfaceMappings`], + Role: [, __expectString, `role`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1CreateNodeRegistrationScriptCommand + */ +export const de_CreateNodeRegistrationScriptCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + NodeRegistrationScript: [, __expectString, `nodeRegistrationScript`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreatePartnerInputCommand */ @@ -2928,6 +3609,7 @@ export const de_DeleteChannelCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + AnywhereSettings: [, (_) => de_DescribeAnywhereSettings(_, context), `anywhereSettings`], Arn: [, __expectString, `arn`], CdiInputSpecification: [, (_) => de_CdiInputSpecification(_, context), `cdiInputSpecification`], ChannelClass: [, __expectString, `channelClass`], @@ -2951,6 +3633,33 @@ export const de_DeleteChannelCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteChannelPlacementGroupCommand + */ +export const de_DeleteChannelPlacementGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + Channels: [, _json, `channels`], + ClusterId: [, __expectString, `clusterId`], + Id: [, __expectString, `id`], + Name: [, __expectString, `name`], + Nodes: [, _json, `nodes`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DeleteCloudWatchAlarmTemplateCommand */ @@ -2985,6 +3694,34 @@ export const de_DeleteCloudWatchAlarmTemplateGroupCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteClusterCommand + */ +export const de_DeleteClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + ChannelIds: [, _json, `channelIds`], + ClusterType: [, __expectString, `clusterType`], + Id: [, __expectString, `id`], + InstanceRoleArn: [, __expectString, `instanceRoleArn`], + Name: [, __expectString, `name`], + NetworkSettings: [, (_) => de_ClusterNetworkSettings(_, context), `networkSettings`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DeleteEventBridgeRuleTemplateCommand */ @@ -3108,6 +3845,63 @@ export const de_DeleteMultiplexProgramCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteNetworkCommand + */ +export const de_DeleteNetworkCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + AssociatedClusterIds: [, _json, `associatedClusterIds`], + Id: [, __expectString, `id`], + IpPools: [, (_) => de___listOfIpPool(_, context), `ipPools`], + Name: [, __expectString, `name`], + Routes: [, (_) => de___listOfRoute(_, context), `routes`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteNodeCommand + */ +export const de_DeleteNodeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + ChannelPlacementGroups: [, _json, `channelPlacementGroups`], + ClusterId: [, __expectString, `clusterId`], + ConnectionState: [, __expectString, `connectionState`], + Id: [, __expectString, `id`], + InstanceArn: [, __expectString, `instanceArn`], + Name: [, __expectString, `name`], + NodeInterfaceMappings: [, (_) => de___listOfNodeInterfaceMapping(_, context), `nodeInterfaceMappings`], + Role: [, __expectString, `role`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DeleteReservationCommand */ @@ -3234,6 +4028,7 @@ export const de_DescribeChannelCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + AnywhereSettings: [, (_) => de_DescribeAnywhereSettings(_, context), `anywhereSettings`], Arn: [, __expectString, `arn`], CdiInputSpecification: [, (_) => de_CdiInputSpecification(_, context), `cdiInputSpecification`], ChannelClass: [, __expectString, `channelClass`], @@ -3257,6 +4052,61 @@ export const de_DescribeChannelCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DescribeChannelPlacementGroupCommand + */ +export const de_DescribeChannelPlacementGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + Channels: [, _json, `channels`], + ClusterId: [, __expectString, `clusterId`], + Id: [, __expectString, `id`], + Name: [, __expectString, `name`], + Nodes: [, _json, `nodes`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1DescribeClusterCommand + */ +export const de_DescribeClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + ChannelIds: [, _json, `channelIds`], + ClusterType: [, __expectString, `clusterType`], + Id: [, __expectString, `id`], + InstanceRoleArn: [, __expectString, `instanceRoleArn`], + Name: [, __expectString, `name`], + NetworkSettings: [, (_) => de_ClusterNetworkSettings(_, context), `networkSettings`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DescribeInputCommand */ @@ -3278,9 +4128,11 @@ export const de_DescribeInputCommand = async ( Id: [, __expectString, `id`], InputClass: [, __expectString, `inputClass`], InputDevices: [, (_) => de___listOfInputDeviceSettings(_, context), `inputDevices`], + InputNetworkLocation: [, __expectString, `inputNetworkLocation`], InputPartnerIds: [, _json, `inputPartnerIds`], InputSourceType: [, __expectString, `inputSourceType`], MediaConnectFlows: [, (_) => de___listOfMediaConnectFlow(_, context), `mediaConnectFlows`], + MulticastSettings: [, (_) => de_MulticastSettings(_, context), `multicastSettings`], Name: [, __expectString, `name`], RoleArn: [, __expectString, `roleArn`], SecurityGroups: [, _json, `securityGroups`], @@ -3434,6 +4286,63 @@ export const de_DescribeMultiplexProgramCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DescribeNetworkCommand + */ +export const de_DescribeNetworkCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + AssociatedClusterIds: [, _json, `associatedClusterIds`], + Id: [, __expectString, `id`], + IpPools: [, (_) => de___listOfIpPool(_, context), `ipPools`], + Name: [, __expectString, `name`], + Routes: [, (_) => de___listOfRoute(_, context), `routes`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1DescribeNodeCommand + */ +export const de_DescribeNodeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + ChannelPlacementGroups: [, _json, `channelPlacementGroups`], + ClusterId: [, __expectString, `clusterId`], + ConnectionState: [, __expectString, `connectionState`], + Id: [, __expectString, `id`], + InstanceArn: [, __expectString, `instanceArn`], + Name: [, __expectString, `name`], + NodeInterfaceMappings: [, (_) => de___listOfNodeInterfaceMapping(_, context), `nodeInterfaceMappings`], + Role: [, __expectString, `role`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DescribeOfferingCommand */ @@ -3710,6 +4619,32 @@ export const de_GetSignalMapCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListChannelPlacementGroupsCommand + */ +export const de_ListChannelPlacementGroupsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + ChannelPlacementGroups: [ + , + (_) => de___listOfDescribeChannelPlacementGroupSummary(_, context), + `channelPlacementGroups`, + ], + NextToken: [, __expectString, `nextToken`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListChannelsCommand */ @@ -3759,12 +4694,38 @@ export const de_ListCloudWatchAlarmTemplateGroupsCommand = async ( }; /** - * deserializeAws_restJson1ListCloudWatchAlarmTemplatesCommand + * deserializeAws_restJson1ListCloudWatchAlarmTemplatesCommand + */ +export const de_ListCloudWatchAlarmTemplatesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + CloudWatchAlarmTemplates: [ + , + (_) => de___listOfCloudWatchAlarmTemplateSummary(_, context), + `cloudWatchAlarmTemplates`, + ], + NextToken: [, __expectString, `nextToken`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListClustersCommand */ -export const de_ListCloudWatchAlarmTemplatesCommand = async ( +export const de_ListClustersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CommandError(output, context); } @@ -3773,11 +4734,7 @@ export const de_ListCloudWatchAlarmTemplatesCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { - CloudWatchAlarmTemplates: [ - , - (_) => de___listOfCloudWatchAlarmTemplateSummary(_, context), - `cloudWatchAlarmTemplates`, - ], + Clusters: [, (_) => de___listOfDescribeClusterSummary(_, context), `clusters`], NextToken: [, __expectString, `nextToken`], }); Object.assign(contents, doc); @@ -3968,6 +4925,50 @@ export const de_ListMultiplexProgramsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListNetworksCommand + */ +export const de_ListNetworksCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Networks: [, (_) => de___listOfDescribeNetworkSummary(_, context), `networks`], + NextToken: [, __expectString, `nextToken`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListNodesCommand + */ +export const de_ListNodesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + NextToken: [, __expectString, `nextToken`], + Nodes: [, (_) => de___listOfDescribeNodeSummary(_, context), `nodes`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListOfferingsCommand */ @@ -4125,6 +5126,7 @@ export const de_RestartChannelPipelinesCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + AnywhereSettings: [, (_) => de_DescribeAnywhereSettings(_, context), `anywhereSettings`], Arn: [, __expectString, `arn`], CdiInputSpecification: [, (_) => de_CdiInputSpecification(_, context), `cdiInputSpecification`], ChannelClass: [, __expectString, `channelClass`], @@ -4164,6 +5166,7 @@ export const de_StartChannelCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + AnywhereSettings: [, (_) => de_DescribeAnywhereSettings(_, context), `anywhereSettings`], Arn: [, __expectString, `arn`], CdiInputSpecification: [, (_) => de_CdiInputSpecification(_, context), `cdiInputSpecification`], ChannelClass: [, __expectString, `channelClass`], @@ -4392,6 +5395,7 @@ export const de_StopChannelCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + AnywhereSettings: [, (_) => de_DescribeAnywhereSettings(_, context), `anywhereSettings`], Arn: [, __expectString, `arn`], CdiInputSpecification: [, (_) => de_CdiInputSpecification(_, context), `cdiInputSpecification`], ChannelClass: [, __expectString, `channelClass`], @@ -4542,6 +5546,33 @@ export const de_UpdateChannelClassCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateChannelPlacementGroupCommand + */ +export const de_UpdateChannelPlacementGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + Channels: [, _json, `channels`], + ClusterId: [, __expectString, `clusterId`], + Id: [, __expectString, `id`], + Name: [, __expectString, `name`], + Nodes: [, _json, `nodes`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1UpdateCloudWatchAlarmTemplateCommand */ @@ -4606,6 +5637,33 @@ export const de_UpdateCloudWatchAlarmTemplateGroupCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateClusterCommand + */ +export const de_UpdateClusterCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + ChannelIds: [, _json, `channelIds`], + ClusterType: [, __expectString, `clusterType`], + Id: [, __expectString, `id`], + Name: [, __expectString, `name`], + NetworkSettings: [, (_) => de_ClusterNetworkSettings(_, context), `networkSettings`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1UpdateEventBridgeRuleTemplateCommand */ @@ -4783,6 +5841,93 @@ export const de_UpdateMultiplexProgramCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateNetworkCommand + */ +export const de_UpdateNetworkCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + AssociatedClusterIds: [, _json, `associatedClusterIds`], + Id: [, __expectString, `id`], + IpPools: [, (_) => de___listOfIpPool(_, context), `ipPools`], + Name: [, __expectString, `name`], + Routes: [, (_) => de___listOfRoute(_, context), `routes`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1UpdateNodeCommand + */ +export const de_UpdateNodeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + ChannelPlacementGroups: [, _json, `channelPlacementGroups`], + ClusterId: [, __expectString, `clusterId`], + ConnectionState: [, __expectString, `connectionState`], + Id: [, __expectString, `id`], + InstanceArn: [, __expectString, `instanceArn`], + Name: [, __expectString, `name`], + NodeInterfaceMappings: [, (_) => de___listOfNodeInterfaceMapping(_, context), `nodeInterfaceMappings`], + Role: [, __expectString, `role`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1UpdateNodeStateCommand + */ +export const de_UpdateNodeStateCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Arn: [, __expectString, `arn`], + ChannelPlacementGroups: [, _json, `channelPlacementGroups`], + ClusterId: [, __expectString, `clusterId`], + ConnectionState: [, __expectString, `connectionState`], + Id: [, __expectString, `id`], + InstanceArn: [, __expectString, `instanceArn`], + Name: [, __expectString, `name`], + NodeInterfaceMappings: [, (_) => de___listOfNodeInterfaceMapping(_, context), `nodeInterfaceMappings`], + Role: [, __expectString, `role`], + State: [, __expectString, `state`], + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1UpdateReservationCommand */ @@ -5214,6 +6359,20 @@ const se___listOfInputDeviceSettings = (input: InputDeviceSettings[], context: _ }); }; +/** + * serializeAws_restJson1__listOfInputRequestDestinationRoute + */ +const se___listOfInputRequestDestinationRoute = ( + input: InputRequestDestinationRoute[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_InputRequestDestinationRoute(entry, context); + }); +}; + /** * serializeAws_restJson1__listOfInputSourceRequest */ @@ -5236,6 +6395,56 @@ const se___listOfInputWhitelistRuleCidr = (input: InputWhitelistRuleCidr[], cont }); }; +/** + * serializeAws_restJson1__listOfInterfaceMappingCreateRequest + */ +const se___listOfInterfaceMappingCreateRequest = ( + input: InterfaceMappingCreateRequest[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_InterfaceMappingCreateRequest(entry, context); + }); +}; + +/** + * serializeAws_restJson1__listOfInterfaceMappingUpdateRequest + */ +const se___listOfInterfaceMappingUpdateRequest = ( + input: InterfaceMappingUpdateRequest[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_InterfaceMappingUpdateRequest(entry, context); + }); +}; + +/** + * serializeAws_restJson1__listOfIpPoolCreateRequest + */ +const se___listOfIpPoolCreateRequest = (input: IpPoolCreateRequest[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_IpPoolCreateRequest(entry, context); + }); +}; + +/** + * serializeAws_restJson1__listOfIpPoolUpdateRequest + */ +const se___listOfIpPoolUpdateRequest = (input: IpPoolUpdateRequest[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_IpPoolUpdateRequest(entry, context); + }); +}; + /** * serializeAws_restJson1__listOfMediaConnectFlowRequest */ @@ -5261,6 +6470,59 @@ const se___listOfMediaPackageOutputDestinationSettings = ( }); }; +/** + * serializeAws_restJson1__listOfMulticastSourceCreateRequest + */ +const se___listOfMulticastSourceCreateRequest = ( + input: MulticastSourceCreateRequest[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_MulticastSourceCreateRequest(entry, context); + }); +}; + +/** + * serializeAws_restJson1__listOfMulticastSourceUpdateRequest + */ +const se___listOfMulticastSourceUpdateRequest = ( + input: MulticastSourceUpdateRequest[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_MulticastSourceUpdateRequest(entry, context); + }); +}; + +/** + * serializeAws_restJson1__listOfNodeInterfaceMapping + */ +const se___listOfNodeInterfaceMapping = (input: NodeInterfaceMapping[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_NodeInterfaceMapping(entry, context); + }); +}; + +/** + * serializeAws_restJson1__listOfNodeInterfaceMappingCreateRequest + */ +const se___listOfNodeInterfaceMappingCreateRequest = ( + input: NodeInterfaceMappingCreateRequest[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_NodeInterfaceMappingCreateRequest(entry, context); + }); +}; + /** * serializeAws_restJson1__listOfOutput */ @@ -5279,40 +6541,62 @@ const se___listOfOutputDestination = (input: OutputDestination[], context: __Ser return input .filter((e: any) => e != null) .map((entry) => { - return se_OutputDestination(entry, context); + return se_OutputDestination(entry, context); + }); +}; + +/** + * serializeAws_restJson1__listOfOutputDestinationSettings + */ +const se___listOfOutputDestinationSettings = (input: OutputDestinationSettings[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_OutputDestinationSettings(entry, context); + }); +}; + +/** + * serializeAws_restJson1__listOfOutputGroup + */ +const se___listOfOutputGroup = (input: OutputGroup[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_OutputGroup(entry, context); }); }; /** - * serializeAws_restJson1__listOfOutputDestinationSettings + * serializeAws_restJson1__listOfPipelinePauseStateSettings */ -const se___listOfOutputDestinationSettings = (input: OutputDestinationSettings[], context: __SerdeContext): any => { +const se___listOfPipelinePauseStateSettings = (input: PipelinePauseStateSettings[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) .map((entry) => { - return se_OutputDestinationSettings(entry, context); + return se_PipelinePauseStateSettings(entry, context); }); }; /** - * serializeAws_restJson1__listOfOutputGroup + * serializeAws_restJson1__listOfRouteCreateRequest */ -const se___listOfOutputGroup = (input: OutputGroup[], context: __SerdeContext): any => { +const se___listOfRouteCreateRequest = (input: RouteCreateRequest[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) .map((entry) => { - return se_OutputGroup(entry, context); + return se_RouteCreateRequest(entry, context); }); }; /** - * serializeAws_restJson1__listOfPipelinePauseStateSettings + * serializeAws_restJson1__listOfRouteUpdateRequest */ -const se___listOfPipelinePauseStateSettings = (input: PipelinePauseStateSettings[], context: __SerdeContext): any => { +const se___listOfRouteUpdateRequest = (input: RouteUpdateRequest[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) .map((entry) => { - return se_PipelinePauseStateSettings(entry, context); + return se_RouteUpdateRequest(entry, context); }); }; @@ -5351,6 +6635,20 @@ const se___listOfSrtCallerSourceRequest = (input: SrtCallerSourceRequest[], cont }); }; +/** + * serializeAws_restJson1__listOfSrtOutputDestinationSettings + */ +const se___listOfSrtOutputDestinationSettings = ( + input: SrtOutputDestinationSettings[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_SrtOutputDestinationSettings(entry, context); + }); +}; + /** * serializeAws_restJson1__listOfVideoDescription */ @@ -5413,6 +6711,16 @@ const se_AncillarySourceSettings = (input: AncillarySourceSettings, context: __S }); }; +/** + * serializeAws_restJson1AnywhereSettings + */ +const se_AnywhereSettings = (input: AnywhereSettings, context: __SerdeContext): any => { + return take(input, { + channelPlacementGroupId: [, , `ChannelPlacementGroupId`], + clusterId: [, , `ClusterId`], + }); +}; + /** * serializeAws_restJson1ArchiveCdnSettings */ @@ -5646,6 +6954,43 @@ const se_AutomaticInputFailoverSettings = (input: AutomaticInputFailoverSettings }); }; +/** + * serializeAws_restJson1Av1ColorSpaceSettings + */ +const se_Av1ColorSpaceSettings = (input: Av1ColorSpaceSettings, context: __SerdeContext): any => { + return take(input, { + colorSpacePassthroughSettings: [, _json, `ColorSpacePassthroughSettings`], + hdr10Settings: [, (_) => se_Hdr10Settings(_, context), `Hdr10Settings`], + rec601Settings: [, _json, `Rec601Settings`], + rec709Settings: [, _json, `Rec709Settings`], + }); +}; + +/** + * serializeAws_restJson1Av1Settings + */ +const se_Av1Settings = (input: Av1Settings, context: __SerdeContext): any => { + return take(input, { + afdSignaling: [, , `AfdSignaling`], + bufSize: [, , `BufSize`], + colorSpaceSettings: [, (_) => se_Av1ColorSpaceSettings(_, context), `ColorSpaceSettings`], + fixedAfd: [, , `FixedAfd`], + framerateDenominator: [, , `FramerateDenominator`], + framerateNumerator: [, , `FramerateNumerator`], + gopSize: [, __serializeFloat, `GopSize`], + gopSizeUnits: [, , `GopSizeUnits`], + level: [, , `Level`], + lookAheadRateControl: [, , `LookAheadRateControl`], + maxBitrate: [, , `MaxBitrate`], + minIInterval: [, , `MinIInterval`], + parDenominator: [, , `ParDenominator`], + parNumerator: [, , `ParNumerator`], + qvbrQualityLevel: [, , `QvbrQualityLevel`], + sceneChangeDetect: [, , `SceneChangeDetect`], + timecodeBurninSettings: [, (_) => se_TimecodeBurninSettings(_, context), `TimecodeBurninSettings`], + }); +}; + /** * serializeAws_restJson1AvailBlanking */ @@ -5828,6 +7173,32 @@ const se_CdiInputSpecification = (input: CdiInputSpecification, context: __Serde }); }; +/** + * serializeAws_restJson1ClusterNetworkSettingsCreateRequest + */ +const se_ClusterNetworkSettingsCreateRequest = ( + input: ClusterNetworkSettingsCreateRequest, + context: __SerdeContext +): any => { + return take(input, { + defaultRoute: [, , `DefaultRoute`], + interfaceMappings: [, (_) => se___listOfInterfaceMappingCreateRequest(_, context), `InterfaceMappings`], + }); +}; + +/** + * serializeAws_restJson1ClusterNetworkSettingsUpdateRequest + */ +const se_ClusterNetworkSettingsUpdateRequest = ( + input: ClusterNetworkSettingsUpdateRequest, + context: __SerdeContext +): any => { + return take(input, { + defaultRoute: [, , `DefaultRoute`], + interfaceMappings: [, (_) => se___listOfInterfaceMappingUpdateRequest(_, context), `InterfaceMappings`], + }); +}; + /** * serializeAws_restJson1CmafIngestGroupSettings */ @@ -6563,6 +7934,7 @@ const se_InputAttachment = (input: InputAttachment, context: __SerdeContext): an inputAttachmentName: [, , `InputAttachmentName`], inputId: [, , `InputId`], inputSettings: [, (_) => se_InputSettings(_, context), `InputSettings`], + logicalInterfaceNames: [, _json, `LogicalInterfaceNames`], }); }; @@ -6592,6 +7964,9 @@ const se_InputClippingSettings = (input: InputClippingSettings, context: __Serde */ const se_InputDestinationRequest = (input: InputDestinationRequest, context: __SerdeContext): any => { return take(input, { + network: [, , `Network`], + networkRoutes: [, (_) => se___listOfInputRequestDestinationRoute(_, context), `NetworkRoutes`], + staticIpAddress: [, , `StaticIpAddress`], streamName: [, , `StreamName`], }); }; @@ -6707,6 +8082,16 @@ const se_InputPrepareScheduleActionSettings = ( }); }; +/** + * serializeAws_restJson1InputRequestDestinationRoute + */ +const se_InputRequestDestinationRoute = (input: InputRequestDestinationRoute, context: __SerdeContext): any => { + return take(input, { + cidr: [, , `Cidr`], + gateway: [, , `Gateway`], + }); +}; + /** * serializeAws_restJson1InputSettings */ @@ -6781,6 +8166,44 @@ const se_InputWhitelistRuleCidr = (input: InputWhitelistRuleCidr, context: __Ser }); }; +/** + * serializeAws_restJson1InterfaceMappingCreateRequest + */ +const se_InterfaceMappingCreateRequest = (input: InterfaceMappingCreateRequest, context: __SerdeContext): any => { + return take(input, { + logicalInterfaceName: [, , `LogicalInterfaceName`], + networkId: [, , `NetworkId`], + }); +}; + +/** + * serializeAws_restJson1InterfaceMappingUpdateRequest + */ +const se_InterfaceMappingUpdateRequest = (input: InterfaceMappingUpdateRequest, context: __SerdeContext): any => { + return take(input, { + logicalInterfaceName: [, , `LogicalInterfaceName`], + networkId: [, , `NetworkId`], + }); +}; + +/** + * serializeAws_restJson1IpPoolCreateRequest + */ +const se_IpPoolCreateRequest = (input: IpPoolCreateRequest, context: __SerdeContext): any => { + return take(input, { + cidr: [, , `Cidr`], + }); +}; + +/** + * serializeAws_restJson1IpPoolUpdateRequest + */ +const se_IpPoolUpdateRequest = (input: IpPoolUpdateRequest, context: __SerdeContext): any => { + return take(input, { + cidr: [, , `Cidr`], + }); +}; + /** * serializeAws_restJson1KeyProviderSettings */ @@ -7044,6 +8467,53 @@ const se_MsSmoothOutputSettings = (input: MsSmoothOutputSettings, context: __Ser }); }; +/** + * serializeAws_restJson1MulticastInputSettings + */ +const se_MulticastInputSettings = (input: MulticastInputSettings, context: __SerdeContext): any => { + return take(input, { + sourceIpAddress: [, , `SourceIpAddress`], + }); +}; + +/** + * serializeAws_restJson1MulticastSettingsCreateRequest + */ +const se_MulticastSettingsCreateRequest = (input: MulticastSettingsCreateRequest, context: __SerdeContext): any => { + return take(input, { + sources: [, (_) => se___listOfMulticastSourceCreateRequest(_, context), `Sources`], + }); +}; + +/** + * serializeAws_restJson1MulticastSettingsUpdateRequest + */ +const se_MulticastSettingsUpdateRequest = (input: MulticastSettingsUpdateRequest, context: __SerdeContext): any => { + return take(input, { + sources: [, (_) => se___listOfMulticastSourceUpdateRequest(_, context), `Sources`], + }); +}; + +/** + * serializeAws_restJson1MulticastSourceCreateRequest + */ +const se_MulticastSourceCreateRequest = (input: MulticastSourceCreateRequest, context: __SerdeContext): any => { + return take(input, { + sourceIp: [, , `SourceIp`], + url: [, , `Url`], + }); +}; + +/** + * serializeAws_restJson1MulticastSourceUpdateRequest + */ +const se_MulticastSourceUpdateRequest = (input: MulticastSourceUpdateRequest, context: __SerdeContext): any => { + return take(input, { + sourceIp: [, , `SourceIp`], + url: [, , `Url`], + }); +}; + // se_MultiplexGroupSettings omitted. /** @@ -7176,6 +8646,7 @@ const se_MultiplexVideoSettings = (input: MultiplexVideoSettings, context: __Ser const se_NetworkInputSettings = (input: NetworkInputSettings, context: __SerdeContext): any => { return take(input, { hlsInputSettings: [, (_) => se_HlsInputSettings(_, context), `HlsInputSettings`], + multicastInputSettings: [, (_) => se_MulticastInputSettings(_, context), `MulticastInputSettings`], serverValidation: [, , `ServerValidation`], }); }; @@ -7223,6 +8694,31 @@ const se_NielsenWatermarksSettings = (input: NielsenWatermarksSettings, context: }); }; +/** + * serializeAws_restJson1NodeInterfaceMapping + */ +const se_NodeInterfaceMapping = (input: NodeInterfaceMapping, context: __SerdeContext): any => { + return take(input, { + logicalInterfaceName: [, , `LogicalInterfaceName`], + networkInterfaceMode: [, , `NetworkInterfaceMode`], + physicalInterfaceName: [, , `PhysicalInterfaceName`], + }); +}; + +/** + * serializeAws_restJson1NodeInterfaceMappingCreateRequest + */ +const se_NodeInterfaceMappingCreateRequest = ( + input: NodeInterfaceMappingCreateRequest, + context: __SerdeContext +): any => { + return take(input, { + logicalInterfaceName: [, , `LogicalInterfaceName`], + networkInterfaceMode: [, , `NetworkInterfaceMode`], + physicalInterfaceName: [, , `PhysicalInterfaceName`], + }); +}; + /** * serializeAws_restJson1Output */ @@ -7249,6 +8745,7 @@ const se_OutputDestination = (input: OutputDestination, context: __SerdeContext) ], multiplexSettings: [, (_) => se_MultiplexProgramChannelDestinationSettings(_, context), `MultiplexSettings`], settings: [, (_) => se___listOfOutputDestinationSettings(_, context), `Settings`], + srtSettings: [, (_) => se___listOfSrtOutputDestinationSettings(_, context), `SrtSettings`], }); }; @@ -7288,6 +8785,7 @@ const se_OutputGroupSettings = (input: OutputGroupSettings, context: __SerdeCont msSmoothGroupSettings: [, (_) => se_MsSmoothGroupSettings(_, context), `MsSmoothGroupSettings`], multiplexGroupSettings: [, _json, `MultiplexGroupSettings`], rtmpGroupSettings: [, (_) => se_RtmpGroupSettings(_, context), `RtmpGroupSettings`], + srtGroupSettings: [, (_) => se_SrtGroupSettings(_, context), `SrtGroupSettings`], udpGroupSettings: [, (_) => se_UdpGroupSettings(_, context), `UdpGroupSettings`], }); }; @@ -7324,6 +8822,7 @@ const se_OutputSettings = (input: OutputSettings, context: __SerdeContext): any msSmoothOutputSettings: [, (_) => se_MsSmoothOutputSettings(_, context), `MsSmoothOutputSettings`], multiplexOutputSettings: [, (_) => se_MultiplexOutputSettings(_, context), `MultiplexOutputSettings`], rtmpOutputSettings: [, (_) => se_RtmpOutputSettings(_, context), `RtmpOutputSettings`], + srtOutputSettings: [, (_) => se_SrtOutputSettings(_, context), `SrtOutputSettings`], udpOutputSettings: [, (_) => se_UdpOutputSettings(_, context), `UdpOutputSettings`], }); }; @@ -7377,6 +8876,26 @@ const se_RenewalSettings = (input: RenewalSettings, context: __SerdeContext): an }); }; +/** + * serializeAws_restJson1RouteCreateRequest + */ +const se_RouteCreateRequest = (input: RouteCreateRequest, context: __SerdeContext): any => { + return take(input, { + cidr: [, , `Cidr`], + gateway: [, , `Gateway`], + }); +}; + +/** + * serializeAws_restJson1RouteUpdateRequest + */ +const se_RouteUpdateRequest = (input: RouteUpdateRequest, context: __SerdeContext): any => { + return take(input, { + cidr: [, , `Cidr`], + gateway: [, , `Gateway`], + }); +}; + // se_RtmpCaptionInfoDestinationSettings omitted. /** @@ -7674,6 +9193,39 @@ const se_SrtCallerSourceRequest = (input: SrtCallerSourceRequest, context: __Ser }); }; +/** + * serializeAws_restJson1SrtGroupSettings + */ +const se_SrtGroupSettings = (input: SrtGroupSettings, context: __SerdeContext): any => { + return take(input, { + inputLossAction: [, , `InputLossAction`], + }); +}; + +/** + * serializeAws_restJson1SrtOutputDestinationSettings + */ +const se_SrtOutputDestinationSettings = (input: SrtOutputDestinationSettings, context: __SerdeContext): any => { + return take(input, { + encryptionPassphraseSecretArn: [, , `EncryptionPassphraseSecretArn`], + streamId: [, , `StreamId`], + url: [, , `Url`], + }); +}; + +/** + * serializeAws_restJson1SrtOutputSettings + */ +const se_SrtOutputSettings = (input: SrtOutputSettings, context: __SerdeContext): any => { + return take(input, { + bufferMsec: [, , `BufferMsec`], + containerSettings: [, (_) => se_UdpContainerSettings(_, context), `ContainerSettings`], + destination: [, (_) => se_OutputLocationRef(_, context), `Destination`], + encryptionType: [, , `EncryptionType`], + latency: [, , `Latency`], + }); +}; + /** * serializeAws_restJson1SrtSettingsRequest */ @@ -7904,6 +9456,7 @@ const se_VideoBlackFailoverSettings = (input: VideoBlackFailoverSettings, contex */ const se_VideoCodecSettings = (input: VideoCodecSettings, context: __SerdeContext): any => { return take(input, { + av1Settings: [, (_) => se_Av1Settings(_, context), `Av1Settings`], frameCaptureSettings: [, (_) => se_FrameCaptureSettings(_, context), `FrameCaptureSettings`], h264Settings: [, (_) => se_H264Settings(_, context), `H264Settings`], h265Settings: [, (_) => se_H265Settings(_, context), `H265Settings`], @@ -8135,61 +9688,112 @@ const de___listOfChannelEgressEndpoint = (output: any, context: __SerdeContext): /** * deserializeAws_restJson1__listOfChannelSummary */ -const de___listOfChannelSummary = (output: any, context: __SerdeContext): ChannelSummary[] => { +const de___listOfChannelSummary = (output: any, context: __SerdeContext): ChannelSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_ChannelSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1__listOfCloudWatchAlarmTemplateGroupSummary + */ +const de___listOfCloudWatchAlarmTemplateGroupSummary = ( + output: any, + context: __SerdeContext +): CloudWatchAlarmTemplateGroupSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_CloudWatchAlarmTemplateGroupSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1__listOfCloudWatchAlarmTemplateSummary + */ +const de___listOfCloudWatchAlarmTemplateSummary = ( + output: any, + context: __SerdeContext +): CloudWatchAlarmTemplateSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_CloudWatchAlarmTemplateSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1__listOfColorCorrection + */ +const de___listOfColorCorrection = (output: any, context: __SerdeContext): ColorCorrection[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_ColorCorrection(entry, context); + }); + return retVal; +}; + +// de___listOfDashRoleAudio omitted. + +// de___listOfDashRoleCaption omitted. + +/** + * deserializeAws_restJson1__listOfDescribeChannelPlacementGroupSummary + */ +const de___listOfDescribeChannelPlacementGroupSummary = ( + output: any, + context: __SerdeContext +): DescribeChannelPlacementGroupSummary[] => { const retVal = (output || []) .filter((e: any) => e != null) .map((entry: any) => { - return de_ChannelSummary(entry, context); + return de_DescribeChannelPlacementGroupSummary(entry, context); }); return retVal; }; /** - * deserializeAws_restJson1__listOfCloudWatchAlarmTemplateGroupSummary + * deserializeAws_restJson1__listOfDescribeClusterSummary */ -const de___listOfCloudWatchAlarmTemplateGroupSummary = ( - output: any, - context: __SerdeContext -): CloudWatchAlarmTemplateGroupSummary[] => { +const de___listOfDescribeClusterSummary = (output: any, context: __SerdeContext): DescribeClusterSummary[] => { const retVal = (output || []) .filter((e: any) => e != null) .map((entry: any) => { - return de_CloudWatchAlarmTemplateGroupSummary(entry, context); + return de_DescribeClusterSummary(entry, context); }); return retVal; }; /** - * deserializeAws_restJson1__listOfCloudWatchAlarmTemplateSummary + * deserializeAws_restJson1__listOfDescribeNetworkSummary */ -const de___listOfCloudWatchAlarmTemplateSummary = ( - output: any, - context: __SerdeContext -): CloudWatchAlarmTemplateSummary[] => { +const de___listOfDescribeNetworkSummary = (output: any, context: __SerdeContext): DescribeNetworkSummary[] => { const retVal = (output || []) .filter((e: any) => e != null) .map((entry: any) => { - return de_CloudWatchAlarmTemplateSummary(entry, context); + return de_DescribeNetworkSummary(entry, context); }); return retVal; }; /** - * deserializeAws_restJson1__listOfColorCorrection + * deserializeAws_restJson1__listOfDescribeNodeSummary */ -const de___listOfColorCorrection = (output: any, context: __SerdeContext): ColorCorrection[] => { +const de___listOfDescribeNodeSummary = (output: any, context: __SerdeContext): DescribeNodeSummary[] => { const retVal = (output || []) .filter((e: any) => e != null) .map((entry: any) => { - return de_ColorCorrection(entry, context); + return de_DescribeNodeSummary(entry, context); }); return retVal; }; -// de___listOfDashRoleAudio omitted. - -// de___listOfDashRoleCaption omitted. - /** * deserializeAws_restJson1__listOfEventBridgeRuleTemplateGroupSummary */ @@ -8297,6 +9901,18 @@ const de___listOfInputDestination = (output: any, context: __SerdeContext): Inpu return retVal; }; +/** + * deserializeAws_restJson1__listOfInputDestinationRoute + */ +const de___listOfInputDestinationRoute = (output: any, context: __SerdeContext): InputDestinationRoute[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_InputDestinationRoute(entry, context); + }); + return retVal; +}; + /** * deserializeAws_restJson1__listOfInputDeviceSettings */ @@ -8372,6 +9988,30 @@ const de___listOfInputWhitelistRule = (output: any, context: __SerdeContext): In return retVal; }; +/** + * deserializeAws_restJson1__listOfInterfaceMapping + */ +const de___listOfInterfaceMapping = (output: any, context: __SerdeContext): InterfaceMapping[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_InterfaceMapping(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1__listOfIpPool + */ +const de___listOfIpPool = (output: any, context: __SerdeContext): IpPool[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_IpPool(entry, context); + }); + return retVal; +}; + /** * deserializeAws_restJson1__listOfMediaConnectFlow */ @@ -8411,6 +10051,18 @@ const de___listOfMediaResourceNeighbor = (output: any, context: __SerdeContext): return retVal; }; +/** + * deserializeAws_restJson1__listOfMulticastSource + */ +const de___listOfMulticastSource = (output: any, context: __SerdeContext): MulticastSource[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_MulticastSource(entry, context); + }); + return retVal; +}; + /** * deserializeAws_restJson1__listOfMultiplexOutputDestination */ @@ -8462,6 +10114,18 @@ const de___listOfMultiplexSummary = (output: any, context: __SerdeContext): Mult return retVal; }; +/** + * deserializeAws_restJson1__listOfNodeInterfaceMapping + */ +const de___listOfNodeInterfaceMapping = (output: any, context: __SerdeContext): NodeInterfaceMapping[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_NodeInterfaceMapping(entry, context); + }); + return retVal; +}; + /** * deserializeAws_restJson1__listOfOffering */ @@ -8558,6 +10222,18 @@ const de___listOfReservation = (output: any, context: __SerdeContext): Reservati return retVal; }; +/** + * deserializeAws_restJson1__listOfRoute + */ +const de___listOfRoute = (output: any, context: __SerdeContext): Route[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_Route(entry, context); + }); + return retVal; +}; + // de___listOfRtmpAdMarkers omitted. /** @@ -8608,6 +10284,21 @@ const de___listOfSrtCallerSource = (output: any, context: __SerdeContext): SrtCa return retVal; }; +/** + * deserializeAws_restJson1__listOfSrtOutputDestinationSettings + */ +const de___listOfSrtOutputDestinationSettings = ( + output: any, + context: __SerdeContext +): SrtOutputDestinationSettings[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_SrtOutputDestinationSettings(entry, context); + }); + return retVal; +}; + /** * deserializeAws_restJson1__listOfThumbnail */ @@ -8955,6 +10646,43 @@ const de_AutomaticInputFailoverSettings = (output: any, context: __SerdeContext) }) as any; }; +/** + * deserializeAws_restJson1Av1ColorSpaceSettings + */ +const de_Av1ColorSpaceSettings = (output: any, context: __SerdeContext): Av1ColorSpaceSettings => { + return take(output, { + ColorSpacePassthroughSettings: [, _json, `colorSpacePassthroughSettings`], + Hdr10Settings: [, (_: any) => de_Hdr10Settings(_, context), `hdr10Settings`], + Rec601Settings: [, _json, `rec601Settings`], + Rec709Settings: [, _json, `rec709Settings`], + }) as any; +}; + +/** + * deserializeAws_restJson1Av1Settings + */ +const de_Av1Settings = (output: any, context: __SerdeContext): Av1Settings => { + return take(output, { + AfdSignaling: [, __expectString, `afdSignaling`], + BufSize: [, __expectInt32, `bufSize`], + ColorSpaceSettings: [, (_: any) => de_Av1ColorSpaceSettings(_, context), `colorSpaceSettings`], + FixedAfd: [, __expectString, `fixedAfd`], + FramerateDenominator: [, __expectInt32, `framerateDenominator`], + FramerateNumerator: [, __expectInt32, `framerateNumerator`], + GopSize: [, __limitedParseDouble, `gopSize`], + GopSizeUnits: [, __expectString, `gopSizeUnits`], + Level: [, __expectString, `level`], + LookAheadRateControl: [, __expectString, `lookAheadRateControl`], + MaxBitrate: [, __expectInt32, `maxBitrate`], + MinIInterval: [, __expectInt32, `minIInterval`], + ParDenominator: [, __expectInt32, `parDenominator`], + ParNumerator: [, __expectInt32, `parNumerator`], + QvbrQualityLevel: [, __expectInt32, `qvbrQualityLevel`], + SceneChangeDetect: [, __expectString, `sceneChangeDetect`], + TimecodeBurninSettings: [, (_: any) => de_TimecodeBurninSettings(_, context), `timecodeBurninSettings`], + }) as any; +}; + /** * deserializeAws_restJson1AvailBlanking */ @@ -9165,6 +10893,7 @@ const de_CdiInputSpecification = (output: any, context: __SerdeContext): CdiInpu */ const de_Channel = (output: any, context: __SerdeContext): Channel => { return take(output, { + AnywhereSettings: [, (_: any) => de_DescribeAnywhereSettings(_, context), `anywhereSettings`], Arn: [, __expectString, `arn`], CdiInputSpecification: [, (_: any) => de_CdiInputSpecification(_, context), `cdiInputSpecification`], ChannelClass: [, __expectString, `channelClass`], @@ -9200,6 +10929,7 @@ const de_ChannelEgressEndpoint = (output: any, context: __SerdeContext): Channel */ const de_ChannelSummary = (output: any, context: __SerdeContext): ChannelSummary => { return take(output, { + AnywhereSettings: [, (_: any) => de_DescribeAnywhereSettings(_, context), `anywhereSettings`], Arn: [, __expectString, `arn`], CdiInputSpecification: [, (_: any) => de_CdiInputSpecification(_, context), `cdiInputSpecification`], ChannelClass: [, __expectString, `channelClass`], @@ -9263,6 +10993,16 @@ const de_CloudWatchAlarmTemplateSummary = (output: any, context: __SerdeContext) }) as any; }; +/** + * deserializeAws_restJson1ClusterNetworkSettings + */ +const de_ClusterNetworkSettings = (output: any, context: __SerdeContext): ClusterNetworkSettings => { + return take(output, { + DefaultRoute: [, __expectString, `defaultRoute`], + InterfaceMappings: [, (_: any) => de___listOfInterfaceMapping(_, context), `interfaceMappings`], + }) as any; +}; + /** * deserializeAws_restJson1CmafIngestGroupSettings */ @@ -9308,6 +11048,84 @@ const de_ColorCorrectionSettings = (output: any, context: __SerdeContext): Color // de_ColorSpacePassthroughSettings omitted. +/** + * deserializeAws_restJson1DescribeAnywhereSettings + */ +const de_DescribeAnywhereSettings = (output: any, context: __SerdeContext): DescribeAnywhereSettings => { + return take(output, { + ChannelPlacementGroupId: [, __expectString, `channelPlacementGroupId`], + ClusterId: [, __expectString, `clusterId`], + }) as any; +}; + +/** + * deserializeAws_restJson1DescribeChannelPlacementGroupSummary + */ +const de_DescribeChannelPlacementGroupSummary = ( + output: any, + context: __SerdeContext +): DescribeChannelPlacementGroupSummary => { + return take(output, { + Arn: [, __expectString, `arn`], + Channels: [, _json, `channels`], + ClusterId: [, __expectString, `clusterId`], + Id: [, __expectString, `id`], + Name: [, __expectString, `name`], + Nodes: [, _json, `nodes`], + State: [, __expectString, `state`], + }) as any; +}; + +/** + * deserializeAws_restJson1DescribeClusterSummary + */ +const de_DescribeClusterSummary = (output: any, context: __SerdeContext): DescribeClusterSummary => { + return take(output, { + Arn: [, __expectString, `arn`], + ChannelIds: [, _json, `channelIds`], + ClusterType: [, __expectString, `clusterType`], + Id: [, __expectString, `id`], + InstanceRoleArn: [, __expectString, `instanceRoleArn`], + Name: [, __expectString, `name`], + NetworkSettings: [, (_: any) => de_ClusterNetworkSettings(_, context), `networkSettings`], + State: [, __expectString, `state`], + }) as any; +}; + +/** + * deserializeAws_restJson1DescribeNetworkSummary + */ +const de_DescribeNetworkSummary = (output: any, context: __SerdeContext): DescribeNetworkSummary => { + return take(output, { + Arn: [, __expectString, `arn`], + AssociatedClusterIds: [, _json, `associatedClusterIds`], + Id: [, __expectString, `id`], + IpPools: [, (_: any) => de___listOfIpPool(_, context), `ipPools`], + Name: [, __expectString, `name`], + Routes: [, (_: any) => de___listOfRoute(_, context), `routes`], + State: [, __expectString, `state`], + }) as any; +}; + +/** + * deserializeAws_restJson1DescribeNodeSummary + */ +const de_DescribeNodeSummary = (output: any, context: __SerdeContext): DescribeNodeSummary => { + return take(output, { + Arn: [, __expectString, `arn`], + ChannelPlacementGroups: [, _json, `channelPlacementGroups`], + ClusterId: [, __expectString, `clusterId`], + ConnectionState: [, __expectString, `connectionState`], + Id: [, __expectString, `id`], + InstanceArn: [, __expectString, `instanceArn`], + ManagedInstanceId: [, __expectString, `managedInstanceId`], + Name: [, __expectString, `name`], + NodeInterfaceMappings: [, (_: any) => de___listOfNodeInterfaceMapping(_, context), `nodeInterfaceMappings`], + Role: [, __expectString, `role`], + State: [, __expectString, `state`], + }) as any; +}; + // de_DolbyVision81Settings omitted. /** @@ -10050,9 +11868,11 @@ const de_Input = (output: any, context: __SerdeContext): Input => { Id: [, __expectString, `id`], InputClass: [, __expectString, `inputClass`], InputDevices: [, (_: any) => de___listOfInputDeviceSettings(_, context), `inputDevices`], + InputNetworkLocation: [, __expectString, `inputNetworkLocation`], InputPartnerIds: [, _json, `inputPartnerIds`], InputSourceType: [, __expectString, `inputSourceType`], MediaConnectFlows: [, (_: any) => de___listOfMediaConnectFlow(_, context), `mediaConnectFlows`], + MulticastSettings: [, (_: any) => de_MulticastSettings(_, context), `multicastSettings`], Name: [, __expectString, `name`], RoleArn: [, __expectString, `roleArn`], SecurityGroups: [, _json, `securityGroups`], @@ -10077,6 +11897,7 @@ const de_InputAttachment = (output: any, context: __SerdeContext): InputAttachme InputAttachmentName: [, __expectString, `inputAttachmentName`], InputId: [, __expectString, `inputId`], InputSettings: [, (_: any) => de_InputSettings(_, context), `inputSettings`], + LogicalInterfaceNames: [, _json, `logicalInterfaceNames`], }) as any; }; @@ -10107,12 +11928,24 @@ const de_InputClippingSettings = (output: any, context: __SerdeContext): InputCl const de_InputDestination = (output: any, context: __SerdeContext): InputDestination => { return take(output, { Ip: [, __expectString, `ip`], + Network: [, __expectString, `network`], + NetworkRoutes: [, (_: any) => de___listOfInputDestinationRoute(_, context), `networkRoutes`], Port: [, __expectString, `port`], Url: [, __expectString, `url`], Vpc: [, (_: any) => de_InputDestinationVpc(_, context), `vpc`], }) as any; }; +/** + * deserializeAws_restJson1InputDestinationRoute + */ +const de_InputDestinationRoute = (output: any, context: __SerdeContext): InputDestinationRoute => { + return take(output, { + Cidr: [, __expectString, `cidr`], + Gateway: [, __expectString, `gateway`], + }) as any; +}; + /** * deserializeAws_restJson1InputDestinationVpc */ @@ -10356,6 +12189,25 @@ const de_InputWhitelistRule = (output: any, context: __SerdeContext): InputWhite }) as any; }; +/** + * deserializeAws_restJson1InterfaceMapping + */ +const de_InterfaceMapping = (output: any, context: __SerdeContext): InterfaceMapping => { + return take(output, { + LogicalInterfaceName: [, __expectString, `logicalInterfaceName`], + NetworkId: [, __expectString, `networkId`], + }) as any; +}; + +/** + * deserializeAws_restJson1IpPool + */ +const de_IpPool = (output: any, context: __SerdeContext): IpPool => { + return take(output, { + Cidr: [, __expectString, `cidr`], + }) as any; +}; + /** * deserializeAws_restJson1KeyProviderSettings */ @@ -10655,6 +12507,34 @@ const de_MsSmoothOutputSettings = (output: any, context: __SerdeContext): MsSmoo }) as any; }; +/** + * deserializeAws_restJson1MulticastInputSettings + */ +const de_MulticastInputSettings = (output: any, context: __SerdeContext): MulticastInputSettings => { + return take(output, { + SourceIpAddress: [, __expectString, `sourceIpAddress`], + }) as any; +}; + +/** + * deserializeAws_restJson1MulticastSettings + */ +const de_MulticastSettings = (output: any, context: __SerdeContext): MulticastSettings => { + return take(output, { + Sources: [, (_: any) => de___listOfMulticastSource(_, context), `sources`], + }) as any; +}; + +/** + * deserializeAws_restJson1MulticastSource + */ +const de_MulticastSource = (output: any, context: __SerdeContext): MulticastSource => { + return take(output, { + SourceIp: [, __expectString, `sourceIp`], + Url: [, __expectString, `url`], + }) as any; +}; + /** * deserializeAws_restJson1Multiplex */ @@ -10873,6 +12753,7 @@ const de_MultiplexVideoSettings = (output: any, context: __SerdeContext): Multip const de_NetworkInputSettings = (output: any, context: __SerdeContext): NetworkInputSettings => { return take(output, { HlsInputSettings: [, (_: any) => de_HlsInputSettings(_, context), `hlsInputSettings`], + MulticastInputSettings: [, (_: any) => de_MulticastInputSettings(_, context), `multicastInputSettings`], ServerValidation: [, __expectString, `serverValidation`], }) as any; }; @@ -10920,6 +12801,17 @@ const de_NielsenWatermarksSettings = (output: any, context: __SerdeContext): Nie }) as any; }; +/** + * deserializeAws_restJson1NodeInterfaceMapping + */ +const de_NodeInterfaceMapping = (output: any, context: __SerdeContext): NodeInterfaceMapping => { + return take(output, { + LogicalInterfaceName: [, __expectString, `logicalInterfaceName`], + NetworkInterfaceMode: [, __expectString, `networkInterfaceMode`], + PhysicalInterfaceName: [, __expectString, `physicalInterfaceName`], + }) as any; +}; + /** * deserializeAws_restJson1Offering */ @@ -10965,6 +12857,7 @@ const de_OutputDestination = (output: any, context: __SerdeContext): OutputDesti ], MultiplexSettings: [, (_: any) => de_MultiplexProgramChannelDestinationSettings(_, context), `multiplexSettings`], Settings: [, (_: any) => de___listOfOutputDestinationSettings(_, context), `settings`], + SrtSettings: [, (_: any) => de___listOfSrtOutputDestinationSettings(_, context), `srtSettings`], }) as any; }; @@ -11004,6 +12897,7 @@ const de_OutputGroupSettings = (output: any, context: __SerdeContext): OutputGro MsSmoothGroupSettings: [, (_: any) => de_MsSmoothGroupSettings(_, context), `msSmoothGroupSettings`], MultiplexGroupSettings: [, _json, `multiplexGroupSettings`], RtmpGroupSettings: [, (_: any) => de_RtmpGroupSettings(_, context), `rtmpGroupSettings`], + SrtGroupSettings: [, (_: any) => de_SrtGroupSettings(_, context), `srtGroupSettings`], UdpGroupSettings: [, (_: any) => de_UdpGroupSettings(_, context), `udpGroupSettings`], }) as any; }; @@ -11040,6 +12934,7 @@ const de_OutputSettings = (output: any, context: __SerdeContext): OutputSettings MsSmoothOutputSettings: [, (_: any) => de_MsSmoothOutputSettings(_, context), `msSmoothOutputSettings`], MultiplexOutputSettings: [, (_: any) => de_MultiplexOutputSettings(_, context), `multiplexOutputSettings`], RtmpOutputSettings: [, (_: any) => de_RtmpOutputSettings(_, context), `rtmpOutputSettings`], + SrtOutputSettings: [, (_: any) => de_SrtOutputSettings(_, context), `srtOutputSettings`], UdpOutputSettings: [, (_: any) => de_UdpOutputSettings(_, context), `udpOutputSettings`], }) as any; }; @@ -11155,6 +13050,16 @@ const de_ReservationResourceSpecification = ( }) as any; }; +/** + * deserializeAws_restJson1Route + */ +const de_Route = (output: any, context: __SerdeContext): Route => { + return take(output, { + Cidr: [, __expectString, `cidr`], + Gateway: [, __expectString, `gateway`], + }) as any; +}; + // de_RtmpCaptionInfoDestinationSettings omitted. /** @@ -11473,6 +13378,39 @@ const de_SrtCallerSource = (output: any, context: __SerdeContext): SrtCallerSour }) as any; }; +/** + * deserializeAws_restJson1SrtGroupSettings + */ +const de_SrtGroupSettings = (output: any, context: __SerdeContext): SrtGroupSettings => { + return take(output, { + InputLossAction: [, __expectString, `inputLossAction`], + }) as any; +}; + +/** + * deserializeAws_restJson1SrtOutputDestinationSettings + */ +const de_SrtOutputDestinationSettings = (output: any, context: __SerdeContext): SrtOutputDestinationSettings => { + return take(output, { + EncryptionPassphraseSecretArn: [, __expectString, `encryptionPassphraseSecretArn`], + StreamId: [, __expectString, `streamId`], + Url: [, __expectString, `url`], + }) as any; +}; + +/** + * deserializeAws_restJson1SrtOutputSettings + */ +const de_SrtOutputSettings = (output: any, context: __SerdeContext): SrtOutputSettings => { + return take(output, { + BufferMsec: [, __expectInt32, `bufferMsec`], + ContainerSettings: [, (_: any) => de_UdpContainerSettings(_, context), `containerSettings`], + Destination: [, (_: any) => de_OutputLocationRef(_, context), `destination`], + EncryptionType: [, __expectString, `encryptionType`], + Latency: [, __expectInt32, `latency`], + }) as any; +}; + /** * deserializeAws_restJson1SrtSettings */ @@ -11757,6 +13695,7 @@ const de_VideoBlackFailoverSettings = (output: any, context: __SerdeContext): Vi */ const de_VideoCodecSettings = (output: any, context: __SerdeContext): VideoCodecSettings => { return take(output, { + Av1Settings: [, (_: any) => de_Av1Settings(_, context), `av1Settings`], FrameCaptureSettings: [, (_: any) => de_FrameCaptureSettings(_, context), `frameCaptureSettings`], H264Settings: [, (_: any) => de_H264Settings(_, context), `h264Settings`], H265Settings: [, (_: any) => de_H265Settings(_, context), `h265Settings`], diff --git a/clients/client-medialive/src/waiters/index.ts b/clients/client-medialive/src/waiters/index.ts index 5cffbdf8b97e..3cefa7e213b7 100644 --- a/clients/client-medialive/src/waiters/index.ts +++ b/clients/client-medialive/src/waiters/index.ts @@ -1,8 +1,13 @@ // smithy-typescript generated code export * from "./waitForChannelCreated"; export * from "./waitForChannelDeleted"; +export * from "./waitForChannelPlacementGroupAssigned"; +export * from "./waitForChannelPlacementGroupDeleted"; +export * from "./waitForChannelPlacementGroupUnassigned"; export * from "./waitForChannelRunning"; export * from "./waitForChannelStopped"; +export * from "./waitForClusterCreated"; +export * from "./waitForClusterDeleted"; export * from "./waitForInputAttached"; export * from "./waitForInputDeleted"; export * from "./waitForInputDetached"; @@ -10,6 +15,8 @@ export * from "./waitForMultiplexCreated"; export * from "./waitForMultiplexDeleted"; export * from "./waitForMultiplexRunning"; export * from "./waitForMultiplexStopped"; +export * from "./waitForNodeDeregistered"; +export * from "./waitForNodeRegistered"; export * from "./waitForSignalMapCreated"; export * from "./waitForSignalMapMonitorDeleted"; export * from "./waitForSignalMapMonitorDeployed"; diff --git a/clients/client-medialive/src/waiters/waitForChannelPlacementGroupAssigned.ts b/clients/client-medialive/src/waiters/waitForChannelPlacementGroupAssigned.ts new file mode 100644 index 000000000000..cd684b29c37f --- /dev/null +++ b/clients/client-medialive/src/waiters/waitForChannelPlacementGroupAssigned.ts @@ -0,0 +1,65 @@ +// smithy-typescript generated code +import { checkExceptions, createWaiter, WaiterConfiguration, WaiterResult, WaiterState } from "@smithy/util-waiter"; + +import { + DescribeChannelPlacementGroupCommand, + DescribeChannelPlacementGroupCommandInput, +} from "../commands/DescribeChannelPlacementGroupCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; + +const checkState = async ( + client: MediaLiveClient, + input: DescribeChannelPlacementGroupCommandInput +): Promise => { + let reason; + try { + const result: any = await client.send(new DescribeChannelPlacementGroupCommand(input)); + reason = result; + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "ASSIGNED") { + return { state: WaiterState.SUCCESS, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "ASSIGNING") { + return { state: WaiterState.RETRY, reason }; + } + } catch (e) {} + } catch (exception) { + reason = exception; + if (exception.name && exception.name == "InternalServerErrorException") { + return { state: WaiterState.RETRY, reason }; + } + } + return { state: WaiterState.RETRY, reason }; +}; +/** + * Wait until the channel placement group has been assigned + * @deprecated Use waitUntilChannelPlacementGroupAssigned instead. waitForChannelPlacementGroupAssigned does not throw error in non-success cases. + */ +export const waitForChannelPlacementGroupAssigned = async ( + params: WaiterConfiguration, + input: DescribeChannelPlacementGroupCommandInput +): Promise => { + const serviceDefaults = { minDelay: 3, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input, checkState); +}; +/** + * Wait until the channel placement group has been assigned + * @param params - Waiter configuration options. + * @param input - The input to DescribeChannelPlacementGroupCommand for polling. + */ +export const waitUntilChannelPlacementGroupAssigned = async ( + params: WaiterConfiguration, + input: DescribeChannelPlacementGroupCommandInput +): Promise => { + const serviceDefaults = { minDelay: 3, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState); + return checkExceptions(result); +}; diff --git a/clients/client-medialive/src/waiters/waitForChannelPlacementGroupDeleted.ts b/clients/client-medialive/src/waiters/waitForChannelPlacementGroupDeleted.ts new file mode 100644 index 000000000000..716f27caed8c --- /dev/null +++ b/clients/client-medialive/src/waiters/waitForChannelPlacementGroupDeleted.ts @@ -0,0 +1,65 @@ +// smithy-typescript generated code +import { checkExceptions, createWaiter, WaiterConfiguration, WaiterResult, WaiterState } from "@smithy/util-waiter"; + +import { + DescribeChannelPlacementGroupCommand, + DescribeChannelPlacementGroupCommandInput, +} from "../commands/DescribeChannelPlacementGroupCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; + +const checkState = async ( + client: MediaLiveClient, + input: DescribeChannelPlacementGroupCommandInput +): Promise => { + let reason; + try { + const result: any = await client.send(new DescribeChannelPlacementGroupCommand(input)); + reason = result; + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "DELETED") { + return { state: WaiterState.SUCCESS, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "DELETING") { + return { state: WaiterState.RETRY, reason }; + } + } catch (e) {} + } catch (exception) { + reason = exception; + if (exception.name && exception.name == "InternalServerErrorException") { + return { state: WaiterState.RETRY, reason }; + } + } + return { state: WaiterState.RETRY, reason }; +}; +/** + * Wait until the channel placement group has been deleted + * @deprecated Use waitUntilChannelPlacementGroupDeleted instead. waitForChannelPlacementGroupDeleted does not throw error in non-success cases. + */ +export const waitForChannelPlacementGroupDeleted = async ( + params: WaiterConfiguration, + input: DescribeChannelPlacementGroupCommandInput +): Promise => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input, checkState); +}; +/** + * Wait until the channel placement group has been deleted + * @param params - Waiter configuration options. + * @param input - The input to DescribeChannelPlacementGroupCommand for polling. + */ +export const waitUntilChannelPlacementGroupDeleted = async ( + params: WaiterConfiguration, + input: DescribeChannelPlacementGroupCommandInput +): Promise => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState); + return checkExceptions(result); +}; diff --git a/clients/client-medialive/src/waiters/waitForChannelPlacementGroupUnassigned.ts b/clients/client-medialive/src/waiters/waitForChannelPlacementGroupUnassigned.ts new file mode 100644 index 000000000000..4cc33976a53e --- /dev/null +++ b/clients/client-medialive/src/waiters/waitForChannelPlacementGroupUnassigned.ts @@ -0,0 +1,65 @@ +// smithy-typescript generated code +import { checkExceptions, createWaiter, WaiterConfiguration, WaiterResult, WaiterState } from "@smithy/util-waiter"; + +import { + DescribeChannelPlacementGroupCommand, + DescribeChannelPlacementGroupCommandInput, +} from "../commands/DescribeChannelPlacementGroupCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; + +const checkState = async ( + client: MediaLiveClient, + input: DescribeChannelPlacementGroupCommandInput +): Promise => { + let reason; + try { + const result: any = await client.send(new DescribeChannelPlacementGroupCommand(input)); + reason = result; + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "UNASSIGNED") { + return { state: WaiterState.SUCCESS, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "UNASSIGNING") { + return { state: WaiterState.RETRY, reason }; + } + } catch (e) {} + } catch (exception) { + reason = exception; + if (exception.name && exception.name == "InternalServerErrorException") { + return { state: WaiterState.RETRY, reason }; + } + } + return { state: WaiterState.RETRY, reason }; +}; +/** + * Wait until the channel placement group has been unassigned + * @deprecated Use waitUntilChannelPlacementGroupUnassigned instead. waitForChannelPlacementGroupUnassigned does not throw error in non-success cases. + */ +export const waitForChannelPlacementGroupUnassigned = async ( + params: WaiterConfiguration, + input: DescribeChannelPlacementGroupCommandInput +): Promise => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input, checkState); +}; +/** + * Wait until the channel placement group has been unassigned + * @param params - Waiter configuration options. + * @param input - The input to DescribeChannelPlacementGroupCommand for polling. + */ +export const waitUntilChannelPlacementGroupUnassigned = async ( + params: WaiterConfiguration, + input: DescribeChannelPlacementGroupCommandInput +): Promise => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState); + return checkExceptions(result); +}; diff --git a/clients/client-medialive/src/waiters/waitForClusterCreated.ts b/clients/client-medialive/src/waiters/waitForClusterCreated.ts new file mode 100644 index 000000000000..f613854bbead --- /dev/null +++ b/clients/client-medialive/src/waiters/waitForClusterCreated.ts @@ -0,0 +1,67 @@ +// smithy-typescript generated code +import { checkExceptions, createWaiter, WaiterConfiguration, WaiterResult, WaiterState } from "@smithy/util-waiter"; + +import { DescribeClusterCommand, DescribeClusterCommandInput } from "../commands/DescribeClusterCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; + +const checkState = async (client: MediaLiveClient, input: DescribeClusterCommandInput): Promise => { + let reason; + try { + const result: any = await client.send(new DescribeClusterCommand(input)); + reason = result; + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "ACTIVE") { + return { state: WaiterState.SUCCESS, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "CREATING") { + return { state: WaiterState.RETRY, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "CREATE_FAILED") { + return { state: WaiterState.FAILURE, reason }; + } + } catch (e) {} + } catch (exception) { + reason = exception; + if (exception.name && exception.name == "InternalServerErrorException") { + return { state: WaiterState.RETRY, reason }; + } + } + return { state: WaiterState.RETRY, reason }; +}; +/** + * Wait until a cluster has been created + * @deprecated Use waitUntilClusterCreated instead. waitForClusterCreated does not throw error in non-success cases. + */ +export const waitForClusterCreated = async ( + params: WaiterConfiguration, + input: DescribeClusterCommandInput +): Promise => { + const serviceDefaults = { minDelay: 3, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input, checkState); +}; +/** + * Wait until a cluster has been created + * @param params - Waiter configuration options. + * @param input - The input to DescribeClusterCommand for polling. + */ +export const waitUntilClusterCreated = async ( + params: WaiterConfiguration, + input: DescribeClusterCommandInput +): Promise => { + const serviceDefaults = { minDelay: 3, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState); + return checkExceptions(result); +}; diff --git a/clients/client-medialive/src/waiters/waitForClusterDeleted.ts b/clients/client-medialive/src/waiters/waitForClusterDeleted.ts new file mode 100644 index 000000000000..107e36ccaa58 --- /dev/null +++ b/clients/client-medialive/src/waiters/waitForClusterDeleted.ts @@ -0,0 +1,59 @@ +// smithy-typescript generated code +import { checkExceptions, createWaiter, WaiterConfiguration, WaiterResult, WaiterState } from "@smithy/util-waiter"; + +import { DescribeClusterCommand, DescribeClusterCommandInput } from "../commands/DescribeClusterCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; + +const checkState = async (client: MediaLiveClient, input: DescribeClusterCommandInput): Promise => { + let reason; + try { + const result: any = await client.send(new DescribeClusterCommand(input)); + reason = result; + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "DELETED") { + return { state: WaiterState.SUCCESS, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "DELETING") { + return { state: WaiterState.RETRY, reason }; + } + } catch (e) {} + } catch (exception) { + reason = exception; + if (exception.name && exception.name == "InternalServerErrorException") { + return { state: WaiterState.RETRY, reason }; + } + } + return { state: WaiterState.RETRY, reason }; +}; +/** + * Wait until a cluster has been deleted + * @deprecated Use waitUntilClusterDeleted instead. waitForClusterDeleted does not throw error in non-success cases. + */ +export const waitForClusterDeleted = async ( + params: WaiterConfiguration, + input: DescribeClusterCommandInput +): Promise => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input, checkState); +}; +/** + * Wait until a cluster has been deleted + * @param params - Waiter configuration options. + * @param input - The input to DescribeClusterCommand for polling. + */ +export const waitUntilClusterDeleted = async ( + params: WaiterConfiguration, + input: DescribeClusterCommandInput +): Promise => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState); + return checkExceptions(result); +}; diff --git a/clients/client-medialive/src/waiters/waitForNodeDeregistered.ts b/clients/client-medialive/src/waiters/waitForNodeDeregistered.ts new file mode 100644 index 000000000000..4248e353f745 --- /dev/null +++ b/clients/client-medialive/src/waiters/waitForNodeDeregistered.ts @@ -0,0 +1,67 @@ +// smithy-typescript generated code +import { checkExceptions, createWaiter, WaiterConfiguration, WaiterResult, WaiterState } from "@smithy/util-waiter"; + +import { DescribeNodeCommand, DescribeNodeCommandInput } from "../commands/DescribeNodeCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; + +const checkState = async (client: MediaLiveClient, input: DescribeNodeCommandInput): Promise => { + let reason; + try { + const result: any = await client.send(new DescribeNodeCommand(input)); + reason = result; + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "DEREGISTERED") { + return { state: WaiterState.SUCCESS, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "DEREGISTERING") { + return { state: WaiterState.RETRY, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "DRAINING") { + return { state: WaiterState.RETRY, reason }; + } + } catch (e) {} + } catch (exception) { + reason = exception; + if (exception.name && exception.name == "InternalServerErrorException") { + return { state: WaiterState.RETRY, reason }; + } + } + return { state: WaiterState.RETRY, reason }; +}; +/** + * Wait until a node has been deregistered + * @deprecated Use waitUntilNodeDeregistered instead. waitForNodeDeregistered does not throw error in non-success cases. + */ +export const waitForNodeDeregistered = async ( + params: WaiterConfiguration, + input: DescribeNodeCommandInput +): Promise => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input, checkState); +}; +/** + * Wait until a node has been deregistered + * @param params - Waiter configuration options. + * @param input - The input to DescribeNodeCommand for polling. + */ +export const waitUntilNodeDeregistered = async ( + params: WaiterConfiguration, + input: DescribeNodeCommandInput +): Promise => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState); + return checkExceptions(result); +}; diff --git a/clients/client-medialive/src/waiters/waitForNodeRegistered.ts b/clients/client-medialive/src/waiters/waitForNodeRegistered.ts new file mode 100644 index 000000000000..e70aabcd2d9f --- /dev/null +++ b/clients/client-medialive/src/waiters/waitForNodeRegistered.ts @@ -0,0 +1,70 @@ +// smithy-typescript generated code +import { checkExceptions, createWaiter, WaiterConfiguration, WaiterResult, WaiterState } from "@smithy/util-waiter"; + +import { DescribeNodeCommand, DescribeNodeCommandInput } from "../commands/DescribeNodeCommand"; +import { MediaLiveClient } from "../MediaLiveClient"; + +const checkState = async (client: MediaLiveClient, input: DescribeNodeCommandInput): Promise => { + let reason; + try { + const result: any = await client.send(new DescribeNodeCommand(input)); + reason = result; + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "ACTIVE") { + return { state: WaiterState.SUCCESS, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "REGISTERING") { + return { state: WaiterState.RETRY, reason }; + } + } catch (e) {} + try { + const returnComparator = () => { + return result.State; + }; + if (returnComparator() === "REGISTRATION_FAILED") { + return { state: WaiterState.FAILURE, reason }; + } + } catch (e) {} + } catch (exception) { + reason = exception; + if (exception.name && exception.name == "NotFoundException") { + return { state: WaiterState.RETRY, reason }; + } + if (exception.name && exception.name == "InternalServerErrorException") { + return { state: WaiterState.RETRY, reason }; + } + } + return { state: WaiterState.RETRY, reason }; +}; +/** + * Wait until a node has been registered + * @deprecated Use waitUntilNodeRegistered instead. waitForNodeRegistered does not throw error in non-success cases. + */ +export const waitForNodeRegistered = async ( + params: WaiterConfiguration, + input: DescribeNodeCommandInput +): Promise => { + const serviceDefaults = { minDelay: 3, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input, checkState); +}; +/** + * Wait until a node has been registered + * @param params - Waiter configuration options. + * @param input - The input to DescribeNodeCommand for polling. + */ +export const waitUntilNodeRegistered = async ( + params: WaiterConfiguration, + input: DescribeNodeCommandInput +): Promise => { + const serviceDefaults = { minDelay: 3, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState); + return checkExceptions(result); +}; diff --git a/codegen/sdk-codegen/aws-models/medialive.json b/codegen/sdk-codegen/aws-models/medialive.json index 84ff03225d3f..69c31c116274 100644 --- a/codegen/sdk-codegen/aws-models/medialive.json +++ b/codegen/sdk-codegen/aws-models/medialive.json @@ -695,6 +695,28 @@ "smithy.api#documentation": "Ancillary Source Settings" } }, + "com.amazonaws.medialive#AnywhereSettings": { + "type": "structure", + "members": { + "ChannelPlacementGroupId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the channel placement group for the channel.", + "smithy.api#jsonName": "channelPlacementGroupId" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster for the channel.", + "smithy.api#jsonName": "clusterId" + } + } + }, + "traits": { + "smithy.api#documentation": "Elemental anywhere settings" + } + }, "com.amazonaws.medialive#ArchiveCdnSettings": { "type": "structure", "members": { @@ -1520,6 +1542,333 @@ "smithy.api#documentation": "The settings for Automatic Input Failover." } }, + "com.amazonaws.medialive#Av1ColorSpaceSettings": { + "type": "structure", + "members": { + "ColorSpacePassthroughSettings": { + "target": "com.amazonaws.medialive#ColorSpacePassthroughSettings", + "traits": { + "smithy.api#jsonName": "colorSpacePassthroughSettings" + } + }, + "Hdr10Settings": { + "target": "com.amazonaws.medialive#Hdr10Settings", + "traits": { + "smithy.api#jsonName": "hdr10Settings" + } + }, + "Rec601Settings": { + "target": "com.amazonaws.medialive#Rec601Settings", + "traits": { + "smithy.api#jsonName": "rec601Settings" + } + }, + "Rec709Settings": { + "target": "com.amazonaws.medialive#Rec709Settings", + "traits": { + "smithy.api#jsonName": "rec709Settings" + } + } + }, + "traits": { + "smithy.api#documentation": "Av1 Color Space Settings" + } + }, + "com.amazonaws.medialive#Av1GopSizeUnits": { + "type": "enum", + "members": { + "FRAMES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FRAMES" + } + }, + "SECONDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SECONDS" + } + } + }, + "traits": { + "smithy.api#documentation": "Av1 Gop Size Units" + } + }, + "com.amazonaws.medialive#Av1Level": { + "type": "enum", + "members": { + "AV1_LEVEL_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_2" + } + }, + "AV1_LEVEL_2_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_2_1" + } + }, + "AV1_LEVEL_3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_3" + } + }, + "AV1_LEVEL_3_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_3_1" + } + }, + "AV1_LEVEL_4": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_4" + } + }, + "AV1_LEVEL_4_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_4_1" + } + }, + "AV1_LEVEL_5": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_5" + } + }, + "AV1_LEVEL_5_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_5_1" + } + }, + "AV1_LEVEL_5_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_5_2" + } + }, + "AV1_LEVEL_5_3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_5_3" + } + }, + "AV1_LEVEL_6": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_6" + } + }, + "AV1_LEVEL_6_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_6_1" + } + }, + "AV1_LEVEL_6_2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_6_2" + } + }, + "AV1_LEVEL_6_3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_6_3" + } + }, + "AV1_LEVEL_AUTO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1_LEVEL_AUTO" + } + } + }, + "traits": { + "smithy.api#documentation": "Av1 Level" + } + }, + "com.amazonaws.medialive#Av1LookAheadRateControl": { + "type": "enum", + "members": { + "HIGH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HIGH" + } + }, + "LOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOW" + } + }, + "MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MEDIUM" + } + } + }, + "traits": { + "smithy.api#documentation": "Av1 Look Ahead Rate Control" + } + }, + "com.amazonaws.medialive#Av1SceneChangeDetect": { + "type": "enum", + "members": { + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + } + }, + "traits": { + "smithy.api#documentation": "Av1 Scene Change Detect" + } + }, + "com.amazonaws.medialive#Av1Settings": { + "type": "structure", + "members": { + "AfdSignaling": { + "target": "com.amazonaws.medialive#AfdSignaling", + "traits": { + "smithy.api#documentation": "Configures whether MediaLive will write AFD values into the video.\nAUTO: MediaLive will try to preserve the input AFD value (in cases where multiple AFD values are valid).\nFIXED: the AFD value will be the value configured in the fixedAfd parameter.\nNONE: MediaLive won't write AFD into the video", + "smithy.api#jsonName": "afdSignaling" + } + }, + "BufSize": { + "target": "com.amazonaws.medialive#__integerMin50000Max16000000", + "traits": { + "smithy.api#documentation": "The size of the buffer (HRD buffer model) in bits.", + "smithy.api#jsonName": "bufSize" + } + }, + "ColorSpaceSettings": { + "target": "com.amazonaws.medialive#Av1ColorSpaceSettings", + "traits": { + "smithy.api#documentation": "Color Space settings", + "smithy.api#jsonName": "colorSpaceSettings" + } + }, + "FixedAfd": { + "target": "com.amazonaws.medialive#FixedAfd", + "traits": { + "smithy.api#documentation": "Complete this property only if you set the afdSignaling property to FIXED. Choose the AFD value (4 bits) to write on all frames of the video encode.", + "smithy.api#jsonName": "fixedAfd" + } + }, + "FramerateDenominator": { + "target": "com.amazonaws.medialive#__integerMin1Max3003", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "The denominator for the framerate. Framerate is a fraction, for example, 24000 / 1001.", + "smithy.api#jsonName": "framerateDenominator", + "smithy.api#required": {} + } + }, + "FramerateNumerator": { + "target": "com.amazonaws.medialive#__integerMin1", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "The numerator for the framerate. Framerate is a fraction, for example, 24000 / 1001.", + "smithy.api#jsonName": "framerateNumerator", + "smithy.api#required": {} + } + }, + "GopSize": { + "target": "com.amazonaws.medialive#__doubleMin0", + "traits": { + "smithy.api#documentation": "The GOP size (keyframe interval).\nIf GopSizeUnits is frames, GopSize must be a whole number and must be greater than or equal to 1.\nIf GopSizeUnits is seconds, GopSize must be greater than 0, but it can be a decimal.", + "smithy.api#jsonName": "gopSize" + } + }, + "GopSizeUnits": { + "target": "com.amazonaws.medialive#Av1GopSizeUnits", + "traits": { + "smithy.api#documentation": "Choose the units for the GOP size: FRAMES or SECONDS. For SECONDS, MediaLive converts the size into a frame count at run time.", + "smithy.api#jsonName": "gopSizeUnits" + } + }, + "Level": { + "target": "com.amazonaws.medialive#Av1Level", + "traits": { + "smithy.api#documentation": "Sets the level. This parameter is one of the properties of the encoding scheme for AV1.", + "smithy.api#jsonName": "level" + } + }, + "LookAheadRateControl": { + "target": "com.amazonaws.medialive#Av1LookAheadRateControl", + "traits": { + "smithy.api#documentation": "Sets the amount of lookahead. A value of LOW can decrease latency and memory usage. A value of HIGH can produce better quality for certain content.", + "smithy.api#jsonName": "lookAheadRateControl" + } + }, + "MaxBitrate": { + "target": "com.amazonaws.medialive#__integerMin50000Max8000000", + "traits": { + "smithy.api#documentation": "The maximum bitrate to assign.\nFor recommendations, see the description for qvbrQualityLevel.", + "smithy.api#jsonName": "maxBitrate" + } + }, + "MinIInterval": { + "target": "com.amazonaws.medialive#__integerMin0Max30", + "traits": { + "smithy.api#documentation": "Applies only if you enable SceneChangeDetect. Sets the interval between frames. This property ensures a minimum separation between repeated (cadence) I-frames and any I-frames inserted by scene change detection (SCD frames).\nEnter a number for the interval, measured in number of frames.\nIf an SCD frame and a cadence frame are closer than the specified number of frames, MediaLive shrinks or stretches the GOP to include the SCD frame. Then normal cadence resumes in the next GOP. For GOP stretch to succeed, you must enable LookAheadRateControl.\nNote that the maximum GOP stretch = (GOP size) + (Minimum I-interval) - 1", + "smithy.api#jsonName": "minIInterval" + } + }, + "ParDenominator": { + "target": "com.amazonaws.medialive#__integerMin1", + "traits": { + "smithy.api#documentation": "The denominator for the output pixel aspect ratio (PAR).", + "smithy.api#jsonName": "parDenominator" + } + }, + "ParNumerator": { + "target": "com.amazonaws.medialive#__integerMin1", + "traits": { + "smithy.api#documentation": "The numerator for the output pixel aspect ratio (PAR).", + "smithy.api#jsonName": "parNumerator" + } + }, + "QvbrQualityLevel": { + "target": "com.amazonaws.medialive#__integerMin1Max10", + "traits": { + "smithy.api#documentation": "Controls the target quality for the video encode. With QVBR rate control mode, the final quality is the target quality, constrained by the maxBitrate.\nSet values for the qvbrQualityLevel property and maxBitrate property that suit your most important viewing devices.\nTo let MediaLive set the quality level (AUTO mode), leave the qvbrQualityLevel field empty. In this case, MediaLive uses the maximum bitrate, and the quality follows from that: more complex content might have a lower quality.\nOr set a target quality level and a maximum bitrate. With more complex content, MediaLive will try to achieve the target quality, but it won't exceed the maximum bitrate. With less complex content, This option will use only the bitrate needed to reach the target quality.\nRecommended values are:\nPrimary screen: qvbrQualityLevel: Leave empty. maxBitrate: 4,000,000\nPC or tablet: qvbrQualityLevel: Leave empty. maxBitrate: 1,500,000 to 3,000,000\nSmartphone: qvbrQualityLevel: Leave empty. maxBitrate: 1,000,000 to 1,500,000", + "smithy.api#jsonName": "qvbrQualityLevel" + } + }, + "SceneChangeDetect": { + "target": "com.amazonaws.medialive#Av1SceneChangeDetect", + "traits": { + "smithy.api#documentation": "Controls whether MediaLive inserts I-frames when it detects a scene change. ENABLED or DISABLED.", + "smithy.api#jsonName": "sceneChangeDetect" + } + }, + "TimecodeBurninSettings": { + "target": "com.amazonaws.medialive#TimecodeBurninSettings", + "traits": { + "smithy.api#documentation": "Configures the timecode burn-in feature. If you enable this feature, the timecode will become part of the video.", + "smithy.api#jsonName": "timecodeBurninSettings" + } + } + }, + "traits": { + "smithy.api#documentation": "Av1 Settings" + } + }, "com.amazonaws.medialive#AvailBlanking": { "type": "structure", "members": { @@ -3107,6 +3456,13 @@ "smithy.api#documentation": "Settings for VPC output", "smithy.api#jsonName": "vpc" } + }, + "AnywhereSettings": { + "target": "com.amazonaws.medialive#DescribeAnywhereSettings", + "traits": { + "smithy.api#documentation": "Anywhere settings for this channel.", + "smithy.api#jsonName": "anywhereSettings" + } } }, "traits": { @@ -3168,6 +3524,56 @@ "smithy.api#documentation": "Property of RestartChannelPipelinesRequest" } }, + "com.amazonaws.medialive#ChannelPlacementGroupState": { + "type": "enum", + "members": { + "UNASSIGNED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNASSIGNED" + } + }, + "ASSIGNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ASSIGNING" + } + }, + "ASSIGNED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ASSIGNED" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "DELETE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_FAILED" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + }, + "UNASSIGNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNASSIGNING" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in DescribeChannelPlacementGroupResult" + } + }, "com.amazonaws.medialive#ChannelState": { "type": "enum", "members": { @@ -3355,6 +3761,13 @@ "smithy.api#documentation": "Settings for any VPC outputs.", "smithy.api#jsonName": "vpc" } + }, + "AnywhereSettings": { + "target": "com.amazonaws.medialive#DescribeAnywhereSettings", + "traits": { + "smithy.api#documentation": "AnywhereSettings settings for this channel.", + "smithy.api#jsonName": "anywhereSettings" + } } }, "traits": { @@ -3803,6 +4216,130 @@ "smithy.api#documentation": "Specifies how missing data points are treated when evaluating the alarm's condition." } }, + "com.amazonaws.medialive#ClusterNetworkSettings": { + "type": "structure", + "members": { + "DefaultRoute": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The network interface that is the default route for traffic to and from the node. MediaLive Anywhere uses this default when the destination for the traffic isn't covered by the route table for any of the networks. Specify the value of the appropriate logicalInterfaceName parameter that you create in the interfaceMappings.", + "smithy.api#jsonName": "defaultRoute" + } + }, + "InterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfInterfaceMapping", + "traits": { + "smithy.api#documentation": "An array of interfaceMapping objects for this Cluster. Each mapping logically connects one interface on the nodes with one Network. You need only one mapping for each interface because all the Nodes share the mapping.", + "smithy.api#jsonName": "interfaceMappings" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in DescribeClusterResult, DescribeClusterSummary, UpdateClusterResult." + } + }, + "com.amazonaws.medialive#ClusterNetworkSettingsCreateRequest": { + "type": "structure", + "members": { + "DefaultRoute": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specify one network interface as the default route for traffic to and from the Node. MediaLive Anywhere uses this default when the destination for the traffic isn't covered by the route table for any of the networks. Specify the value of the appropriate logicalInterfaceName parameter that you create in the interfaceMappings.", + "smithy.api#jsonName": "defaultRoute" + } + }, + "InterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfInterfaceMappingCreateRequest", + "traits": { + "smithy.api#documentation": "An array of interfaceMapping objects for this Cluster. You must create a mapping for node interfaces that you plan to use for encoding traffic. You typically don't create a mapping for the management interface. You define this mapping in the Cluster so that the mapping can be used by all the Nodes. Each mapping logically connects one interface on the nodes with one Network. Each mapping consists of a pair of parameters. The logicalInterfaceName parameter creates a logical name for the Node interface that handles a specific type of traffic. For example, my-Inputs-Interface. The networkID parameter refers to the ID of the network. When you create the Nodes in this Cluster, you will associate the logicalInterfaceName with the appropriate physical interface.", + "smithy.api#jsonName": "interfaceMappings" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in a CreateClusterRequest." + } + }, + "com.amazonaws.medialive#ClusterNetworkSettingsUpdateRequest": { + "type": "structure", + "members": { + "DefaultRoute": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Include this parameter only if you want to change the default route for the Cluster. Specify one network interface as the default route for traffic to and from the node. MediaLive Anywhere uses this default when the destination for the traffic isn't covered by the route table for any of the networks. Specify the value of the appropriate logicalInterfaceName parameter that you create in the interfaceMappings.", + "smithy.api#jsonName": "defaultRoute" + } + }, + "InterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfInterfaceMappingUpdateRequest", + "traits": { + "smithy.api#documentation": "An array of interfaceMapping objects for this Cluster. Include this parameter only if you want to change the interface mappings for the Cluster. Typically, you change the interface mappings only to fix an error you made when creating the mapping. In an update request, make sure that you enter the entire set of mappings again, not just the mappings that you want to add or change. You define this mapping so that the mapping can be used by all the Nodes. Each mapping logically connects one interface on the nodes with one Network. Each mapping consists of a pair of parameters. The logicalInterfaceName parameter creates a logical name for the Node interface that handles a specific type of traffic. For example, my-Inputs-Interface. The networkID parameter refers to the ID of the network. When you create the Nodes in this Cluster, you will associate the logicalInterfaceName with the appropriate physical interface.", + "smithy.api#jsonName": "interfaceMappings" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ClusterNetworkSettingsUpdateRequest" + } + }, + "com.amazonaws.medialive#ClusterState": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "CREATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATE_FAILED" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "DELETE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_FAILED" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in DescribeClusterSummary, DescribeClusterResult, UpdateClusterResult." + } + }, + "com.amazonaws.medialive#ClusterType": { + "type": "enum", + "members": { + "ON_PREMISES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ON_PREMISES" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in CreateClusterSummary, DescribeClusterSummary, DescribeClusterResult, UpdateClusterResult." + } + }, "com.amazonaws.medialive#CmafIngestGroupSettings": { "type": "structure", "members": { @@ -4074,6 +4611,150 @@ } } }, + "com.amazonaws.medialive#CreateChannelPlacementGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#CreateChannelPlacementGroupRequest" + }, + "output": { + "target": "com.amazonaws.medialive#CreateChannelPlacementGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + }, + { + "target": "com.amazonaws.medialive#UnprocessableEntityException" + } + ], + "traits": { + "smithy.api#documentation": "Create a ChannelPlacementGroup in the specified Cluster. As part of the create operation, you specify the Nodes to attach the group to.After you create a ChannelPlacementGroup, you add Channels to the group (you do this by modifying the Channels to add them to a specific group). You now have an association of Channels to ChannelPlacementGroup, and ChannelPlacementGroup to Nodes. This association means that all the Channels in the group are able to run on any of the Nodes associated with the group.", + "smithy.api#http": { + "method": "POST", + "uri": "/prod/clusters/{ClusterId}/channelplacementgroups", + "code": 201 + } + } + }, + "com.amazonaws.medialive#CreateChannelPlacementGroupRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specify a name that is unique in the Cluster. You can't change the name. Names are case-sensitive.", + "smithy.api#jsonName": "name" + } + }, + "Nodes": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array of one ID for the Node that you want to associate with the ChannelPlacementGroup. (You can't associate more than one Node with the ChannelPlacementGroup.) The Node and the ChannelPlacementGroup must be in the same Cluster.", + "smithy.api#jsonName": "nodes" + } + }, + "RequestId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "An ID that you assign to a create request. This ID ensures idempotency when creating resources. the request.", + "smithy.api#idempotencyToken": {}, + "smithy.api#jsonName": "requestId" + } + }, + "Tags": { + "target": "com.amazonaws.medialive#Tags", + "traits": { + "smithy.api#documentation": "A collection of key-value pairs.", + "smithy.api#jsonName": "tags" + } + } + }, + "traits": { + "smithy.api#documentation": "A request to create a channel placement group.", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#CreateChannelPlacementGroupResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created.", + "smithy.api#jsonName": "arn" + } + }, + "Channels": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "Used in ListChannelPlacementGroupsResult", + "smithy.api#jsonName": "channels" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the ChannelPlacementGroup.", + "smithy.api#jsonName": "name" + } + }, + "Nodes": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup.", + "smithy.api#jsonName": "nodes" + } + }, + "State": { + "target": "com.amazonaws.medialive#ChannelPlacementGroupState", + "traits": { + "smithy.api#documentation": "The current state of the ChannelPlacementGroup.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for CreateChannelPlacementGroupResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#CreateChannelRequest": { "type": "structure", "members": { @@ -4174,6 +4855,13 @@ "smithy.api#documentation": "Settings for the VPC outputs", "smithy.api#jsonName": "vpc" } + }, + "AnywhereSettings": { + "target": "com.amazonaws.medialive#AnywhereSettings", + "traits": { + "smithy.api#documentation": "The Elemental Anywhere settings for this channel.", + "smithy.api#jsonName": "anywhereSettings" + } } }, "traits": { @@ -4592,15 +5280,18 @@ "smithy.api#output": {} } }, - "com.amazonaws.medialive#CreateEventBridgeRuleTemplate": { + "com.amazonaws.medialive#CreateCluster": { "type": "operation", "input": { - "target": "com.amazonaws.medialive#CreateEventBridgeRuleTemplateRequest" + "target": "com.amazonaws.medialive#CreateClusterRequest" }, "output": { - "target": "com.amazonaws.medialive#CreateEventBridgeRuleTemplateResponse" + "target": "com.amazonaws.medialive#CreateClusterResponse" }, "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, { "target": "com.amazonaws.medialive#BadRequestException" }, @@ -4611,31 +5302,184 @@ "target": "com.amazonaws.medialive#ForbiddenException" }, { - "target": "com.amazonaws.medialive#InternalServerErrorException" + "target": "com.amazonaws.medialive#GatewayTimeoutException" }, { - "target": "com.amazonaws.medialive#NotFoundException" + "target": "com.amazonaws.medialive#InternalServerErrorException" }, { "target": "com.amazonaws.medialive#TooManyRequestsException" } ], "traits": { - "smithy.api#documentation": "Creates an eventbridge rule template to monitor events and send notifications to your targeted resources.", + "smithy.api#documentation": "Create a new Cluster.", "smithy.api#http": { "method": "POST", - "uri": "/prod/eventbridge-rule-templates", + "uri": "/prod/clusters", "code": 201 } } }, - "com.amazonaws.medialive#CreateEventBridgeRuleTemplateGroup": { + "com.amazonaws.medialive#CreateClusterRequest": { + "type": "structure", + "members": { + "ClusterType": { + "target": "com.amazonaws.medialive#ClusterType", + "traits": { + "smithy.api#documentation": "Specify a type. All the Nodes that you later add to this Cluster must be this type of hardware. One Cluster instance can't contain different hardware types. You won't be able to change this parameter after you create the Cluster.", + "smithy.api#jsonName": "clusterType" + } + }, + "InstanceRoleArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the IAM role for the Node in this Cluster. The role must include all the operations that you expect these Node to perform. If necessary, create a role in IAM, then attach it here.", + "smithy.api#jsonName": "instanceRoleArn" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specify a name that is unique in the AWS account. We recommend that you assign a name that hints at the types of Nodes in the Cluster. Names are case-sensitive.", + "smithy.api#jsonName": "name" + } + }, + "NetworkSettings": { + "target": "com.amazonaws.medialive#ClusterNetworkSettingsCreateRequest", + "traits": { + "smithy.api#documentation": "Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with.", + "smithy.api#jsonName": "networkSettings" + } + }, + "RequestId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the request.", + "smithy.api#idempotencyToken": {}, + "smithy.api#jsonName": "requestId" + } + }, + "Tags": { + "target": "com.amazonaws.medialive#Tags", + "traits": { + "smithy.api#documentation": "A collection of key-value pairs.", + "smithy.api#jsonName": "tags" + } + } + }, + "traits": { + "smithy.api#documentation": "Create as many Clusters as you want, but create at least one. Each Cluster groups together Nodes that you want to treat as a collection. Within the Cluster, you will set up some Nodes as active Nodes, and some as backup Nodes, for Node failover purposes. Each Node can belong to only one Cluster.", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#CreateClusterResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this Cluster. It is automatically assigned when the Cluster is created.", + "smithy.api#jsonName": "arn" + } + }, + "ChannelIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#jsonName": "channelIds" + } + }, + "ClusterType": { + "target": "com.amazonaws.medialive#ClusterType", + "traits": { + "smithy.api#documentation": "The hardware type for the Cluster", + "smithy.api#jsonName": "clusterType" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "InstanceRoleArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the IAM role for the Node in this Cluster. Any Nodes that are associated with this Cluster assume this role. The role gives permissions to the operations that you expect these Node to perform.", + "smithy.api#jsonName": "instanceRoleArn" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Cluster.", + "smithy.api#jsonName": "name" + } + }, + "NetworkSettings": { + "target": "com.amazonaws.medialive#ClusterNetworkSettings", + "traits": { + "smithy.api#documentation": "Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with.", + "smithy.api#jsonName": "networkSettings" + } + }, + "State": { + "target": "com.amazonaws.medialive#ClusterState", + "traits": { + "smithy.api#documentation": "The current state of the Cluster.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for CreateClusterResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#CreateEventBridgeRuleTemplate": { "type": "operation", "input": { - "target": "com.amazonaws.medialive#CreateEventBridgeRuleTemplateGroupRequest" + "target": "com.amazonaws.medialive#CreateEventBridgeRuleTemplateRequest" }, "output": { - "target": "com.amazonaws.medialive#CreateEventBridgeRuleTemplateGroupResponse" + "target": "com.amazonaws.medialive#CreateEventBridgeRuleTemplateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Creates an eventbridge rule template to monitor events and send notifications to your targeted resources.", + "smithy.api#http": { + "method": "POST", + "uri": "/prod/eventbridge-rule-templates", + "code": 201 + } + } + }, + "com.amazonaws.medialive#CreateEventBridgeRuleTemplateGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#CreateEventBridgeRuleTemplateGroupRequest" + }, + "output": { + "target": "com.amazonaws.medialive#CreateEventBridgeRuleTemplateGroupResponse" }, "errors": [ { @@ -5002,6 +5846,20 @@ "smithy.api#documentation": "The settings associated with an SRT input.", "smithy.api#jsonName": "srtSettings" } + }, + "InputNetworkLocation": { + "target": "com.amazonaws.medialive#InputNetworkLocation", + "traits": { + "smithy.api#documentation": "The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for\nan input in a customer network.", + "smithy.api#jsonName": "inputNetworkLocation" + } + }, + "MulticastSettings": { + "target": "com.amazonaws.medialive#MulticastSettingsCreateRequest", + "traits": { + "smithy.api#documentation": "Multicast Input settings.", + "smithy.api#jsonName": "multicastSettings" + } } }, "traits": { @@ -5315,6 +6173,429 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#CreateNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#CreateNetworkRequest" + }, + "output": { + "target": "com.amazonaws.medialive#CreateNetworkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Create as many Networks as you need. You will associate one or more Clusters with each Network.Each Network provides MediaLive Anywhere with required information about the network in your organization that you are using for video encoding using MediaLive.", + "smithy.api#http": { + "method": "POST", + "uri": "/prod/networks", + "code": 201 + } + } + }, + "com.amazonaws.medialive#CreateNetworkRequest": { + "type": "structure", + "members": { + "IpPools": { + "target": "com.amazonaws.medialive#__listOfIpPoolCreateRequest", + "traits": { + "smithy.api#documentation": "An array of IpPoolCreateRequests that identify a collection of IP addresses in your network that you want to reserve for use in MediaLive Anywhere. MediaLiveAnywhere uses these IP addresses for Push inputs (in both Bridge and NATnetworks) and for output destinations (only in Bridge networks). EachIpPoolUpdateRequest specifies one CIDR block.", + "smithy.api#jsonName": "ipPools" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specify a name that is unique in the AWS account. We recommend that you assign a name that hints at the type of traffic on the network. Names are case-sensitive.", + "smithy.api#jsonName": "name" + } + }, + "RequestId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "An ID that you assign to a create request. This ID ensures idempotency when creating resources.", + "smithy.api#idempotencyToken": {}, + "smithy.api#jsonName": "requestId" + } + }, + "Routes": { + "target": "com.amazonaws.medialive#__listOfRouteCreateRequest", + "traits": { + "smithy.api#documentation": "An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic.", + "smithy.api#jsonName": "routes" + } + }, + "Tags": { + "target": "com.amazonaws.medialive#Tags", + "traits": { + "smithy.api#documentation": "A collection of key-value pairs.", + "smithy.api#jsonName": "tags" + } + } + }, + "traits": { + "smithy.api#documentation": "A request to create a Network.", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#CreateNetworkResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this Network. It is automatically assigned when the Network is created.", + "smithy.api#jsonName": "arn" + } + }, + "AssociatedClusterIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#jsonName": "associatedClusterIds" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "IpPools": { + "target": "com.amazonaws.medialive#__listOfIpPool", + "traits": { + "smithy.api#documentation": "An array of IpPools in your organization's network that identify a collection of IP addresses in this network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block.", + "smithy.api#jsonName": "ipPools" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Network.", + "smithy.api#jsonName": "name" + } + }, + "Routes": { + "target": "com.amazonaws.medialive#__listOfRoute", + "traits": { + "smithy.api#documentation": "An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic.", + "smithy.api#jsonName": "routes" + } + }, + "State": { + "target": "com.amazonaws.medialive#NetworkState", + "traits": { + "smithy.api#documentation": "The current state of the Network. Only MediaLive Anywhere can change the state.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for CreateNetworkResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#CreateNode": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#CreateNodeRequest" + }, + "output": { + "target": "com.amazonaws.medialive#CreateNodeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + }, + { + "target": "com.amazonaws.medialive#UnprocessableEntityException" + } + ], + "traits": { + "smithy.api#documentation": "Create a Node in the specified Cluster. You can also create Nodes using the CreateNodeRegistrationScript. Note that you can't move a Node to another Cluster.", + "smithy.api#http": { + "method": "POST", + "uri": "/prod/clusters/{ClusterId}/nodes", + "code": 201 + } + } + }, + "com.amazonaws.medialive#CreateNodeRegistrationScript": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#CreateNodeRegistrationScriptRequest" + }, + "output": { + "target": "com.amazonaws.medialive#CreateNodeRegistrationScriptResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Create the Register Node script for all the nodes intended for a specific Cluster. You will then run the script on each hardware unit that is intended for that Cluster. The script creates a Node in the specified Cluster. It then binds the Node to this hardware unit, and activates the node hardware for use with MediaLive Anywhere.", + "smithy.api#http": { + "method": "POST", + "uri": "/prod/clusters/{ClusterId}/nodeRegistrationScript", + "code": 200 + } + } + }, + "com.amazonaws.medialive#CreateNodeRegistrationScriptRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "If you're generating a re-registration script for an already existing node, this is where you provide the id.", + "smithy.api#jsonName": "id" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specify a pattern for MediaLive Anywhere to use to assign a name to each Node in the Cluster. The pattern can include the variables $hn (hostname of the node hardware) and $ts for the date and time that the Node is created, in UTC (for example, 2024-08-20T23:35:12Z).", + "smithy.api#jsonName": "name" + } + }, + "NodeInterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfNodeInterfaceMapping", + "traits": { + "smithy.api#documentation": "Documentation update needed", + "smithy.api#jsonName": "nodeInterfaceMappings" + } + }, + "RequestId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "An ID that you assign to a create request. This ID ensures idempotency when creating resources.", + "smithy.api#idempotencyToken": {}, + "smithy.api#jsonName": "requestId" + } + }, + "Role": { + "target": "com.amazonaws.medialive#NodeRole", + "traits": { + "smithy.api#documentation": "The initial role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.", + "smithy.api#jsonName": "role" + } + } + }, + "traits": { + "smithy.api#documentation": "A request to create a new node registration script.", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#CreateNodeRegistrationScriptResponse": { + "type": "structure", + "members": { + "NodeRegistrationScript": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A script that can be run on a Bring Your Own Device Elemental Anywhere system to create a node in a cluster.", + "smithy.api#jsonName": "nodeRegistrationScript" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for CreateNodeRegistrationScriptResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#CreateNodeRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The user-specified name of the Node to be created.", + "smithy.api#jsonName": "name" + } + }, + "NodeInterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfNodeInterfaceMappingCreateRequest", + "traits": { + "smithy.api#documentation": "Documentation update needed", + "smithy.api#jsonName": "nodeInterfaceMappings" + } + }, + "RequestId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "An ID that you assign to a create request. This ID ensures idempotency when creating resources.", + "smithy.api#idempotencyToken": {}, + "smithy.api#jsonName": "requestId" + } + }, + "Role": { + "target": "com.amazonaws.medialive#NodeRole", + "traits": { + "smithy.api#documentation": "The initial role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.", + "smithy.api#jsonName": "role" + } + }, + "Tags": { + "target": "com.amazonaws.medialive#Tags", + "traits": { + "smithy.api#documentation": "A collection of key-value pairs.", + "smithy.api#jsonName": "tags" + } + } + }, + "traits": { + "smithy.api#documentation": "A request to create a node", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#CreateNodeResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the Node. It is automatically assigned when the Node is created.", + "smithy.api#jsonName": "arn" + } + }, + "ChannelPlacementGroups": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups.", + "smithy.api#jsonName": "channelPlacementGroups" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } + }, + "ConnectionState": { + "target": "com.amazonaws.medialive#NodeConnectionState", + "traits": { + "smithy.api#documentation": "The current connection state of the Node.", + "smithy.api#jsonName": "connectionState" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "InstanceArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the EC2 instance hosting the Node.", + "smithy.api#jsonName": "instanceArn" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Node.", + "smithy.api#jsonName": "name" + } + }, + "NodeInterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfNodeInterfaceMapping", + "traits": { + "smithy.api#documentation": "Documentation update needed", + "smithy.api#jsonName": "nodeInterfaceMappings" + } + }, + "Role": { + "target": "com.amazonaws.medialive#NodeRole", + "traits": { + "smithy.api#documentation": "The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.", + "smithy.api#jsonName": "role" + } + }, + "State": { + "target": "com.amazonaws.medialive#NodeState", + "traits": { + "smithy.api#documentation": "The current state of the Node.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for CreateNodeResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#CreatePartnerInput": { "type": "operation", "input": { @@ -5856,6 +7137,132 @@ } } }, + "com.amazonaws.medialive#DeleteChannelPlacementGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#DeleteChannelPlacementGroupRequest" + }, + "output": { + "target": "com.amazonaws.medialive#DeleteChannelPlacementGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Delete the specified ChannelPlacementGroup that exists in the specified Cluster.", + "smithy.api#http": { + "method": "DELETE", + "uri": "/prod/clusters/{ClusterId}/channelplacementgroups/{ChannelPlacementGroupId}", + "code": 200 + } + } + }, + "com.amazonaws.medialive#DeleteChannelPlacementGroupRequest": { + "type": "structure", + "members": { + "ChannelPlacementGroupId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the channel placement group.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DeleteChannelPlacementGroupRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#DeleteChannelPlacementGroupResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created.", + "smithy.api#jsonName": "arn" + } + }, + "Channels": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "Used in ListChannelPlacementGroupsResult", + "smithy.api#jsonName": "channels" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the ChannelPlacementGroup.", + "smithy.api#jsonName": "name" + } + }, + "Nodes": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup.", + "smithy.api#jsonName": "nodes" + } + }, + "State": { + "target": "com.amazonaws.medialive#ChannelPlacementGroupState", + "traits": { + "smithy.api#documentation": "The current state of the ChannelPlacementGroup.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DeleteChannelPlacementGroupResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#DeleteChannelRequest": { "type": "structure", "members": { @@ -5999,6 +7406,13 @@ "smithy.api#documentation": "Settings for VPC output", "smithy.api#jsonName": "vpc" } + }, + "AnywhereSettings": { + "target": "com.amazonaws.medialive#DescribeAnywhereSettings", + "traits": { + "smithy.api#documentation": "Anywhere settings for this channel.", + "smithy.api#jsonName": "anywhereSettings" + } } }, "traits": { @@ -6114,6 +7528,130 @@ "smithy.api#input": {} } }, + "com.amazonaws.medialive#DeleteCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#DeleteClusterRequest" + }, + "output": { + "target": "com.amazonaws.medialive#DeleteClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Delete a Cluster. The Cluster must be idle.", + "smithy.api#http": { + "method": "DELETE", + "uri": "/prod/clusters/{ClusterId}", + "code": 202 + } + } + }, + "com.amazonaws.medialive#DeleteClusterRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DeleteClusterRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#DeleteClusterResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this Cluster. It is automatically assigned when the Cluster is created.", + "smithy.api#jsonName": "arn" + } + }, + "ChannelIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#jsonName": "channelIds" + } + }, + "ClusterType": { + "target": "com.amazonaws.medialive#ClusterType", + "traits": { + "smithy.api#documentation": "The hardware type for the Cluster", + "smithy.api#jsonName": "clusterType" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "InstanceRoleArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the IAM role for the Node in this Cluster. Any Nodes that are associated with this Cluster assume this role. The role gives permissions to the operations that you expect these Node to perform.", + "smithy.api#jsonName": "instanceRoleArn" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Cluster.", + "smithy.api#jsonName": "name" + } + }, + "NetworkSettings": { + "target": "com.amazonaws.medialive#ClusterNetworkSettings", + "traits": { + "smithy.api#documentation": "Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with.", + "smithy.api#jsonName": "networkSettings" + } + }, + "State": { + "target": "com.amazonaws.medialive#ClusterState", + "traits": { + "smithy.api#documentation": "The current state of the Cluster.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DeleteClusterResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#DeleteEventBridgeRuleTemplate": { "type": "operation", "input": { @@ -6606,6 +8144,270 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#DeleteNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#DeleteNetworkRequest" + }, + "output": { + "target": "com.amazonaws.medialive#DeleteNetworkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Delete a Network. The Network must have no resources associated with it.", + "smithy.api#http": { + "method": "DELETE", + "uri": "/prod/networks/{NetworkId}", + "code": 202 + } + } + }, + "com.amazonaws.medialive#DeleteNetworkRequest": { + "type": "structure", + "members": { + "NetworkId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the network.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DeleteNetworkRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#DeleteNetworkResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this Network. It is automatically assigned when the Network is created.", + "smithy.api#jsonName": "arn" + } + }, + "AssociatedClusterIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#jsonName": "associatedClusterIds" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "IpPools": { + "target": "com.amazonaws.medialive#__listOfIpPool", + "traits": { + "smithy.api#documentation": "An array of IpPools in your organization's network that identify a collection of IP addresses in this network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block.", + "smithy.api#jsonName": "ipPools" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Network.", + "smithy.api#jsonName": "name" + } + }, + "Routes": { + "target": "com.amazonaws.medialive#__listOfRoute", + "traits": { + "smithy.api#documentation": "An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic.", + "smithy.api#jsonName": "routes" + } + }, + "State": { + "target": "com.amazonaws.medialive#NetworkState", + "traits": { + "smithy.api#documentation": "The current state of the Network. Only MediaLive Anywhere can change the state.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DeleteNetworkResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#DeleteNode": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#DeleteNodeRequest" + }, + "output": { + "target": "com.amazonaws.medialive#DeleteNodeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Delete a Node. The Node must be IDLE.", + "smithy.api#http": { + "method": "DELETE", + "uri": "/prod/clusters/{ClusterId}/nodes/{NodeId}", + "code": 202 + } + } + }, + "com.amazonaws.medialive#DeleteNodeRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NodeId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the node.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DeleteNodeRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#DeleteNodeResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the Node. It is automatically assigned when the Node is created.", + "smithy.api#jsonName": "arn" + } + }, + "ChannelPlacementGroups": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups.", + "smithy.api#jsonName": "channelPlacementGroups" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } + }, + "ConnectionState": { + "target": "com.amazonaws.medialive#NodeConnectionState", + "traits": { + "smithy.api#documentation": "The current connection state of the Node.", + "smithy.api#jsonName": "connectionState" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "InstanceArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the EC2 instance hosting the Node.", + "smithy.api#jsonName": "instanceArn" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Node.", + "smithy.api#jsonName": "name" + } + }, + "NodeInterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfNodeInterfaceMapping", + "traits": { + "smithy.api#documentation": "Documentation update needed", + "smithy.api#jsonName": "nodeInterfaceMappings" + } + }, + "Role": { + "target": "com.amazonaws.medialive#NodeRole", + "traits": { + "smithy.api#documentation": "The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.", + "smithy.api#jsonName": "role" + } + }, + "State": { + "target": "com.amazonaws.medialive#NodeState", + "traits": { + "smithy.api#documentation": "The current state of the Node.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DeleteNodeResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#DeleteReservation": { "type": "operation", "input": { @@ -7043,6 +8845,28 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#DescribeAnywhereSettings": { + "type": "structure", + "members": { + "ChannelPlacementGroupId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the channel placement group for the channel.", + "smithy.api#jsonName": "channelPlacementGroupId" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster for the channel.", + "smithy.api#jsonName": "clusterId" + } + } + }, + "traits": { + "smithy.api#documentation": "Elemental anywhere settings" + } + }, "com.amazonaws.medialive#DescribeChannel": { "type": "operation", "input": { @@ -7223,6 +9047,284 @@ } } }, + "com.amazonaws.medialive#DescribeChannelPlacementGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#DescribeChannelPlacementGroupRequest" + }, + "output": { + "target": "com.amazonaws.medialive#DescribeChannelPlacementGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Get details about a ChannelPlacementGroup.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/clusters/{ClusterId}/channelplacementgroups/{ChannelPlacementGroupId}", + "code": 200 + }, + "smithy.waiters#waitable": { + "ChannelPlacementGroupAssigned": { + "documentation": "Wait until the channel placement group has been assigned", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "State", + "expected": "ASSIGNED", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "State", + "expected": "ASSIGNING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InternalServerErrorException" + } + } + ], + "minDelay": 3 + }, + "ChannelPlacementGroupDeleted": { + "documentation": "Wait until the channel placement group has been deleted", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "State", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "State", + "expected": "DELETING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InternalServerErrorException" + } + } + ], + "minDelay": 5 + }, + "ChannelPlacementGroupUnassigned": { + "documentation": "Wait until the channel placement group has been unassigned", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "State", + "expected": "UNASSIGNED", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "State", + "expected": "UNASSIGNING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InternalServerErrorException" + } + } + ], + "minDelay": 5 + } + } + } + }, + "com.amazonaws.medialive#DescribeChannelPlacementGroupRequest": { + "type": "structure", + "members": { + "ChannelPlacementGroupId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the channel placement group.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DescribeChannelPlacementGroupRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#DescribeChannelPlacementGroupResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created.", + "smithy.api#jsonName": "arn" + } + }, + "Channels": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "Used in ListChannelPlacementGroupsResult", + "smithy.api#jsonName": "channels" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the ChannelPlacementGroup.", + "smithy.api#jsonName": "name" + } + }, + "Nodes": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup.", + "smithy.api#jsonName": "nodes" + } + }, + "State": { + "target": "com.amazonaws.medialive#ChannelPlacementGroupState", + "traits": { + "smithy.api#documentation": "The current state of the ChannelPlacementGroup.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DescribeChannelPlacementGroupResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#DescribeChannelPlacementGroupSummary": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created.", + "smithy.api#jsonName": "arn" + } + }, + "Channels": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "Used in ListChannelPlacementGroupsResult", + "smithy.api#jsonName": "channels" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the ChannelPlacementGroup.", + "smithy.api#jsonName": "name" + } + }, + "Nodes": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup.", + "smithy.api#jsonName": "nodes" + } + }, + "State": { + "target": "com.amazonaws.medialive#ChannelPlacementGroupState", + "traits": { + "smithy.api#documentation": "The current state of the ChannelPlacementGroup.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Contains the response for ListChannelPlacementGroups" + } + }, "com.amazonaws.medialive#DescribeChannelRequest": { "type": "structure", "members": { @@ -7366,6 +9468,13 @@ "smithy.api#documentation": "Settings for VPC output", "smithy.api#jsonName": "vpc" } + }, + "AnywhereSettings": { + "target": "com.amazonaws.medialive#DescribeAnywhereSettings", + "traits": { + "smithy.api#documentation": "Anywhere settings for this channel.", + "smithy.api#jsonName": "anywhereSettings" + } } }, "traits": { @@ -7373,6 +9482,267 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#DescribeCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#DescribeClusterRequest" + }, + "output": { + "target": "com.amazonaws.medialive#DescribeClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Get details about a Cluster.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/clusters/{ClusterId}", + "code": 200 + }, + "smithy.waiters#waitable": { + "ClusterCreated": { + "documentation": "Wait until a cluster has been created", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "State", + "expected": "ACTIVE", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "State", + "expected": "CREATING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InternalServerErrorException" + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "State", + "expected": "CREATE_FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 3 + }, + "ClusterDeleted": { + "documentation": "Wait until a cluster has been deleted", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "State", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "State", + "expected": "DELETING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InternalServerErrorException" + } + } + ], + "minDelay": 5 + } + } + } + }, + "com.amazonaws.medialive#DescribeClusterRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DescribeClusterRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#DescribeClusterResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this Cluster. It is automatically assigned when the Cluster is created.", + "smithy.api#jsonName": "arn" + } + }, + "ChannelIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#jsonName": "channelIds" + } + }, + "ClusterType": { + "target": "com.amazonaws.medialive#ClusterType", + "traits": { + "smithy.api#documentation": "The hardware type for the Cluster", + "smithy.api#jsonName": "clusterType" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "InstanceRoleArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the IAM role for the Node in this Cluster. Any Nodes that are associated with this Cluster assume this role. The role gives permissions to the operations that you expect these Node to perform.", + "smithy.api#jsonName": "instanceRoleArn" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Cluster.", + "smithy.api#jsonName": "name" + } + }, + "NetworkSettings": { + "target": "com.amazonaws.medialive#ClusterNetworkSettings", + "traits": { + "smithy.api#documentation": "Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with.", + "smithy.api#jsonName": "networkSettings" + } + }, + "State": { + "target": "com.amazonaws.medialive#ClusterState", + "traits": { + "smithy.api#documentation": "The current state of the Cluster.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DescribeClusterResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#DescribeClusterSummary": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this Cluster. It is automatically assigned when the Cluster is created.", + "smithy.api#jsonName": "arn" + } + }, + "ChannelIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array of the IDs of the Channels that are associated with this Cluster. One Channel is associated with the Cluster as follows: A Channel belongs to a ChannelPlacementGroup. A ChannelPlacementGroup is attached to a Node. A Node belongs to a Cluster.", + "smithy.api#jsonName": "channelIds" + } + }, + "ClusterType": { + "target": "com.amazonaws.medialive#ClusterType", + "traits": { + "smithy.api#documentation": "The hardware type for the Cluster.", + "smithy.api#jsonName": "clusterType" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "InstanceRoleArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the IAM role for the Node in this Cluster. Any Nodes that are associated with this Cluster assume this role. The role gives permissions to the operations that you expect these Node to perform.", + "smithy.api#jsonName": "instanceRoleArn" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Cluster.", + "smithy.api#jsonName": "name" + } + }, + "NetworkSettings": { + "target": "com.amazonaws.medialive#ClusterNetworkSettings", + "traits": { + "smithy.api#documentation": "Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with.", + "smithy.api#jsonName": "networkSettings" + } + }, + "State": { + "target": "com.amazonaws.medialive#ClusterState", + "traits": { + "smithy.api#documentation": "The current state of the Cluster.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in ListClustersResult." + } + }, "com.amazonaws.medialive#DescribeInput": { "type": "operation", "input": { @@ -7862,7 +10232,7 @@ "InputClass": { "target": "com.amazonaws.medialive#InputClass", "traits": { - "smithy.api#documentation": "STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails.\nSINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input.", + "smithy.api#documentation": "STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails.\nSINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input.", "smithy.api#jsonName": "inputClass" } }, @@ -7947,6 +10317,20 @@ "smithy.api#documentation": "The settings associated with an SRT input.", "smithy.api#jsonName": "srtSettings" } + }, + "InputNetworkLocation": { + "target": "com.amazonaws.medialive#InputNetworkLocation", + "traits": { + "smithy.api#documentation": "The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for\nan input in a customer network.", + "smithy.api#jsonName": "inputNetworkLocation" + } + }, + "MulticastSettings": { + "target": "com.amazonaws.medialive#MulticastSettings", + "traits": { + "smithy.api#documentation": "Multicast Input settings.", + "smithy.api#jsonName": "multicastSettings" + } } }, "traits": { @@ -8447,6 +10831,497 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#DescribeNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#DescribeNetworkRequest" + }, + "output": { + "target": "com.amazonaws.medialive#DescribeNetworkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Get details about a Network.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/networks/{NetworkId}", + "code": 200 + } + } + }, + "com.amazonaws.medialive#DescribeNetworkRequest": { + "type": "structure", + "members": { + "NetworkId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the network.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DescribeNetworkRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#DescribeNetworkResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this Network. It is automatically assigned when the Network is created.", + "smithy.api#jsonName": "arn" + } + }, + "AssociatedClusterIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#jsonName": "associatedClusterIds" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "IpPools": { + "target": "com.amazonaws.medialive#__listOfIpPool", + "traits": { + "smithy.api#documentation": "An array of IpPools in your organization's network that identify a collection of IP addresses in this network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block.", + "smithy.api#jsonName": "ipPools" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Network.", + "smithy.api#jsonName": "name" + } + }, + "Routes": { + "target": "com.amazonaws.medialive#__listOfRoute", + "traits": { + "smithy.api#documentation": "An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic.", + "smithy.api#jsonName": "routes" + } + }, + "State": { + "target": "com.amazonaws.medialive#NetworkState", + "traits": { + "smithy.api#documentation": "The current state of the Network. Only MediaLive Anywhere can change the state.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DescribeNetworkResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#DescribeNetworkSummary": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this Network. It is automatically assigned when the Network is created.", + "smithy.api#jsonName": "arn" + } + }, + "AssociatedClusterIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#jsonName": "associatedClusterIds" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "IpPools": { + "target": "com.amazonaws.medialive#__listOfIpPool", + "traits": { + "smithy.api#documentation": "An array of IpPools in your organization's network that identify a collection of IP addresses in your organization's network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block.", + "smithy.api#jsonName": "ipPools" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for this Network.", + "smithy.api#jsonName": "name" + } + }, + "Routes": { + "target": "com.amazonaws.medialive#__listOfRoute", + "traits": { + "smithy.api#documentation": "An array of routes that MediaLive Anywhere needs to know about in order to route encoding traffic.", + "smithy.api#jsonName": "routes" + } + }, + "State": { + "target": "com.amazonaws.medialive#NetworkState", + "traits": { + "smithy.api#documentation": "The current state of the Network. Only MediaLive Anywhere can change the state.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in ListNetworksResult." + } + }, + "com.amazonaws.medialive#DescribeNode": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#DescribeNodeRequest" + }, + "output": { + "target": "com.amazonaws.medialive#DescribeNodeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Get details about a Node in the specified Cluster.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/clusters/{ClusterId}/nodes/{NodeId}", + "code": 200 + }, + "smithy.waiters#waitable": { + "NodeDeregistered": { + "documentation": "Wait until a node has been deregistered", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "State", + "expected": "DEREGISTERED", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "State", + "expected": "DEREGISTERING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "State", + "expected": "DRAINING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InternalServerErrorException" + } + } + ], + "minDelay": 5 + }, + "NodeRegistered": { + "documentation": "Wait until a node has been registered", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "State", + "expected": "ACTIVE", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "State", + "expected": "REGISTERING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "NotFoundException" + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "State", + "expected": "REGISTRATION_FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "errorType": "InternalServerErrorException" + } + } + ], + "minDelay": 3 + } + } + } + }, + "com.amazonaws.medialive#DescribeNodeRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NodeId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the node.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DescribeNodeRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#DescribeNodeResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the Node. It is automatically assigned when the Node is created.", + "smithy.api#jsonName": "arn" + } + }, + "ChannelPlacementGroups": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups.", + "smithy.api#jsonName": "channelPlacementGroups" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } + }, + "ConnectionState": { + "target": "com.amazonaws.medialive#NodeConnectionState", + "traits": { + "smithy.api#documentation": "The current connection state of the Node.", + "smithy.api#jsonName": "connectionState" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "InstanceArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the EC2 instance hosting the Node.", + "smithy.api#jsonName": "instanceArn" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Node.", + "smithy.api#jsonName": "name" + } + }, + "NodeInterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfNodeInterfaceMapping", + "traits": { + "smithy.api#documentation": "Documentation update needed", + "smithy.api#jsonName": "nodeInterfaceMappings" + } + }, + "Role": { + "target": "com.amazonaws.medialive#NodeRole", + "traits": { + "smithy.api#documentation": "The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.", + "smithy.api#jsonName": "role" + } + }, + "State": { + "target": "com.amazonaws.medialive#NodeState", + "traits": { + "smithy.api#documentation": "The current state of the Node.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DescribeNodeResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#DescribeNodeSummary": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the Node. It is automatically assigned when the Node is created.", + "smithy.api#jsonName": "arn" + } + }, + "ChannelPlacementGroups": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups.", + "smithy.api#jsonName": "channelPlacementGroups" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } + }, + "ConnectionState": { + "target": "com.amazonaws.medialive#NodeConnectionState", + "traits": { + "smithy.api#documentation": "The current connection state of the Node.", + "smithy.api#jsonName": "connectionState" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "InstanceArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The EC2 ARN of the Instance associated with the Node.", + "smithy.api#jsonName": "instanceArn" + } + }, + "ManagedInstanceId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "At the routing layer will get it from the callerId/context for use with bring your own device.", + "smithy.api#jsonName": "managedInstanceId" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Node.", + "smithy.api#jsonName": "name" + } + }, + "NodeInterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfNodeInterfaceMapping", + "traits": { + "smithy.api#documentation": "Documentation update needed", + "smithy.api#jsonName": "nodeInterfaceMappings" + } + }, + "Role": { + "target": "com.amazonaws.medialive#NodeRole", + "traits": { + "smithy.api#documentation": "The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.", + "smithy.api#jsonName": "role" + } + }, + "State": { + "target": "com.amazonaws.medialive#NodeState", + "traits": { + "smithy.api#documentation": "The current state of the Node.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for DescribeNodeSummary" + } + }, "com.amazonaws.medialive#DescribeOffering": { "type": "operation", "input": { @@ -15563,7 +18438,7 @@ "InputClass": { "target": "com.amazonaws.medialive#InputClass", "traits": { - "smithy.api#documentation": "STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails.\nSINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input.", + "smithy.api#documentation": "STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails.\nSINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input.", "smithy.api#jsonName": "inputClass" } }, @@ -15648,6 +18523,20 @@ "smithy.api#documentation": "The settings associated with an SRT input.", "smithy.api#jsonName": "srtSettings" } + }, + "InputNetworkLocation": { + "target": "com.amazonaws.medialive#InputNetworkLocation", + "traits": { + "smithy.api#documentation": "The location of this input. AWS, for an input existing in the AWS Cloud, On-Prem for\nan input in a customer network.", + "smithy.api#jsonName": "inputNetworkLocation" + } + }, + "MulticastSettings": { + "target": "com.amazonaws.medialive#MulticastSettings", + "traits": { + "smithy.api#documentation": "Multicast Input settings.", + "smithy.api#jsonName": "multicastSettings" + } } }, "traits": { @@ -15684,6 +18573,13 @@ "smithy.api#documentation": "Settings of an input (caption selector, etc.)", "smithy.api#jsonName": "inputSettings" } + }, + "LogicalInterfaceNames": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "Optional assignment of an input to a logical interface on the Node. Only applies to on premises channels.", + "smithy.api#jsonName": "logicalInterfaceNames" + } } }, "traits": { @@ -15862,6 +18758,20 @@ "traits": { "smithy.api#jsonName": "vpc" } + }, + "Network": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the attached network.", + "smithy.api#jsonName": "network" + } + }, + "NetworkRoutes": { + "target": "com.amazonaws.medialive#__listOfInputDestinationRoute", + "traits": { + "smithy.api#documentation": "If the push input has an input location of ON-PREM it's a requirement to specify what the route of the input\nis going to be on the customer local network.", + "smithy.api#jsonName": "networkRoutes" + } } }, "traits": { @@ -15877,12 +18787,55 @@ "smithy.api#documentation": "A unique name for the location the RTMP stream is being pushed\nto.", "smithy.api#jsonName": "streamName" } + }, + "Network": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "If the push input has an input location of ON-PREM, ID the ID of the attached network.", + "smithy.api#jsonName": "network" + } + }, + "NetworkRoutes": { + "target": "com.amazonaws.medialive#__listOfInputRequestDestinationRoute", + "traits": { + "smithy.api#documentation": "If the push input has an input location of ON-PREM it's a requirement to specify what the route of the input\nis going to be on the customer local network.", + "smithy.api#jsonName": "networkRoutes" + } + }, + "StaticIpAddress": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "If the push input has an input location of ON-PREM it's optional to specify what the ip address\nof the input is going to be on the customer local network.", + "smithy.api#jsonName": "staticIpAddress" + } } }, "traits": { "smithy.api#documentation": "Endpoint settings for a PUSH type input." } }, + "com.amazonaws.medialive#InputDestinationRoute": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The CIDR of the route.", + "smithy.api#jsonName": "cidr" + } + }, + "Gateway": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "An optional gateway for the route.", + "smithy.api#jsonName": "gateway" + } + } + }, + "traits": { + "smithy.api#documentation": "A network route configuration." + } + }, "com.amazonaws.medialive#InputDestinationVpc": { "type": "structure", "members": { @@ -17005,6 +19958,32 @@ "smithy.api#documentation": "Maximum input bitrate in megabits per second. Bitrates up to 50 Mbps are supported currently." } }, + "com.amazonaws.medialive#InputNetworkLocation": { + "type": "enum", + "members": { + "AWS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS" + } + }, + "ON_PREMISE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ON_PREMISE" + } + }, + "ON_PREMISES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ON_PREMISES" + } + } + }, + "traits": { + "smithy.api#documentation": "With the introduction of MediaLive OnPrem, a MediaLive input can now exist in two different places: AWS or\ninside an on-premise datacenter. By default all inputs will continue to be AWS inputs." + } + }, "com.amazonaws.medialive#InputPreference": { "type": "enum", "members": { @@ -17054,6 +20033,28 @@ "smithy.api#documentation": "Action to prepare an input for a future immediate input switch." } }, + "com.amazonaws.medialive#InputRequestDestinationRoute": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The CIDR of the route.", + "smithy.api#jsonName": "cidr" + } + }, + "Gateway": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "An optional gateway for the route.", + "smithy.api#jsonName": "gateway" + } + } + }, + "traits": { + "smithy.api#documentation": "A network route configuration." + } + }, "com.amazonaws.medialive#InputResolution": { "type": "enum", "members": { @@ -17531,6 +20532,12 @@ "traits": { "smithy.api#enumValue": "SRT_CALLER" } + }, + "MULTICAST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MULTICAST" + } } }, "traits": { @@ -17591,6 +20598,72 @@ "smithy.api#documentation": "An IPv4 CIDR to whitelist." } }, + "com.amazonaws.medialive#InterfaceMapping": { + "type": "structure", + "members": { + "LogicalInterfaceName": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The logical name for one interface (on every Node) that handles a specific type of traffic. We recommend that the name hints at the physical interface it applies to. For example, it could refer to the traffic that the physical interface handles. For example, my-Inputs-Interface.", + "smithy.api#jsonName": "logicalInterfaceName" + } + }, + "NetworkId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the network that you want to connect to the specified logicalInterfaceName.", + "smithy.api#jsonName": "networkId" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in ClusterNetworkSettings" + } + }, + "com.amazonaws.medialive#InterfaceMappingCreateRequest": { + "type": "structure", + "members": { + "LogicalInterfaceName": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The logical name for one interface (on every Node) that handles a specific type of traffic. We recommend that the name hints at the physical interface it applies to. For example, it could refer to the traffic that the physical interface handles. For example, my-Inputs-Interface.", + "smithy.api#jsonName": "logicalInterfaceName" + } + }, + "NetworkId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the network that you want to connect to the specified logicalInterfaceName.", + "smithy.api#jsonName": "networkId" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in ClusterNetworkSettingsCreateRequest." + } + }, + "com.amazonaws.medialive#InterfaceMappingUpdateRequest": { + "type": "structure", + "members": { + "LogicalInterfaceName": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The logical name for one interface (on every Node) that handles a specific type of traffic. We recommend that the name hints at the physical interface it applies to. For example, it could refer to the traffic that the physical interface handles. For example, my-Inputs-Interface.", + "smithy.api#jsonName": "logicalInterfaceName" + } + }, + "NetworkId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the network that you want to connect to the specified logicalInterfaceName. You can use the ListNetworks operation to discover all the IDs.", + "smithy.api#jsonName": "networkId" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for InterfaceMappingUpdateRequest" + } + }, "com.amazonaws.medialive#InternalServerErrorException": { "type": "structure", "members": { @@ -17607,6 +20680,51 @@ "smithy.api#httpError": 500 } }, + "com.amazonaws.medialive#IpPool": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A CIDR block of IP addresses that are reserved for MediaLive Anywhere.", + "smithy.api#jsonName": "cidr" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in DescribeNetworkResult, DescribeNetworkSummary, UpdateNetworkResult." + } + }, + "com.amazonaws.medialive#IpPoolCreateRequest": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A CIDR block of IP addresses to reserve for MediaLive Anywhere.", + "smithy.api#jsonName": "cidr" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in CreateNetworkRequest." + } + }, + "com.amazonaws.medialive#IpPoolUpdateRequest": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A CIDR block of IP addresses to reserve for MediaLive Anywhere.", + "smithy.api#jsonName": "cidr" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in UpdateNetworkRequest." + } + }, "com.amazonaws.medialive#KeyProviderSettings": { "type": "structure", "members": { @@ -17641,13 +20759,13 @@ "smithy.api#documentation": "If you specify a StopTimecode in an input (in order to clip the file), you can specify if you want the clip to exclude (the default) or include the frame specified by the timecode." } }, - "com.amazonaws.medialive#ListChannels": { + "com.amazonaws.medialive#ListChannelPlacementGroups": { "type": "operation", "input": { - "target": "com.amazonaws.medialive#ListChannelsRequest" + "target": "com.amazonaws.medialive#ListChannelPlacementGroupsRequest" }, "output": { - "target": "com.amazonaws.medialive#ListChannelsResponse" + "target": "com.amazonaws.medialive#ListChannelPlacementGroupsResponse" }, "errors": [ { @@ -17670,71 +20788,86 @@ } ], "traits": { - "smithy.api#documentation": "Produces list of channels that have been created", + "smithy.api#documentation": "Retrieve the list of ChannelPlacementGroups in the specified Cluster.", "smithy.api#http": { "method": "GET", - "uri": "/prod/channels", + "uri": "/prod/clusters/{ClusterId}/channelplacementgroups", "code": 200 }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Channels", + "items": "ChannelPlacementGroups", "pageSize": "MaxResults" } } }, - "com.amazonaws.medialive#ListChannelsRequest": { + "com.amazonaws.medialive#ListChannelPlacementGroupsRequest": { "type": "structure", "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "MaxResults": { "target": "com.amazonaws.medialive#MaxResults", "traits": { + "smithy.api#documentation": "The maximum number of items to return.", "smithy.api#httpQuery": "maxResults" } }, "NextToken": { "target": "com.amazonaws.medialive#__string", "traits": { + "smithy.api#documentation": "The token to retrieve the next page of results.", "smithy.api#httpQuery": "nextToken" } } }, "traits": { - "smithy.api#documentation": "Placeholder documentation for ListChannelsRequest", + "smithy.api#documentation": "Placeholder documentation for ListChannelPlacementGroupsRequest", "smithy.api#input": {} } }, - "com.amazonaws.medialive#ListChannelsResponse": { + "com.amazonaws.medialive#ListChannelPlacementGroupsResponse": { "type": "structure", "members": { - "Channels": { - "target": "com.amazonaws.medialive#__listOfChannelSummary", + "ChannelPlacementGroups": { + "target": "com.amazonaws.medialive#__listOfDescribeChannelPlacementGroupSummary", "traits": { - "smithy.api#jsonName": "channels" + "smithy.api#documentation": "An array of ChannelPlacementGroups that exist in the Cluster.", + "smithy.api#jsonName": "channelPlacementGroups" } }, "NextToken": { "target": "com.amazonaws.medialive#__string", "traits": { + "smithy.api#documentation": "Token for the next result.", "smithy.api#jsonName": "nextToken" } } }, "traits": { - "smithy.api#documentation": "Placeholder documentation for ListChannelsResponse", + "smithy.api#documentation": "Placeholder documentation for ListChannelPlacementGroupsResponse", "smithy.api#output": {} } }, - "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroups": { + "com.amazonaws.medialive#ListChannels": { "type": "operation", "input": { - "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroupsRequest" + "target": "com.amazonaws.medialive#ListChannelsRequest" }, "output": { - "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroupsResponse" + "target": "com.amazonaws.medialive#ListChannelsResponse" }, "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, { "target": "com.amazonaws.medialive#BadRequestException" }, @@ -17742,31 +20875,31 @@ "target": "com.amazonaws.medialive#ForbiddenException" }, { - "target": "com.amazonaws.medialive#InternalServerErrorException" + "target": "com.amazonaws.medialive#GatewayTimeoutException" }, { - "target": "com.amazonaws.medialive#NotFoundException" + "target": "com.amazonaws.medialive#InternalServerErrorException" }, { "target": "com.amazonaws.medialive#TooManyRequestsException" } ], "traits": { - "smithy.api#documentation": "Lists cloudwatch alarm template groups.", + "smithy.api#documentation": "Produces list of channels that have been created", "smithy.api#http": { "method": "GET", - "uri": "/prod/cloudwatch-alarm-template-groups", + "uri": "/prod/channels", "code": 200 }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "CloudWatchAlarmTemplateGroups", + "items": "Channels", "pageSize": "MaxResults" } } }, - "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroupsRequest": { + "com.amazonaws.medialive#ListChannelsRequest": { "type": "structure", "members": { "MaxResults": { @@ -17778,59 +20911,43 @@ "NextToken": { "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "A token used to retrieve the next set of results in paginated list responses.", "smithy.api#httpQuery": "nextToken" } - }, - "Scope": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Represents the scope of a resource, with options for all scopes, AWS provided resources, or local resources.", - "smithy.api#httpQuery": "scope" - } - }, - "SignalMapIdentifier": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "A signal map's identifier. Can be either be its id or current name.", - "smithy.api#httpQuery": "signalMapIdentifier" - } } }, "traits": { - "smithy.api#documentation": "Placeholder documentation for ListCloudWatchAlarmTemplateGroupsRequest", + "smithy.api#documentation": "Placeholder documentation for ListChannelsRequest", "smithy.api#input": {} } }, - "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroupsResponse": { + "com.amazonaws.medialive#ListChannelsResponse": { "type": "structure", "members": { - "CloudWatchAlarmTemplateGroups": { - "target": "com.amazonaws.medialive#__listOfCloudWatchAlarmTemplateGroupSummary", + "Channels": { + "target": "com.amazonaws.medialive#__listOfChannelSummary", "traits": { - "smithy.api#jsonName": "cloudWatchAlarmTemplateGroups" + "smithy.api#jsonName": "channels" } }, "NextToken": { - "target": "com.amazonaws.medialive#__stringMin1Max2048", + "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "A token used to retrieve the next set of results in paginated list responses.", "smithy.api#jsonName": "nextToken" } } }, "traits": { - "smithy.api#documentation": "Placeholder documentation for ListCloudWatchAlarmTemplateGroupsResponse", + "smithy.api#documentation": "Placeholder documentation for ListChannelsResponse", "smithy.api#output": {} } }, - "com.amazonaws.medialive#ListCloudWatchAlarmTemplates": { + "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroups": { "type": "operation", "input": { - "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplatesRequest" + "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroupsRequest" }, "output": { - "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplatesResponse" + "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroupsResponse" }, "errors": [ { @@ -17850,30 +20967,128 @@ } ], "traits": { - "smithy.api#documentation": "Lists cloudwatch alarm templates.", + "smithy.api#documentation": "Lists cloudwatch alarm template groups.", "smithy.api#http": { "method": "GET", - "uri": "/prod/cloudwatch-alarm-templates", + "uri": "/prod/cloudwatch-alarm-template-groups", "code": 200 }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "CloudWatchAlarmTemplates", + "items": "CloudWatchAlarmTemplateGroups", "pageSize": "MaxResults" } } }, - "com.amazonaws.medialive#ListCloudWatchAlarmTemplatesRequest": { + "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroupsRequest": { "type": "structure", "members": { - "GroupIdentifier": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "A cloudwatch alarm template group's identifier. Can be either be its id or current name.", - "smithy.api#httpQuery": "groupIdentifier" - } - }, + "MaxResults": { + "target": "com.amazonaws.medialive#MaxResults", + "traits": { + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A token used to retrieve the next set of results in paginated list responses.", + "smithy.api#httpQuery": "nextToken" + } + }, + "Scope": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Represents the scope of a resource, with options for all scopes, AWS provided resources, or local resources.", + "smithy.api#httpQuery": "scope" + } + }, + "SignalMapIdentifier": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A signal map's identifier. Can be either be its id or current name.", + "smithy.api#httpQuery": "signalMapIdentifier" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListCloudWatchAlarmTemplateGroupsRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#ListCloudWatchAlarmTemplateGroupsResponse": { + "type": "structure", + "members": { + "CloudWatchAlarmTemplateGroups": { + "target": "com.amazonaws.medialive#__listOfCloudWatchAlarmTemplateGroupSummary", + "traits": { + "smithy.api#jsonName": "cloudWatchAlarmTemplateGroups" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__stringMin1Max2048", + "traits": { + "smithy.api#documentation": "A token used to retrieve the next set of results in paginated list responses.", + "smithy.api#jsonName": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListCloudWatchAlarmTemplateGroupsResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#ListCloudWatchAlarmTemplates": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplatesRequest" + }, + "output": { + "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplatesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Lists cloudwatch alarm templates.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/cloudwatch-alarm-templates", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "CloudWatchAlarmTemplates", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.medialive#ListCloudWatchAlarmTemplatesRequest": { + "type": "structure", + "members": { + "GroupIdentifier": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A cloudwatch alarm template group's identifier. Can be either be its id or current name.", + "smithy.api#httpQuery": "groupIdentifier" + } + }, "MaxResults": { "target": "com.amazonaws.medialive#MaxResults", "traits": { @@ -17929,6 +21144,95 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#ListClusters": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#ListClustersRequest" + }, + "output": { + "target": "com.amazonaws.medialive#ListClustersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Retrieve the list of Clusters.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/clusters", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Clusters", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.medialive#ListClustersRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.medialive#MaxResults", + "traits": { + "smithy.api#documentation": "The maximum number of items to return.", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The token to retrieve the next page of results.", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListClustersRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#ListClustersResponse": { + "type": "structure", + "members": { + "Clusters": { + "target": "com.amazonaws.medialive#__listOfDescribeClusterSummary", + "traits": { + "smithy.api#documentation": "A list of the Clusters that exist in your AWS account.", + "smithy.api#jsonName": "clusters" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Token for the next result.", + "smithy.api#jsonName": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListClustersResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#ListEventBridgeRuleTemplateGroups": { "type": "operation", "input": { @@ -18663,13 +21967,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.medialive#ListOfferings": { + "com.amazonaws.medialive#ListNetworks": { "type": "operation", "input": { - "target": "com.amazonaws.medialive#ListOfferingsRequest" + "target": "com.amazonaws.medialive#ListNetworksRequest" }, "output": { - "target": "com.amazonaws.medialive#ListOfferingsResponse" + "target": "com.amazonaws.medialive#ListNetworksResponse" }, "errors": [ { @@ -18692,141 +21996,327 @@ } ], "traits": { - "smithy.api#documentation": "List offerings available for purchase.", + "smithy.api#documentation": "Retrieve the list of Networks.", "smithy.api#http": { "method": "GET", - "uri": "/prod/offerings", + "uri": "/prod/networks", "code": 200 }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Offerings", + "items": "Networks", "pageSize": "MaxResults" } } }, - "com.amazonaws.medialive#ListOfferingsRequest": { + "com.amazonaws.medialive#ListNetworksRequest": { "type": "structure", "members": { - "ChannelClass": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE'", - "smithy.api#httpQuery": "channelClass" - } - }, - "ChannelConfiguration": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter to offerings that match the configuration of an existing channel, e.g. '2345678' (a channel ID)", - "smithy.api#httpQuery": "channelConfiguration" - } - }, - "Codec": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', or 'LINK'", - "smithy.api#httpQuery": "codec" - } - }, - "Duration": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter by offering duration, e.g. '12'", - "smithy.api#httpQuery": "duration" - } - }, "MaxResults": { "target": "com.amazonaws.medialive#MaxResults", "traits": { + "smithy.api#documentation": "The maximum number of items to return.", "smithy.api#httpQuery": "maxResults" } }, - "MaximumBitrate": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS'", - "smithy.api#httpQuery": "maximumBitrate" - } - }, - "MaximumFramerate": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS'", - "smithy.api#httpQuery": "maximumFramerate" - } - }, "NextToken": { "target": "com.amazonaws.medialive#__string", "traits": { + "smithy.api#documentation": "The token to retrieve the next page of results.", "smithy.api#httpQuery": "nextToken" } - }, - "Resolution": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter by resolution, 'SD', 'HD', 'FHD', or 'UHD'", - "smithy.api#httpQuery": "resolution" - } - }, - "ResourceType": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'", - "smithy.api#httpQuery": "resourceType" - } - }, - "SpecialFeature": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'", - "smithy.api#httpQuery": "specialFeature" - } - }, - "VideoQuality": { - "target": "com.amazonaws.medialive#__string", - "traits": { - "smithy.api#documentation": "Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM'", - "smithy.api#httpQuery": "videoQuality" - } } }, "traits": { - "smithy.api#documentation": "Placeholder documentation for ListOfferingsRequest", + "smithy.api#documentation": "Placeholder documentation for ListNetworksRequest", "smithy.api#input": {} } }, - "com.amazonaws.medialive#ListOfferingsResponse": { + "com.amazonaws.medialive#ListNetworksResponse": { "type": "structure", "members": { - "NextToken": { - "target": "com.amazonaws.medialive#__string", + "Networks": { + "target": "com.amazonaws.medialive#__listOfDescribeNetworkSummary", "traits": { - "smithy.api#documentation": "Token to retrieve the next page of results", - "smithy.api#jsonName": "nextToken" + "smithy.api#documentation": "An array of networks that you have created.", + "smithy.api#jsonName": "networks" } }, - "Offerings": { - "target": "com.amazonaws.medialive#__listOfOffering", + "NextToken": { + "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "List of offerings", - "smithy.api#jsonName": "offerings" + "smithy.api#documentation": "Token for the next ListNetworks request.", + "smithy.api#jsonName": "nextToken" } } }, "traits": { - "smithy.api#documentation": "Placeholder documentation for ListOfferingsResponse", + "smithy.api#documentation": "Placeholder documentation for ListNetworksResponse", "smithy.api#output": {} } }, - "com.amazonaws.medialive#ListReservations": { + "com.amazonaws.medialive#ListNodes": { "type": "operation", "input": { - "target": "com.amazonaws.medialive#ListReservationsRequest" + "target": "com.amazonaws.medialive#ListNodesRequest" }, "output": { - "target": "com.amazonaws.medialive#ListReservationsResponse" + "target": "com.amazonaws.medialive#ListNodesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Retrieve the list of Nodes.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/clusters/{ClusterId}/nodes", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Nodes", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.medialive#ListNodesRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.medialive#MaxResults", + "traits": { + "smithy.api#documentation": "The maximum number of items to return.", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The token to retrieve the next page of results.", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListNodesRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#ListNodesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Token for the next result.", + "smithy.api#jsonName": "nextToken" + } + }, + "Nodes": { + "target": "com.amazonaws.medialive#__listOfDescribeNodeSummary", + "traits": { + "smithy.api#documentation": "An array of Nodes that exist in the Cluster.", + "smithy.api#jsonName": "nodes" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListNodesResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#ListOfferings": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#ListOfferingsRequest" + }, + "output": { + "target": "com.amazonaws.medialive#ListOfferingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "List offerings available for purchase.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/offerings", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Offerings", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.medialive#ListOfferingsRequest": { + "type": "structure", + "members": { + "ChannelClass": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE'", + "smithy.api#httpQuery": "channelClass" + } + }, + "ChannelConfiguration": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter to offerings that match the configuration of an existing channel, e.g. '2345678' (a channel ID)", + "smithy.api#httpQuery": "channelConfiguration" + } + }, + "Codec": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', 'LINK', or 'AV1'", + "smithy.api#httpQuery": "codec" + } + }, + "Duration": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter by offering duration, e.g. '12'", + "smithy.api#httpQuery": "duration" + } + }, + "MaxResults": { + "target": "com.amazonaws.medialive#MaxResults", + "traits": { + "smithy.api#httpQuery": "maxResults" + } + }, + "MaximumBitrate": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS'", + "smithy.api#httpQuery": "maximumBitrate" + } + }, + "MaximumFramerate": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS'", + "smithy.api#httpQuery": "maximumFramerate" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#httpQuery": "nextToken" + } + }, + "Resolution": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter by resolution, 'SD', 'HD', 'FHD', or 'UHD'", + "smithy.api#httpQuery": "resolution" + } + }, + "ResourceType": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'", + "smithy.api#httpQuery": "resourceType" + } + }, + "SpecialFeature": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'", + "smithy.api#httpQuery": "specialFeature" + } + }, + "VideoQuality": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM'", + "smithy.api#httpQuery": "videoQuality" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListOfferingsRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#ListOfferingsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Token to retrieve the next page of results", + "smithy.api#jsonName": "nextToken" + } + }, + "Offerings": { + "target": "com.amazonaws.medialive#__listOfOffering", + "traits": { + "smithy.api#documentation": "List of offerings", + "smithy.api#jsonName": "offerings" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListOfferingsResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#ListReservations": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#ListReservationsRequest" + }, + "output": { + "target": "com.amazonaws.medialive#ListReservationsResponse" }, "errors": [ { @@ -18876,7 +22366,7 @@ "Codec": { "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', or 'LINK'", + "smithy.api#documentation": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', 'AUDIO', 'LINK', or 'AV1'", "smithy.api#httpQuery": "codec" } }, @@ -20355,12 +23845,18 @@ { "target": "com.amazonaws.medialive#CreateChannel" }, + { + "target": "com.amazonaws.medialive#CreateChannelPlacementGroup" + }, { "target": "com.amazonaws.medialive#CreateCloudWatchAlarmTemplate" }, { "target": "com.amazonaws.medialive#CreateCloudWatchAlarmTemplateGroup" }, + { + "target": "com.amazonaws.medialive#CreateCluster" + }, { "target": "com.amazonaws.medialive#CreateEventBridgeRuleTemplate" }, @@ -20379,6 +23875,15 @@ { "target": "com.amazonaws.medialive#CreateMultiplexProgram" }, + { + "target": "com.amazonaws.medialive#CreateNetwork" + }, + { + "target": "com.amazonaws.medialive#CreateNode" + }, + { + "target": "com.amazonaws.medialive#CreateNodeRegistrationScript" + }, { "target": "com.amazonaws.medialive#CreatePartnerInput" }, @@ -20391,12 +23896,18 @@ { "target": "com.amazonaws.medialive#DeleteChannel" }, + { + "target": "com.amazonaws.medialive#DeleteChannelPlacementGroup" + }, { "target": "com.amazonaws.medialive#DeleteCloudWatchAlarmTemplate" }, { "target": "com.amazonaws.medialive#DeleteCloudWatchAlarmTemplateGroup" }, + { + "target": "com.amazonaws.medialive#DeleteCluster" + }, { "target": "com.amazonaws.medialive#DeleteEventBridgeRuleTemplate" }, @@ -20415,6 +23926,12 @@ { "target": "com.amazonaws.medialive#DeleteMultiplexProgram" }, + { + "target": "com.amazonaws.medialive#DeleteNetwork" + }, + { + "target": "com.amazonaws.medialive#DeleteNode" + }, { "target": "com.amazonaws.medialive#DeleteReservation" }, @@ -20433,6 +23950,12 @@ { "target": "com.amazonaws.medialive#DescribeChannel" }, + { + "target": "com.amazonaws.medialive#DescribeChannelPlacementGroup" + }, + { + "target": "com.amazonaws.medialive#DescribeCluster" + }, { "target": "com.amazonaws.medialive#DescribeInput" }, @@ -20451,6 +23974,12 @@ { "target": "com.amazonaws.medialive#DescribeMultiplexProgram" }, + { + "target": "com.amazonaws.medialive#DescribeNetwork" + }, + { + "target": "com.amazonaws.medialive#DescribeNode" + }, { "target": "com.amazonaws.medialive#DescribeOffering" }, @@ -20478,6 +24007,9 @@ { "target": "com.amazonaws.medialive#GetSignalMap" }, + { + "target": "com.amazonaws.medialive#ListChannelPlacementGroups" + }, { "target": "com.amazonaws.medialive#ListChannels" }, @@ -20487,6 +24019,9 @@ { "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplates" }, + { + "target": "com.amazonaws.medialive#ListClusters" + }, { "target": "com.amazonaws.medialive#ListEventBridgeRuleTemplateGroups" }, @@ -20511,6 +24046,12 @@ { "target": "com.amazonaws.medialive#ListMultiplexPrograms" }, + { + "target": "com.amazonaws.medialive#ListNetworks" + }, + { + "target": "com.amazonaws.medialive#ListNodes" + }, { "target": "com.amazonaws.medialive#ListOfferings" }, @@ -20577,12 +24118,18 @@ { "target": "com.amazonaws.medialive#UpdateChannelClass" }, + { + "target": "com.amazonaws.medialive#UpdateChannelPlacementGroup" + }, { "target": "com.amazonaws.medialive#UpdateCloudWatchAlarmTemplate" }, { "target": "com.amazonaws.medialive#UpdateCloudWatchAlarmTemplateGroup" }, + { + "target": "com.amazonaws.medialive#UpdateCluster" + }, { "target": "com.amazonaws.medialive#UpdateEventBridgeRuleTemplate" }, @@ -20604,6 +24151,15 @@ { "target": "com.amazonaws.medialive#UpdateMultiplexProgram" }, + { + "target": "com.amazonaws.medialive#UpdateNetwork" + }, + { + "target": "com.amazonaws.medialive#UpdateNode" + }, + { + "target": "com.amazonaws.medialive#UpdateNodeState" + }, { "target": "com.amazonaws.medialive#UpdateReservation" } @@ -22237,6 +25793,135 @@ "smithy.api#documentation": "Ms Smooth Output Settings" } }, + "com.amazonaws.medialive#MulticastInputSettings": { + "type": "structure", + "members": { + "SourceIpAddress": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Optionally, a source ip address to filter by for Source-specific Multicast (SSM)", + "smithy.api#jsonName": "sourceIpAddress" + } + } + }, + "traits": { + "smithy.api#documentation": "Multicast-specific input settings." + } + }, + "com.amazonaws.medialive#MulticastSettings": { + "type": "structure", + "members": { + "Sources": { + "target": "com.amazonaws.medialive#__listOfMulticastSource", + "traits": { + "smithy.api#jsonName": "sources" + } + } + }, + "traits": { + "smithy.api#documentation": "Settings for a Multicast input. Contains a list of multicast Urls and optional source ip addresses." + } + }, + "com.amazonaws.medialive#MulticastSettingsCreateRequest": { + "type": "structure", + "members": { + "Sources": { + "target": "com.amazonaws.medialive#__listOfMulticastSourceCreateRequest", + "traits": { + "smithy.api#jsonName": "sources" + } + } + }, + "traits": { + "smithy.api#documentation": "Settings for a Multicast input. Contains a list of multicast Urls and optional source ip addresses." + } + }, + "com.amazonaws.medialive#MulticastSettingsUpdateRequest": { + "type": "structure", + "members": { + "Sources": { + "target": "com.amazonaws.medialive#__listOfMulticastSourceUpdateRequest", + "traits": { + "smithy.api#jsonName": "sources" + } + } + }, + "traits": { + "smithy.api#documentation": "Settings for a Multicast input. Contains a list of multicast Urls and optional source ip addresses." + } + }, + "com.amazonaws.medialive#MulticastSource": { + "type": "structure", + "members": { + "SourceIp": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "This represents the ip address of the device sending the multicast stream.", + "smithy.api#jsonName": "sourceIp" + } + }, + "Url": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "This represents the customer's source URL where multicast stream is pulled from.", + "smithy.api#jsonName": "url", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Pair of multicast url and source ip address (optional) that make up a multicast source." + } + }, + "com.amazonaws.medialive#MulticastSourceCreateRequest": { + "type": "structure", + "members": { + "SourceIp": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "This represents the ip address of the device sending the multicast stream.", + "smithy.api#jsonName": "sourceIp" + } + }, + "Url": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "This represents the customer's source URL where multicast stream is pulled from.", + "smithy.api#jsonName": "url", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Pair of multicast url and source ip address (optional) that make up a multicast source." + } + }, + "com.amazonaws.medialive#MulticastSourceUpdateRequest": { + "type": "structure", + "members": { + "SourceIp": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "This represents the ip address of the device sending the multicast stream.", + "smithy.api#jsonName": "sourceIp" + } + }, + "Url": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "This represents the customer's source URL where multicast stream is pulled from.", + "smithy.api#jsonName": "url", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Pair of multicast url and source ip address (optional) that make up a multicast source." + } + }, "com.amazonaws.medialive#Multiplex": { "type": "structure", "members": { @@ -22801,7 +26486,7 @@ "Priority": { "target": "com.amazonaws.medialive#__integerMinNegative5Max5", "traits": { - "smithy.api#documentation": "The purpose of the priority is to use a combination of the\\nmultiplex rate control algorithm and the QVBR capability of the\\nencoder to prioritize the video quality of some channels in a\\nmultiplex over others. Channels that have a higher priority will\\nget higher video quality at the expense of the video quality of\\nother channels in the multiplex with lower priority.", + "smithy.api#documentation": "The purpose of the priority is to use a combination of the\\nmultiplex rate control algorithm and the QVBR capability of the\\nencoder to prioritize the video quality of some channels in a\\nmultiplex over others. Channels that have a higher priority will\\nget higher video quality at the expense of the video quality of\\nother channels in the multiplex with lower priority.", "smithy.api#jsonName": "priority" } } @@ -22939,12 +26624,101 @@ "smithy.api#documentation": "Check HTTPS server certificates. When set to checkCryptographyOnly, cryptography in the certificate will be checked, but not the server's name. Certain subdomains (notably S3 buckets that use dots in the bucket name) do not strictly match the corresponding certificate's wildcard pattern and would otherwise cause the event to error. This setting is ignored for protocols that do not use https.", "smithy.api#jsonName": "serverValidation" } + }, + "MulticastInputSettings": { + "target": "com.amazonaws.medialive#MulticastInputSettings", + "traits": { + "smithy.api#documentation": "Specifies multicast input settings when the uri is for a multicast event.", + "smithy.api#jsonName": "multicastInputSettings" + } } }, "traits": { "smithy.api#documentation": "Network source to transcode. Must be accessible to the Elemental Live node that is running the live event through a network connection." } }, + "com.amazonaws.medialive#NetworkInterfaceMode": { + "type": "enum", + "members": { + "NAT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NAT" + } + }, + "BRIDGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BRIDGE" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in NodeInterfaceMapping and NodeInterfaceMappingCreateRequest" + } + }, + "com.amazonaws.medialive#NetworkState": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "CREATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATE_FAILED" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "IDLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IDLE" + } + }, + "IN_USE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_USE" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + }, + "DELETE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_FAILED" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in DescribeNetworkResult, DescribeNetworkSummary, UpdateNetworkResult." + } + }, "com.amazonaws.medialive#NielsenCBET": { "type": "structure", "members": { @@ -23192,6 +26966,183 @@ "smithy.api#documentation": "Nielsen Watermarks Settings" } }, + "com.amazonaws.medialive#NodeConnectionState": { + "type": "enum", + "members": { + "CONNECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONNECTED" + } + }, + "DISCONNECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISCONNECTED" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in DescribeNodeSummary." + } + }, + "com.amazonaws.medialive#NodeInterfaceMapping": { + "type": "structure", + "members": { + "LogicalInterfaceName": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A uniform logical interface name to address in a MediaLive channel configuration.", + "smithy.api#jsonName": "logicalInterfaceName" + } + }, + "NetworkInterfaceMode": { + "target": "com.amazonaws.medialive#NetworkInterfaceMode", + "traits": { + "smithy.api#jsonName": "networkInterfaceMode" + } + }, + "PhysicalInterfaceName": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name of the physical interface on the hardware that will be running Elemental anywhere.", + "smithy.api#jsonName": "physicalInterfaceName" + } + } + }, + "traits": { + "smithy.api#documentation": "A mapping that's used to pair a logical network interface name on a Node with the physical interface name exposed in the operating system." + } + }, + "com.amazonaws.medialive#NodeInterfaceMappingCreateRequest": { + "type": "structure", + "members": { + "LogicalInterfaceName": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specify one of the logicalInterfaceNames that you created in the Cluster that this node belongs to. For example, my-Inputs-Interface.", + "smithy.api#jsonName": "logicalInterfaceName" + } + }, + "NetworkInterfaceMode": { + "target": "com.amazonaws.medialive#NetworkInterfaceMode", + "traits": { + "smithy.api#documentation": "The style of the network -- NAT or BRIDGE.", + "smithy.api#jsonName": "networkInterfaceMode" + } + }, + "PhysicalInterfaceName": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specify the physical name that corresponds to the logicalInterfaceName that you specified in this interface mapping. For example, Eth1 or ENO1234EXAMPLE.", + "smithy.api#jsonName": "physicalInterfaceName" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in CreateNodeRequest." + } + }, + "com.amazonaws.medialive#NodeRole": { + "type": "enum", + "members": { + "BACKUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BACKUP" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in CreateNodeRequest, CreateNodeRegistrationScriptRequest, DescribeNodeResult, DescribeNodeSummary, UpdateNodeRequest." + } + }, + "com.amazonaws.medialive#NodeState": { + "type": "enum", + "members": { + "CREATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATED" + } + }, + "REGISTERING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REGISTERING" + } + }, + "READY_TO_ACTIVATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READY_TO_ACTIVATE" + } + }, + "REGISTRATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REGISTRATION_FAILED" + } + }, + "ACTIVATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVATION_FAILED" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "READY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READY" + } + }, + "IN_USE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_USE" + } + }, + "DEREGISTERING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEREGISTERING" + } + }, + "DRAINING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DRAINING" + } + }, + "DEREGISTRATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEREGISTRATION_FAILED" + } + }, + "DEREGISTERED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEREGISTERED" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in DescribeNodeSummary." + } + }, "com.amazonaws.medialive#NotFoundException": { "type": "structure", "members": { @@ -23396,6 +27347,13 @@ "smithy.api#documentation": "Destination settings for a standard output; one destination for each redundant encoder.", "smithy.api#jsonName": "settings" } + }, + "SrtSettings": { + "target": "com.amazonaws.medialive#__listOfSrtOutputDestinationSettings", + "traits": { + "smithy.api#documentation": "SRT settings for an SRT output; one destination for each redundant encoder.", + "smithy.api#jsonName": "srtSettings" + } } }, "traits": { @@ -23526,6 +27484,12 @@ "traits": { "smithy.api#jsonName": "cmafIngestGroupSettings" } + }, + "SrtGroupSettings": { + "target": "com.amazonaws.medialive#SrtGroupSettings", + "traits": { + "smithy.api#jsonName": "srtGroupSettings" + } } }, "traits": { @@ -23622,6 +27586,12 @@ "traits": { "smithy.api#jsonName": "cmafIngestOutputSettings" } + }, + "SrtOutputSettings": { + "target": "com.amazonaws.medialive#SrtOutputSettings", + "traits": { + "smithy.api#jsonName": "srtOutputSettings" + } } }, "traits": { @@ -24321,10 +28291,16 @@ "traits": { "smithy.api#enumValue": "LINK" } + }, + "AV1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AV1" + } } }, "traits": { - "smithy.api#documentation": "Codec, 'MPEG2', 'AVC', 'HEVC', or 'AUDIO'" + "smithy.api#documentation": "Codec, 'MPEG2', 'AVC', 'HEVC', 'AUDIO', 'LINK', or 'AV1'" } }, "com.amazonaws.medialive#ReservationMaximumBitrate": { @@ -24791,6 +28767,13 @@ "smithy.api#documentation": "Settings for VPC output", "smithy.api#jsonName": "vpc" } + }, + "AnywhereSettings": { + "target": "com.amazonaws.medialive#DescribeAnywhereSettings", + "traits": { + "smithy.api#documentation": "Anywhere settings for this channel.", + "smithy.api#jsonName": "anywhereSettings" + } } }, "traits": { @@ -24798,6 +28781,72 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#Route": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A CIDR block for one Route.", + "smithy.api#jsonName": "cidr" + } + }, + "Gateway": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The IP address of the Gateway for this route, if applicable.", + "smithy.api#jsonName": "gateway" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in DescribeNetworkResult, DescribeNetworkSummary, UpdateNetworkResult." + } + }, + "com.amazonaws.medialive#RouteCreateRequest": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A CIDR block for one Route.", + "smithy.api#jsonName": "cidr" + } + }, + "Gateway": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The IP address of the Gateway for this route, if applicable.", + "smithy.api#jsonName": "gateway" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in CreateNetworkRequest." + } + }, + "com.amazonaws.medialive#RouteUpdateRequest": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A CIDR block for one Route.", + "smithy.api#jsonName": "cidr" + } + }, + "Gateway": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The IP address of the Gateway for this route, if applicable.", + "smithy.api#jsonName": "gateway" + } + } + }, + "traits": { + "smithy.api#documentation": "Used in UpdateNetworkRequest." + } + }, "com.amazonaws.medialive#RtmpAdMarkers": { "type": "enum", "members": { @@ -26412,6 +30461,121 @@ "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#SrtEncryptionType": { + "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": "Srt Encryption Type" + } + }, + "com.amazonaws.medialive#SrtGroupSettings": { + "type": "structure", + "members": { + "InputLossAction": { + "target": "com.amazonaws.medialive#InputLossActionForUdpOut", + "traits": { + "smithy.api#documentation": "Specifies behavior of last resort when input video is lost, and no more backup inputs are available. When dropTs is selected the entire transport stream will stop being emitted. When dropProgram is selected the program can be dropped from the transport stream (and replaced with null packets to meet the TS bitrate requirement). Or, when emitProgram is chosen the transport stream will continue to be produced normally with repeat frames, black frames, or slate frames substituted for the absent input video.", + "smithy.api#jsonName": "inputLossAction" + } + } + }, + "traits": { + "smithy.api#documentation": "Srt Group Settings" + } + }, + "com.amazonaws.medialive#SrtOutputDestinationSettings": { + "type": "structure", + "members": { + "EncryptionPassphraseSecretArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Arn used to extract the password from Secrets Manager", + "smithy.api#jsonName": "encryptionPassphraseSecretArn" + } + }, + "StreamId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Stream id for SRT destinations (URLs of type srt://)", + "smithy.api#jsonName": "streamId" + } + }, + "Url": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "A URL specifying a destination", + "smithy.api#jsonName": "url" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for SrtOutputDestinationSettings" + } + }, + "com.amazonaws.medialive#SrtOutputSettings": { + "type": "structure", + "members": { + "BufferMsec": { + "target": "com.amazonaws.medialive#__integerMin0Max10000", + "traits": { + "smithy.api#documentation": "SRT output buffering in milliseconds. A higher value increases latency through the encoder. But the benefits are that it helps to maintain a constant, low-jitter SRT output, and it accommodates clock recovery, input switching, input disruptions, picture reordering, and so on. Range: 0-10000 milliseconds.", + "smithy.api#jsonName": "bufferMsec" + } + }, + "ContainerSettings": { + "target": "com.amazonaws.medialive#UdpContainerSettings", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#jsonName": "containerSettings", + "smithy.api#required": {} + } + }, + "Destination": { + "target": "com.amazonaws.medialive#OutputLocationRef", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#jsonName": "destination", + "smithy.api#required": {} + } + }, + "EncryptionType": { + "target": "com.amazonaws.medialive#SrtEncryptionType", + "traits": { + "smithy.api#documentation": "The encryption level for the content. Valid values are AES128, AES192, AES256. You and the downstream system should plan how to set this field because the values must not conflict with each other.", + "smithy.api#jsonName": "encryptionType" + } + }, + "Latency": { + "target": "com.amazonaws.medialive#__integerMin40Max16000", + "traits": { + "smithy.api#documentation": "The latency value, in milliseconds, that is proposed during the SRT connection handshake. SRT will choose the maximum of the values proposed by the sender and receiver. On the sender side, latency is the amount of time a packet is held to give it a chance to be delivered successfully. On the receiver side, latency is the amount of time the packet is held before delivering to the application, aiding in packet recovery and matching as closely as possible the packet timing of the sender. Range: 40-16000 milliseconds.", + "smithy.api#jsonName": "latency" + } + } + }, + "traits": { + "smithy.api#documentation": "Srt Output Settings" + } + }, "com.amazonaws.medialive#SrtSettings": { "type": "structure", "members": { @@ -26649,6 +30813,13 @@ "smithy.api#documentation": "Settings for VPC output", "smithy.api#jsonName": "vpc" } + }, + "AnywhereSettings": { + "target": "com.amazonaws.medialive#DescribeAnywhereSettings", + "traits": { + "smithy.api#documentation": "Anywhere settings for this channel.", + "smithy.api#jsonName": "anywhereSettings" + } } }, "traits": { @@ -27958,6 +32129,13 @@ "smithy.api#documentation": "Settings for VPC output", "smithy.api#jsonName": "vpc" } + }, + "AnywhereSettings": { + "target": "com.amazonaws.medialive#DescribeAnywhereSettings", + "traits": { + "smithy.api#documentation": "Anywhere settings for this channel.", + "smithy.api#jsonName": "anywhereSettings" + } } }, "traits": { @@ -29237,6 +33415,146 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#UpdateChannelPlacementGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#UpdateChannelPlacementGroupRequest" + }, + "output": { + "target": "com.amazonaws.medialive#UpdateChannelPlacementGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + }, + { + "target": "com.amazonaws.medialive#UnprocessableEntityException" + } + ], + "traits": { + "smithy.api#documentation": "Change the settings for a ChannelPlacementGroup.", + "smithy.api#http": { + "method": "PUT", + "uri": "/prod/clusters/{ClusterId}/channelplacementgroups/{ChannelPlacementGroupId}", + "code": 200 + } + } + }, + "com.amazonaws.medialive#UpdateChannelPlacementGroupRequest": { + "type": "structure", + "members": { + "ChannelPlacementGroupId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the channel placement group.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Include this parameter only if you want to change the current name of the ChannelPlacementGroup. Specify a name that is unique in the Cluster. You can't change the name. Names are case-sensitive.", + "smithy.api#jsonName": "name" + } + }, + "Nodes": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "Include this parameter only if you want to change the list of Nodes that are associated with the ChannelPlacementGroup.", + "smithy.api#jsonName": "nodes" + } + } + }, + "traits": { + "smithy.api#documentation": "A request to update the channel placement group", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#UpdateChannelPlacementGroupResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this ChannelPlacementGroup. It is automatically assigned when the ChannelPlacementGroup is created.", + "smithy.api#jsonName": "arn" + } + }, + "Channels": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "Used in ListChannelPlacementGroupsResult", + "smithy.api#jsonName": "channels" + } + }, + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the ChannelPlacementGroup. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the ChannelPlacementGroup.", + "smithy.api#jsonName": "name" + } + }, + "Nodes": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array with one item, which is the signle Node that is associated with the ChannelPlacementGroup.", + "smithy.api#jsonName": "nodes" + } + }, + "State": { + "target": "com.amazonaws.medialive#ChannelPlacementGroupState", + "traits": { + "smithy.api#documentation": "The current state of the ChannelPlacementGroup.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for UpdateChannelPlacementGroupResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#UpdateChannelRequest": { "type": "structure", "members": { @@ -29702,6 +34020,135 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#UpdateCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#UpdateClusterRequest" + }, + "output": { + "target": "com.amazonaws.medialive#UpdateClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Change the settings for a Cluster.", + "smithy.api#http": { + "method": "PUT", + "uri": "/prod/clusters/{ClusterId}", + "code": 200 + } + } + }, + "com.amazonaws.medialive#UpdateClusterRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the cluster", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Include this parameter only if you want to change the current name of the Cluster. Specify a name that is unique in the AWS account. You can't change the name. Names are case-sensitive.", + "smithy.api#jsonName": "name" + } + }, + "NetworkSettings": { + "target": "com.amazonaws.medialive#ClusterNetworkSettingsUpdateRequest", + "traits": { + "smithy.api#documentation": "Include this property only if you want to change the current connections between the Nodes in the Cluster and the Networks the Cluster is associated with.", + "smithy.api#jsonName": "networkSettings" + } + } + }, + "traits": { + "smithy.api#documentation": "A request to update the cluster.", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#UpdateClusterResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the Cluster.", + "smithy.api#jsonName": "arn" + } + }, + "ChannelIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array of the IDs of the Channels that are associated with this Cluster. One Channel is associated with the Cluster as follows: A Channel belongs to a ChannelPlacementGroup. A ChannelPlacementGroup is attached to a Node. A Node belongs to a Cluster.", + "smithy.api#jsonName": "channelIds" + } + }, + "ClusterType": { + "target": "com.amazonaws.medialive#ClusterType", + "traits": { + "smithy.api#documentation": "The hardware type for the Cluster", + "smithy.api#jsonName": "clusterType" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the Cluster.", + "smithy.api#jsonName": "id" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The user-specified name of the Cluster.", + "smithy.api#jsonName": "name" + } + }, + "NetworkSettings": { + "target": "com.amazonaws.medialive#ClusterNetworkSettings", + "traits": { + "smithy.api#documentation": "Network settings that connect the Nodes in the Cluster to one or more of the Networks that the Cluster is associated with.", + "smithy.api#jsonName": "networkSettings" + } + }, + "State": { + "target": "com.amazonaws.medialive#ClusterState", + "traits": { + "smithy.api#documentation": "The current state of the Cluster.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for UpdateClusterResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#UpdateEventBridgeRuleTemplate": { "type": "operation", "input": { @@ -30294,6 +34741,13 @@ "smithy.api#documentation": "The settings associated with an SRT input.", "smithy.api#jsonName": "srtSettings" } + }, + "MulticastSettings": { + "target": "com.amazonaws.medialive#MulticastSettingsUpdateRequest", + "traits": { + "smithy.api#documentation": "Multicast Input settings.", + "smithy.api#jsonName": "multicastSettings" + } } }, "traits": { @@ -30344,114 +34798,551 @@ "target": "com.amazonaws.medialive#InternalServerErrorException" }, { - "target": "com.amazonaws.medialive#NotFoundException" + "target": "com.amazonaws.medialive#NotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "Update an Input Security Group's Whilelists.", + "smithy.api#http": { + "method": "PUT", + "uri": "/prod/inputSecurityGroups/{InputSecurityGroupId}", + "code": 200 + } + } + }, + "com.amazonaws.medialive#UpdateInputSecurityGroupRequest": { + "type": "structure", + "members": { + "InputSecurityGroupId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The id of the Input Security Group to update.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.medialive#Tags", + "traits": { + "smithy.api#documentation": "A collection of key-value pairs.", + "smithy.api#jsonName": "tags" + } + }, + "WhitelistRules": { + "target": "com.amazonaws.medialive#__listOfInputWhitelistRuleCidr", + "traits": { + "smithy.api#documentation": "List of IPv4 CIDR addresses to whitelist", + "smithy.api#jsonName": "whitelistRules" + } + } + }, + "traits": { + "smithy.api#documentation": "The request to update some combination of the Input Security Group name and the IPv4 CIDRs the Input Security Group should allow.", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#UpdateInputSecurityGroupResponse": { + "type": "structure", + "members": { + "SecurityGroup": { + "target": "com.amazonaws.medialive#InputSecurityGroup", + "traits": { + "smithy.api#jsonName": "securityGroup" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for UpdateInputSecurityGroupResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#UpdateMultiplex": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#UpdateMultiplexRequest" + }, + "output": { + "target": "com.amazonaws.medialive#UpdateMultiplexResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#UnprocessableEntityException" + } + ], + "traits": { + "smithy.api#documentation": "Updates a multiplex.", + "smithy.api#http": { + "method": "PUT", + "uri": "/prod/multiplexes/{MultiplexId}", + "code": 200 + } + } + }, + "com.amazonaws.medialive#UpdateMultiplexProgram": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#UpdateMultiplexProgramRequest" + }, + "output": { + "target": "com.amazonaws.medialive#UpdateMultiplexProgramResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#UnprocessableEntityException" + } + ], + "traits": { + "smithy.api#documentation": "Update a program in a multiplex.", + "smithy.api#http": { + "method": "PUT", + "uri": "/prod/multiplexes/{MultiplexId}/programs/{ProgramName}", + "code": 200 + } + } + }, + "com.amazonaws.medialive#UpdateMultiplexProgramRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the multiplex of the program to update.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MultiplexProgramSettings": { + "target": "com.amazonaws.medialive#MultiplexProgramSettings", + "traits": { + "smithy.api#documentation": "The new settings for a multiplex program.", + "smithy.api#jsonName": "multiplexProgramSettings" + } + }, + "ProgramName": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name of the program to update.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "A request to update a program in a multiplex.", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#UpdateMultiplexProgramResponse": { + "type": "structure", + "members": { + "MultiplexProgram": { + "target": "com.amazonaws.medialive#MultiplexProgram", + "traits": { + "smithy.api#documentation": "The updated multiplex program.", + "smithy.api#jsonName": "multiplexProgram" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for UpdateMultiplexProgramResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#UpdateMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "ID of the multiplex to update.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MultiplexSettings": { + "target": "com.amazonaws.medialive#MultiplexSettings", + "traits": { + "smithy.api#documentation": "The new settings for a multiplex.", + "smithy.api#jsonName": "multiplexSettings" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Name of the multiplex.", + "smithy.api#jsonName": "name" + } + }, + "PacketIdentifiersMapping": { + "target": "com.amazonaws.medialive#MultiplexPacketIdentifiersMapping", + "traits": { + "smithy.api#jsonName": "packetIdentifiersMapping" + } + } + }, + "traits": { + "smithy.api#documentation": "A request to update a multiplex.", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#UpdateMultiplexResponse": { + "type": "structure", + "members": { + "Multiplex": { + "target": "com.amazonaws.medialive#Multiplex", + "traits": { + "smithy.api#documentation": "The updated multiplex.", + "smithy.api#jsonName": "multiplex" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for UpdateMultiplexResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#UpdateNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#UpdateNetworkRequest" + }, + "output": { + "target": "com.amazonaws.medialive#UpdateNetworkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Change the settings for a Network.", + "smithy.api#http": { + "method": "PUT", + "uri": "/prod/networks/{NetworkId}", + "code": 200 + } + } + }, + "com.amazonaws.medialive#UpdateNetworkRequest": { + "type": "structure", + "members": { + "IpPools": { + "target": "com.amazonaws.medialive#__listOfIpPoolUpdateRequest", + "traits": { + "smithy.api#documentation": "Include this parameter only if you want to change the pool of IP addresses in the network. An array of IpPoolCreateRequests that identify a collection of IP addresses in this network that you want to reserve for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPoolUpdateRequest specifies one CIDR block.", + "smithy.api#jsonName": "ipPools" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Include this parameter only if you want to change the name of the Network. Specify a name that is unique in the AWS account. Names are case-sensitive.", + "smithy.api#jsonName": "name" + } + }, + "NetworkId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the network", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Routes": { + "target": "com.amazonaws.medialive#__listOfRouteUpdateRequest", + "traits": { + "smithy.api#documentation": "Include this parameter only if you want to change or add routes in the Network. An array of Routes that MediaLive Anywhere needs to know about in order to route encoding traffic.", + "smithy.api#jsonName": "routes" + } + } + }, + "traits": { + "smithy.api#documentation": "A request to update the network.", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#UpdateNetworkResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of this Network. It is automatically assigned when the Network is created.", + "smithy.api#jsonName": "arn" + } + }, + "AssociatedClusterIds": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#jsonName": "associatedClusterIds" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Network. Unique in the AWS account. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "IpPools": { + "target": "com.amazonaws.medialive#__listOfIpPool", + "traits": { + "smithy.api#documentation": "An array of IpPools in your organization's network that identify a collection of IP addresses in this network that are reserved for use in MediaLive Anywhere. MediaLive Anywhere uses these IP addresses for Push inputs (in both Bridge and NAT networks) and for output destinations (only in Bridge networks). Each IpPool specifies one CIDR block.", + "smithy.api#jsonName": "ipPools" + } + }, + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Network.", + "smithy.api#jsonName": "name" + } + }, + "Routes": { + "target": "com.amazonaws.medialive#__listOfRoute", + "traits": { + "smithy.api#documentation": "An array of Routes that MediaLive Anywhere needs to know about in order to route encoding traffic.", + "smithy.api#jsonName": "routes" + } + }, + "State": { + "target": "com.amazonaws.medialive#NetworkState", + "traits": { + "smithy.api#documentation": "The current state of the Network. Only MediaLive Anywhere can change the state.", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for UpdateNetworkResponse", + "smithy.api#output": {} + } + }, + "com.amazonaws.medialive#UpdateNode": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#UpdateNodeRequest" + }, + "output": { + "target": "com.amazonaws.medialive#UpdateNodeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ConflictException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" } ], "traits": { - "smithy.api#documentation": "Update an Input Security Group's Whilelists.", + "smithy.api#documentation": "Change the settings for a Node.", "smithy.api#http": { "method": "PUT", - "uri": "/prod/inputSecurityGroups/{InputSecurityGroupId}", - "code": 200 + "uri": "/prod/clusters/{ClusterId}/nodes/{NodeId}", + "code": 201 } } }, - "com.amazonaws.medialive#UpdateInputSecurityGroupRequest": { + "com.amazonaws.medialive#UpdateNodeRequest": { "type": "structure", "members": { - "InputSecurityGroupId": { + "ClusterId": { "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "The id of the Input Security Group to update.", + "smithy.api#documentation": "The ID of the cluster", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.medialive#Tags", + "Name": { + "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "A collection of key-value pairs.", - "smithy.api#jsonName": "tags" + "smithy.api#documentation": "Include this parameter only if you want to change the current name of the Node. Specify a name that is unique in the Cluster. You can't change the name. Names are case-sensitive.", + "smithy.api#jsonName": "name" } }, - "WhitelistRules": { - "target": "com.amazonaws.medialive#__listOfInputWhitelistRuleCidr", + "NodeId": { + "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "List of IPv4 CIDR addresses to whitelist", - "smithy.api#jsonName": "whitelistRules" + "smithy.api#documentation": "The ID of the node.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Role": { + "target": "com.amazonaws.medialive#NodeRole", + "traits": { + "smithy.api#documentation": "The initial role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.", + "smithy.api#jsonName": "role" } } }, "traits": { - "smithy.api#documentation": "The request to update some combination of the Input Security Group name and the IPv4 CIDRs the Input Security Group should allow.", + "smithy.api#documentation": "A request to update the node.", "smithy.api#input": {} } }, - "com.amazonaws.medialive#UpdateInputSecurityGroupResponse": { + "com.amazonaws.medialive#UpdateNodeResponse": { "type": "structure", "members": { - "SecurityGroup": { - "target": "com.amazonaws.medialive#InputSecurityGroup", + "Arn": { + "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#jsonName": "securityGroup" + "smithy.api#documentation": "The ARN of the Node. It is automatically assigned when the Node is created.", + "smithy.api#jsonName": "arn" } - } - }, - "traits": { - "smithy.api#documentation": "Placeholder documentation for UpdateInputSecurityGroupResponse", - "smithy.api#output": {} - } - }, - "com.amazonaws.medialive#UpdateMultiplex": { - "type": "operation", - "input": { - "target": "com.amazonaws.medialive#UpdateMultiplexRequest" - }, - "output": { - "target": "com.amazonaws.medialive#UpdateMultiplexResponse" - }, - "errors": [ - { - "target": "com.amazonaws.medialive#BadGatewayException" }, - { - "target": "com.amazonaws.medialive#BadRequestException" + "ChannelPlacementGroups": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups.", + "smithy.api#jsonName": "channelPlacementGroups" + } }, - { - "target": "com.amazonaws.medialive#ConflictException" + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" + } }, - { - "target": "com.amazonaws.medialive#ForbiddenException" + "ConnectionState": { + "target": "com.amazonaws.medialive#NodeConnectionState", + "traits": { + "smithy.api#documentation": "The current connection state of the Node.", + "smithy.api#jsonName": "connectionState" + } }, - { - "target": "com.amazonaws.medialive#GatewayTimeoutException" + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } }, - { - "target": "com.amazonaws.medialive#InternalServerErrorException" + "InstanceArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the EC2 instance hosting the Node.", + "smithy.api#jsonName": "instanceArn" + } }, - { - "target": "com.amazonaws.medialive#NotFoundException" + "Name": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The name that you specified for the Node.", + "smithy.api#jsonName": "name" + } }, - { - "target": "com.amazonaws.medialive#UnprocessableEntityException" + "NodeInterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfNodeInterfaceMapping", + "traits": { + "smithy.api#documentation": "Documentation update needed", + "smithy.api#jsonName": "nodeInterfaceMappings" + } + }, + "Role": { + "target": "com.amazonaws.medialive#NodeRole", + "traits": { + "smithy.api#documentation": "The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.", + "smithy.api#jsonName": "role" + } + }, + "State": { + "target": "com.amazonaws.medialive#NodeState", + "traits": { + "smithy.api#documentation": "The current state of the Node.", + "smithy.api#jsonName": "state" + } } - ], + }, "traits": { - "smithy.api#documentation": "Updates a multiplex.", - "smithy.api#http": { - "method": "PUT", - "uri": "/prod/multiplexes/{MultiplexId}", - "code": 200 - } + "smithy.api#documentation": "Placeholder documentation for UpdateNodeResponse", + "smithy.api#output": {} } }, - "com.amazonaws.medialive#UpdateMultiplexProgram": { + "com.amazonaws.medialive#UpdateNodeState": { "type": "operation", "input": { - "target": "com.amazonaws.medialive#UpdateMultiplexProgramRequest" + "target": "com.amazonaws.medialive#UpdateNodeStateRequest" }, "output": { - "target": "com.amazonaws.medialive#UpdateMultiplexProgramResponse" + "target": "com.amazonaws.medialive#UpdateNodeStateResponse" }, "errors": [ { @@ -30473,120 +35364,150 @@ "target": "com.amazonaws.medialive#InternalServerErrorException" }, { - "target": "com.amazonaws.medialive#NotFoundException" + "target": "com.amazonaws.medialive#TooManyRequestsException" }, { "target": "com.amazonaws.medialive#UnprocessableEntityException" } ], "traits": { - "smithy.api#documentation": "Update a program in a multiplex.", + "smithy.api#documentation": "Update the state of a node.", "smithy.api#http": { "method": "PUT", - "uri": "/prod/multiplexes/{MultiplexId}/programs/{ProgramName}", - "code": 200 + "uri": "/prod/clusters/{ClusterId}/nodes/{NodeId}/state", + "code": 201 } } }, - "com.amazonaws.medialive#UpdateMultiplexProgramRequest": { + "com.amazonaws.medialive#UpdateNodeStateRequest": { "type": "structure", "members": { - "MultiplexId": { + "ClusterId": { "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "The ID of the multiplex of the program to update.", + "smithy.api#documentation": "The ID of the cluster", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "MultiplexProgramSettings": { - "target": "com.amazonaws.medialive#MultiplexProgramSettings", - "traits": { - "smithy.api#documentation": "The new settings for a multiplex program.", - "smithy.api#jsonName": "multiplexProgramSettings" - } - }, - "ProgramName": { + "NodeId": { "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "The name of the program to update.", + "smithy.api#documentation": "The ID of the node.", "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "State": { + "target": "com.amazonaws.medialive#UpdateNodeStateShape", + "traits": { + "smithy.api#documentation": "The state to apply to the Node. Set to ACTIVE (COMMISSIONED) to indicate that the Node is deployable. MediaLive Anywhere will consider this node it needs a Node to run a Channel on, or when it needs a Node to promote from a backup node to an active node. Set to DRAINING to isolate the Node so that MediaLive Anywhere won't use it.", + "smithy.api#jsonName": "state" + } } }, "traits": { - "smithy.api#documentation": "A request to update a program in a multiplex.", + "smithy.api#documentation": "A request to update the state of a node.", "smithy.api#input": {} } }, - "com.amazonaws.medialive#UpdateMultiplexProgramResponse": { + "com.amazonaws.medialive#UpdateNodeStateResponse": { "type": "structure", "members": { - "MultiplexProgram": { - "target": "com.amazonaws.medialive#MultiplexProgram", + "Arn": { + "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "The updated multiplex program.", - "smithy.api#jsonName": "multiplexProgram" + "smithy.api#documentation": "The ARN of the Node. It is automatically assigned when the Node is created.", + "smithy.api#jsonName": "arn" } - } - }, - "traits": { - "smithy.api#documentation": "Placeholder documentation for UpdateMultiplexProgramResponse", - "smithy.api#output": {} - } - }, - "com.amazonaws.medialive#UpdateMultiplexRequest": { - "type": "structure", - "members": { - "MultiplexId": { + }, + "ChannelPlacementGroups": { + "target": "com.amazonaws.medialive#__listOf__string", + "traits": { + "smithy.api#documentation": "An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups.", + "smithy.api#jsonName": "channelPlacementGroups" + } + }, + "ClusterId": { "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "ID of the multiplex to update.", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "The ID of the Cluster that the Node belongs to.", + "smithy.api#jsonName": "clusterId" } }, - "MultiplexSettings": { - "target": "com.amazonaws.medialive#MultiplexSettings", + "ConnectionState": { + "target": "com.amazonaws.medialive#NodeConnectionState", "traits": { - "smithy.api#documentation": "The new settings for a multiplex.", - "smithy.api#jsonName": "multiplexSettings" + "smithy.api#documentation": "The current connection state of the Node.", + "smithy.api#jsonName": "connectionState" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN.", + "smithy.api#jsonName": "id" + } + }, + "InstanceArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN of the EC2 instance hosting the Node.", + "smithy.api#jsonName": "instanceArn" } }, "Name": { "target": "com.amazonaws.medialive#__string", "traits": { - "smithy.api#documentation": "Name of the multiplex.", + "smithy.api#documentation": "The name that you specified for the Node.", "smithy.api#jsonName": "name" } }, - "PacketIdentifiersMapping": { - "target": "com.amazonaws.medialive#MultiplexPacketIdentifiersMapping", + "NodeInterfaceMappings": { + "target": "com.amazonaws.medialive#__listOfNodeInterfaceMapping", "traits": { - "smithy.api#jsonName": "packetIdentifiersMapping" + "smithy.api#documentation": "Documentation update needed", + "smithy.api#jsonName": "nodeInterfaceMappings" + } + }, + "Role": { + "target": "com.amazonaws.medialive#NodeRole", + "traits": { + "smithy.api#documentation": "The initial role current role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.", + "smithy.api#jsonName": "role" + } + }, + "State": { + "target": "com.amazonaws.medialive#NodeState", + "traits": { + "smithy.api#documentation": "The current state of the Node.", + "smithy.api#jsonName": "state" } } }, "traits": { - "smithy.api#documentation": "A request to update a multiplex.", - "smithy.api#input": {} + "smithy.api#documentation": "Placeholder documentation for UpdateNodeStateResponse", + "smithy.api#output": {} } }, - "com.amazonaws.medialive#UpdateMultiplexResponse": { - "type": "structure", + "com.amazonaws.medialive#UpdateNodeStateShape": { + "type": "enum", "members": { - "Multiplex": { - "target": "com.amazonaws.medialive#Multiplex", + "ACTIVE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The updated multiplex.", - "smithy.api#jsonName": "multiplex" + "smithy.api#enumValue": "ACTIVE" + } + }, + "DRAINING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DRAINING" } } }, "traits": { - "smithy.api#documentation": "Placeholder documentation for UpdateMultiplexResponse", - "smithy.api#output": {} + "smithy.api#documentation": "Used in UpdateNodeStateRequest." } }, "com.amazonaws.medialive#UpdateReservation": { @@ -30748,6 +35669,12 @@ "traits": { "smithy.api#jsonName": "mpeg2Settings" } + }, + "Av1Settings": { + "target": "com.amazonaws.medialive#Av1Settings", + "traits": { + "smithy.api#jsonName": "av1Settings" + } } }, "traits": { @@ -31723,6 +36650,16 @@ } } }, + "com.amazonaws.medialive#__integerMin40Max16000": { + "type": "integer", + "traits": { + "smithy.api#documentation": "Placeholder documentation for __integerMin40Max16000", + "smithy.api#range": { + "min": 40, + "max": 16000 + } + } + }, "com.amazonaws.medialive#__integerMin4Max20": { "type": "integer", "traits": { @@ -31733,6 +36670,26 @@ } } }, + "com.amazonaws.medialive#__integerMin50000Max16000000": { + "type": "integer", + "traits": { + "smithy.api#documentation": "Placeholder documentation for __integerMin50000Max16000000", + "smithy.api#range": { + "min": 50000, + "max": 16000000 + } + } + }, + "com.amazonaws.medialive#__integerMin50000Max8000000": { + "type": "integer", + "traits": { + "smithy.api#documentation": "Placeholder documentation for __integerMin50000Max8000000", + "smithy.api#range": { + "min": 50000, + "max": 8000000 + } + } + }, "com.amazonaws.medialive#__integerMin64Max2160": { "type": "integer", "traits": { @@ -31956,6 +36913,42 @@ "smithy.api#documentation": "Placeholder documentation for __listOfDashRoleCaption" } }, + "com.amazonaws.medialive#__listOfDescribeChannelPlacementGroupSummary": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#DescribeChannelPlacementGroupSummary" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfDescribeChannelPlacementGroupSummary" + } + }, + "com.amazonaws.medialive#__listOfDescribeClusterSummary": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#DescribeClusterSummary" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfDescribeClusterSummary" + } + }, + "com.amazonaws.medialive#__listOfDescribeNetworkSummary": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#DescribeNetworkSummary" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfDescribeNetworkSummary" + } + }, + "com.amazonaws.medialive#__listOfDescribeNodeSummary": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#DescribeNodeSummary" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfDescribeNodeSummary" + } + }, "com.amazonaws.medialive#__listOfEventBridgeRuleTemplateGroupSummary": { "type": "list", "member": { @@ -32046,6 +37039,15 @@ "smithy.api#documentation": "Placeholder documentation for __listOfInputDestinationRequest" } }, + "com.amazonaws.medialive#__listOfInputDestinationRoute": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#InputDestinationRoute" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfInputDestinationRoute" + } + }, "com.amazonaws.medialive#__listOfInputDeviceConfigurableAudioChannelPairConfig": { "type": "list", "member": { @@ -32091,6 +37093,15 @@ "smithy.api#documentation": "Placeholder documentation for __listOfInputDeviceUhdAudioChannelPairConfig" } }, + "com.amazonaws.medialive#__listOfInputRequestDestinationRoute": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#InputRequestDestinationRoute" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfInputRequestDestinationRoute" + } + }, "com.amazonaws.medialive#__listOfInputSecurityGroup": { "type": "list", "member": { @@ -32136,6 +37147,60 @@ "smithy.api#documentation": "Placeholder documentation for __listOfInputWhitelistRuleCidr" } }, + "com.amazonaws.medialive#__listOfInterfaceMapping": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#InterfaceMapping" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfInterfaceMapping" + } + }, + "com.amazonaws.medialive#__listOfInterfaceMappingCreateRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#InterfaceMappingCreateRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfInterfaceMappingCreateRequest" + } + }, + "com.amazonaws.medialive#__listOfInterfaceMappingUpdateRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#InterfaceMappingUpdateRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfInterfaceMappingUpdateRequest" + } + }, + "com.amazonaws.medialive#__listOfIpPool": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#IpPool" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfIpPool" + } + }, + "com.amazonaws.medialive#__listOfIpPoolCreateRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#IpPoolCreateRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfIpPoolCreateRequest" + } + }, + "com.amazonaws.medialive#__listOfIpPoolUpdateRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#IpPoolUpdateRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfIpPoolUpdateRequest" + } + }, "com.amazonaws.medialive#__listOfMediaConnectFlow": { "type": "list", "member": { @@ -32172,6 +37237,33 @@ "smithy.api#documentation": "Placeholder documentation for __listOfMediaResourceNeighbor" } }, + "com.amazonaws.medialive#__listOfMulticastSource": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#MulticastSource" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfMulticastSource" + } + }, + "com.amazonaws.medialive#__listOfMulticastSourceCreateRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#MulticastSourceCreateRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfMulticastSourceCreateRequest" + } + }, + "com.amazonaws.medialive#__listOfMulticastSourceUpdateRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#MulticastSourceUpdateRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfMulticastSourceUpdateRequest" + } + }, "com.amazonaws.medialive#__listOfMultiplexOutputDestination": { "type": "list", "member": { @@ -32208,6 +37300,24 @@ "smithy.api#documentation": "Placeholder documentation for __listOfMultiplexSummary" } }, + "com.amazonaws.medialive#__listOfNodeInterfaceMapping": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#NodeInterfaceMapping" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfNodeInterfaceMapping" + } + }, + "com.amazonaws.medialive#__listOfNodeInterfaceMappingCreateRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#NodeInterfaceMappingCreateRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfNodeInterfaceMappingCreateRequest" + } + }, "com.amazonaws.medialive#__listOfOffering": { "type": "list", "member": { @@ -32280,6 +37390,33 @@ "smithy.api#documentation": "Placeholder documentation for __listOfReservation" } }, + "com.amazonaws.medialive#__listOfRoute": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#Route" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfRoute" + } + }, + "com.amazonaws.medialive#__listOfRouteCreateRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#RouteCreateRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfRouteCreateRequest" + } + }, + "com.amazonaws.medialive#__listOfRouteUpdateRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#RouteUpdateRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfRouteUpdateRequest" + } + }, "com.amazonaws.medialive#__listOfRtmpAdMarkers": { "type": "list", "member": { @@ -32334,6 +37471,15 @@ "smithy.api#documentation": "Placeholder documentation for __listOfSrtCallerSourceRequest" } }, + "com.amazonaws.medialive#__listOfSrtOutputDestinationSettings": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#SrtOutputDestinationSettings" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfSrtOutputDestinationSettings" + } + }, "com.amazonaws.medialive#__listOfThumbnail": { "type": "list", "member": {