diff --git a/clients/client-ivs-realtime/README.md b/clients/client-ivs-realtime/README.md index 12ac5a5a136e..7db3745e0c27 100644 --- a/clients/client-ivs-realtime/README.md +++ b/clients/client-ivs-realtime/README.md @@ -37,7 +37,7 @@ participants.
Composition process — Composites participants of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels). -Composition endpoints support this process.
+Composition operations support this process.@@ -52,13 +52,13 @@ including how participants are positioned in the video.
A tag is a metadata label that you assign to an AWS resource. A tag
comprises a key and a value, both set by you. For
example, you might set a tag as topic:nature
to label a particular video
-category. See Tagging AWS Resources for more information, including restrictions that apply to
-tags and "Tag naming limits and requirements"; Amazon IVS stages has no service-specific
-constraints beyond what is documented there.
Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags).
-The Amazon IVS real-time API has these tag-related endpoints: TagResource, UntagResource, and +
The Amazon IVS real-time API has these tag-related operations: TagResource, UntagResource, and ListTagsForResource. The following resource supports tagging: Stage.
At most 50 tags can be applied to a resource.
@@ -264,6 +264,14 @@ CreateEncoderConfiguration [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/CreateEncoderConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/CreateEncoderConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/CreateEncoderConfigurationCommandOutput/) + +* Composition process — Composites participants * of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels). - * Composition endpoints support this process.
+ * Composition operations support this process. *@@ -683,13 +799,13 @@ export interface IVSRealTime { *
A tag is a metadata label that you assign to an AWS resource. A tag
* comprises a key and a value, both set by you. For
* example, you might set a tag as topic:nature
to label a particular video
- * category. See Tagging AWS Resources for more information, including restrictions that apply to
- * tags and "Tag naming limits and requirements"; Amazon IVS stages has no service-specific
- * constraints beyond what is documented there.
Tags can help you identify and organize your AWS resources. For example, you can use the * same tag for different resources to indicate that they are related. You can also use tags to * manage access (see Access Tags).
- *The Amazon IVS real-time API has these tag-related endpoints: TagResource, UntagResource, and + *
The Amazon IVS real-time API has these tag-related operations: TagResource, UntagResource, and * ListTagsForResource. The following resource supports tagging: Stage.
*At most 50 tags can be applied to a resource.
* @public diff --git a/clients/client-ivs-realtime/src/IVSRealTimeClient.ts b/clients/client-ivs-realtime/src/IVSRealTimeClient.ts index 8d8a9fda1062..d314333bb3db 100644 --- a/clients/client-ivs-realtime/src/IVSRealTimeClient.ts +++ b/clients/client-ivs-realtime/src/IVSRealTimeClient.ts @@ -57,6 +57,10 @@ import { CreateEncoderConfigurationCommandInput, CreateEncoderConfigurationCommandOutput, } from "./commands/CreateEncoderConfigurationCommand"; +import { + CreateIngestConfigurationCommandInput, + CreateIngestConfigurationCommandOutput, +} from "./commands/CreateIngestConfigurationCommand"; import { CreateParticipantTokenCommandInput, CreateParticipantTokenCommandOutput, @@ -70,6 +74,10 @@ import { DeleteEncoderConfigurationCommandInput, DeleteEncoderConfigurationCommandOutput, } from "./commands/DeleteEncoderConfigurationCommand"; +import { + DeleteIngestConfigurationCommandInput, + DeleteIngestConfigurationCommandOutput, +} from "./commands/DeleteIngestConfigurationCommand"; import { DeletePublicKeyCommandInput, DeletePublicKeyCommandOutput } from "./commands/DeletePublicKeyCommand"; import { DeleteStageCommandInput, DeleteStageCommandOutput } from "./commands/DeleteStageCommand"; import { @@ -85,6 +93,10 @@ import { GetEncoderConfigurationCommandInput, GetEncoderConfigurationCommandOutput, } from "./commands/GetEncoderConfigurationCommand"; +import { + GetIngestConfigurationCommandInput, + GetIngestConfigurationCommandOutput, +} from "./commands/GetIngestConfigurationCommand"; import { GetParticipantCommandInput, GetParticipantCommandOutput } from "./commands/GetParticipantCommand"; import { GetPublicKeyCommandInput, GetPublicKeyCommandOutput } from "./commands/GetPublicKeyCommand"; import { GetStageCommandInput, GetStageCommandOutput } from "./commands/GetStageCommand"; @@ -99,6 +111,10 @@ import { ListEncoderConfigurationsCommandInput, ListEncoderConfigurationsCommandOutput, } from "./commands/ListEncoderConfigurationsCommand"; +import { + ListIngestConfigurationsCommandInput, + ListIngestConfigurationsCommandOutput, +} from "./commands/ListIngestConfigurationsCommand"; import { ListParticipantEventsCommandInput, ListParticipantEventsCommandOutput, @@ -119,6 +135,10 @@ import { StartCompositionCommandInput, StartCompositionCommandOutput } from "./c import { StopCompositionCommandInput, StopCompositionCommandOutput } from "./commands/StopCompositionCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { + UpdateIngestConfigurationCommandInput, + UpdateIngestConfigurationCommandOutput, +} from "./commands/UpdateIngestConfigurationCommand"; import { UpdateStageCommandInput, UpdateStageCommandOutput } from "./commands/UpdateStageCommand"; import { ClientInputEndpointParameters, @@ -136,16 +156,19 @@ export { __Client }; */ export type ServiceInputTypes = | CreateEncoderConfigurationCommandInput + | CreateIngestConfigurationCommandInput | CreateParticipantTokenCommandInput | CreateStageCommandInput | CreateStorageConfigurationCommandInput | DeleteEncoderConfigurationCommandInput + | DeleteIngestConfigurationCommandInput | DeletePublicKeyCommandInput | DeleteStageCommandInput | DeleteStorageConfigurationCommandInput | DisconnectParticipantCommandInput | GetCompositionCommandInput | GetEncoderConfigurationCommandInput + | GetIngestConfigurationCommandInput | GetParticipantCommandInput | GetPublicKeyCommandInput | GetStageCommandInput @@ -154,6 +177,7 @@ export type ServiceInputTypes = | ImportPublicKeyCommandInput | ListCompositionsCommandInput | ListEncoderConfigurationsCommandInput + | ListIngestConfigurationsCommandInput | ListParticipantEventsCommandInput | ListParticipantsCommandInput | ListPublicKeysCommandInput @@ -165,6 +189,7 @@ export type ServiceInputTypes = | StopCompositionCommandInput | TagResourceCommandInput | UntagResourceCommandInput + | UpdateIngestConfigurationCommandInput | UpdateStageCommandInput; /** @@ -172,16 +197,19 @@ export type ServiceInputTypes = */ export type ServiceOutputTypes = | CreateEncoderConfigurationCommandOutput + | CreateIngestConfigurationCommandOutput | CreateParticipantTokenCommandOutput | CreateStageCommandOutput | CreateStorageConfigurationCommandOutput | DeleteEncoderConfigurationCommandOutput + | DeleteIngestConfigurationCommandOutput | DeletePublicKeyCommandOutput | DeleteStageCommandOutput | DeleteStorageConfigurationCommandOutput | DisconnectParticipantCommandOutput | GetCompositionCommandOutput | GetEncoderConfigurationCommandOutput + | GetIngestConfigurationCommandOutput | GetParticipantCommandOutput | GetPublicKeyCommandOutput | GetStageCommandOutput @@ -190,6 +218,7 @@ export type ServiceOutputTypes = | ImportPublicKeyCommandOutput | ListCompositionsCommandOutput | ListEncoderConfigurationsCommandOutput + | ListIngestConfigurationsCommandOutput | ListParticipantEventsCommandOutput | ListParticipantsCommandOutput | ListPublicKeysCommandOutput @@ -201,6 +230,7 @@ export type ServiceOutputTypes = | StopCompositionCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput + | UpdateIngestConfigurationCommandOutput | UpdateStageCommandOutput; /** @@ -406,7 +436,7 @@ export interface IVSRealTimeClientResolvedConfig extends IVSRealTimeClientResolv ** Composition process — Composites participants * of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels). - * Composition endpoints support this process.
+ * Composition operations support this process. *@@ -421,13 +451,13 @@ export interface IVSRealTimeClientResolvedConfig extends IVSRealTimeClientResolv *
A tag is a metadata label that you assign to an AWS resource. A tag
* comprises a key and a value, both set by you. For
* example, you might set a tag as topic:nature
to label a particular video
- * category. See Tagging AWS Resources for more information, including restrictions that apply to
- * tags and "Tag naming limits and requirements"; Amazon IVS stages has no service-specific
- * constraints beyond what is documented there.
Tags can help you identify and organize your AWS resources. For example, you can use the * same tag for different resources to indicate that they are related. You can also use tags to * manage access (see Access Tags).
- *The Amazon IVS real-time API has these tag-related endpoints: TagResource, UntagResource, and + *
The Amazon IVS real-time API has these tag-related operations: TagResource, UntagResource, and * ListTagsForResource. The following resource supports tagging: Stage.
*At most 50 tags can be applied to a resource.
* @public diff --git a/clients/client-ivs-realtime/src/commands/CreateIngestConfigurationCommand.ts b/clients/client-ivs-realtime/src/commands/CreateIngestConfigurationCommand.ts new file mode 100644 index 000000000000..ab3e8ca7c6fa --- /dev/null +++ b/clients/client-ivs-realtime/src/commands/CreateIngestConfigurationCommand.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 { IVSRealTimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IVSRealTimeClient"; +import { + CreateIngestConfigurationRequest, + CreateIngestConfigurationResponse, + CreateIngestConfigurationResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_CreateIngestConfigurationCommand, se_CreateIngestConfigurationCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateIngestConfigurationCommand}. + */ +export interface CreateIngestConfigurationCommandInput extends CreateIngestConfigurationRequest {} +/** + * @public + * + * The output of {@link CreateIngestConfigurationCommand}. + */ +export interface CreateIngestConfigurationCommandOutput extends CreateIngestConfigurationResponse, __MetadataBearer {} + +/** + *Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { IVSRealTimeClient, CreateIngestConfigurationCommand } from "@aws-sdk/client-ivs-realtime"; // ES Modules import + * // const { IVSRealTimeClient, CreateIngestConfigurationCommand } = require("@aws-sdk/client-ivs-realtime"); // CommonJS import + * const client = new IVSRealTimeClient(config); + * const input = { // CreateIngestConfigurationRequest + * name: "STRING_VALUE", + * stageArn: "STRING_VALUE", + * userId: "STRING_VALUE", + * attributes: { // ParticipantAttributes + * "Base exception class for all service exceptions from IVSRealTime service.
+ * + * @public + */ +export class CreateIngestConfigurationCommand extends $Command + .classBuilder< + CreateIngestConfigurationCommandInput, + CreateIngestConfigurationCommandOutput, + IVSRealTimeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: IVSRealTimeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonInteractiveVideoServiceRealTime", "CreateIngestConfiguration", {}) + .n("IVSRealTimeClient", "CreateIngestConfigurationCommand") + .f(void 0, CreateIngestConfigurationResponseFilterSensitiveLog) + .ser(se_CreateIngestConfigurationCommand) + .de(de_CreateIngestConfigurationCommand) + .build() {} diff --git a/clients/client-ivs-realtime/src/commands/CreateStageCommand.ts b/clients/client-ivs-realtime/src/commands/CreateStageCommand.ts index 319c3255ed70..6e3020fc12e8 100644 --- a/clients/client-ivs-realtime/src/commands/CreateStageCommand.ts +++ b/clients/client-ivs-realtime/src/commands/CreateStageCommand.ts @@ -78,6 +78,8 @@ export interface CreateStageCommandOutput extends CreateStageResponse, __Metadat * // endpoints: { // StageEndpoints * // events: "STRING_VALUE", * // whip: "STRING_VALUE", + * // rtmp: "STRING_VALUE", + * // rtmps: "STRING_VALUE", * // }, * // }, * // participantTokens: [ // ParticipantTokenList diff --git a/clients/client-ivs-realtime/src/commands/DeleteIngestConfigurationCommand.ts b/clients/client-ivs-realtime/src/commands/DeleteIngestConfigurationCommand.ts new file mode 100644 index 000000000000..1542b7b8b412 --- /dev/null +++ b/clients/client-ivs-realtime/src/commands/DeleteIngestConfigurationCommand.ts @@ -0,0 +1,96 @@ +// 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 { IVSRealTimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IVSRealTimeClient"; +import { DeleteIngestConfigurationRequest, DeleteIngestConfigurationResponse } from "../models/models_0"; +import { de_DeleteIngestConfigurationCommand, se_DeleteIngestConfigurationCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteIngestConfigurationCommand}. + */ +export interface DeleteIngestConfigurationCommandInput extends DeleteIngestConfigurationRequest {} +/** + * @public + * + * The output of {@link DeleteIngestConfigurationCommand}. + */ +export interface DeleteIngestConfigurationCommandOutput extends DeleteIngestConfigurationResponse, __MetadataBearer {} + +/** + *Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. An IngestConfiguration cannot be deleted if the publisher is actively streaming to a stage, unless force
is set to true
.
Base exception class for all service exceptions from IVSRealTime service.
+ * + * @public + */ +export class DeleteIngestConfigurationCommand extends $Command + .classBuilder< + DeleteIngestConfigurationCommandInput, + DeleteIngestConfigurationCommandOutput, + IVSRealTimeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: IVSRealTimeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonInteractiveVideoServiceRealTime", "DeleteIngestConfiguration", {}) + .n("IVSRealTimeClient", "DeleteIngestConfigurationCommand") + .f(void 0, void 0) + .ser(se_DeleteIngestConfigurationCommand) + .de(de_DeleteIngestConfigurationCommand) + .build() {} diff --git a/clients/client-ivs-realtime/src/commands/DeleteStageCommand.ts b/clients/client-ivs-realtime/src/commands/DeleteStageCommand.ts index facd1b185520..9ca6d62b7318 100644 --- a/clients/client-ivs-realtime/src/commands/DeleteStageCommand.ts +++ b/clients/client-ivs-realtime/src/commands/DeleteStageCommand.ts @@ -28,7 +28,9 @@ export interface DeleteStageCommandInput extends DeleteStageRequest {} export interface DeleteStageCommandOutput extends DeleteStageResponse, __MetadataBearer {} /** - *Shuts down and deletes the specified stage (disconnecting all participants).
+ *Shuts down and deletes the specified stage (disconnecting all participants). This operation also
+ * removes the stageArn
from the associated IngestConfiguration, if there are participants
+ * using the IngestConfiguration to publish to the stage.
Disconnects a specified participant and revokes the participant permanently from a - * specified stage.
+ *Disconnects a specified participant from a specified stage. If the participant is publishing using
+ * an IngestConfiguration, DisconnectParticipant also updates the stageArn
+ * in the IngestConfiguration to be an empty string.
Gets information about the specified IngestConfiguration.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { IVSRealTimeClient, GetIngestConfigurationCommand } from "@aws-sdk/client-ivs-realtime"; // ES Modules import + * // const { IVSRealTimeClient, GetIngestConfigurationCommand } = require("@aws-sdk/client-ivs-realtime"); // CommonJS import + * const client = new IVSRealTimeClient(config); + * const input = { // GetIngestConfigurationRequest + * arn: "STRING_VALUE", // required + * }; + * const command = new GetIngestConfigurationCommand(input); + * const response = await client.send(command); + * // { // GetIngestConfigurationResponse + * // ingestConfiguration: { // IngestConfiguration + * // name: "STRING_VALUE", + * // arn: "STRING_VALUE", // required + * // ingestProtocol: "RTMP" || "RTMPS", // required + * // streamKey: "STRING_VALUE", // required + * // stageArn: "STRING_VALUE", // required + * // participantId: "STRING_VALUE", // required + * // state: "STRING_VALUE", // required + * // userId: "STRING_VALUE", + * // attributes: { // ParticipantAttributes + * // "Base exception class for all service exceptions from IVSRealTime service.
+ * + * @public + */ +export class GetIngestConfigurationCommand extends $Command + .classBuilder< + GetIngestConfigurationCommandInput, + GetIngestConfigurationCommandOutput, + IVSRealTimeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: IVSRealTimeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonInteractiveVideoServiceRealTime", "GetIngestConfiguration", {}) + .n("IVSRealTimeClient", "GetIngestConfigurationCommand") + .f(void 0, GetIngestConfigurationResponseFilterSensitiveLog) + .ser(se_GetIngestConfigurationCommand) + .de(de_GetIngestConfigurationCommand) + .build() {} diff --git a/clients/client-ivs-realtime/src/commands/GetParticipantCommand.ts b/clients/client-ivs-realtime/src/commands/GetParticipantCommand.ts index 353a4220dbbe..c83ab9d71116 100644 --- a/clients/client-ivs-realtime/src/commands/GetParticipantCommand.ts +++ b/clients/client-ivs-realtime/src/commands/GetParticipantCommand.ts @@ -61,6 +61,7 @@ export interface GetParticipantCommandOutput extends GetParticipantResponse, __M * // recordingS3BucketName: "STRING_VALUE", * // recordingS3Prefix: "STRING_VALUE", * // recordingState: "STRING_VALUE", + * // protocol: "UNKNOWN" || "WHIP" || "RTMP" || "RTMPS", * // }, * // }; * diff --git a/clients/client-ivs-realtime/src/commands/GetStageCommand.ts b/clients/client-ivs-realtime/src/commands/GetStageCommand.ts index bcfe62e49ea7..fb86474df44e 100644 --- a/clients/client-ivs-realtime/src/commands/GetStageCommand.ts +++ b/clients/client-ivs-realtime/src/commands/GetStageCommand.ts @@ -57,6 +57,8 @@ export interface GetStageCommandOutput extends GetStageResponse, __MetadataBeare * // endpoints: { // StageEndpoints * // events: "STRING_VALUE", * // whip: "STRING_VALUE", + * // rtmp: "STRING_VALUE", + * // rtmps: "STRING_VALUE", * // }, * // }, * // }; diff --git a/clients/client-ivs-realtime/src/commands/ListIngestConfigurationsCommand.ts b/clients/client-ivs-realtime/src/commands/ListIngestConfigurationsCommand.ts new file mode 100644 index 000000000000..51bbf4882814 --- /dev/null +++ b/clients/client-ivs-realtime/src/commands/ListIngestConfigurationsCommand.ts @@ -0,0 +1,102 @@ +// 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 { IVSRealTimeClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IVSRealTimeClient"; +import { ListIngestConfigurationsRequest, ListIngestConfigurationsResponse } from "../models/models_0"; +import { de_ListIngestConfigurationsCommand, se_ListIngestConfigurationsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListIngestConfigurationsCommand}. + */ +export interface ListIngestConfigurationsCommandInput extends ListIngestConfigurationsRequest {} +/** + * @public + * + * The output of {@link ListIngestConfigurationsCommand}. + */ +export interface ListIngestConfigurationsCommandOutput extends ListIngestConfigurationsResponse, __MetadataBearer {} + +/** + *Lists all IngestConfigurations in your account, in the AWS region where the API request is processed.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { IVSRealTimeClient, ListIngestConfigurationsCommand } from "@aws-sdk/client-ivs-realtime"; // ES Modules import + * // const { IVSRealTimeClient, ListIngestConfigurationsCommand } = require("@aws-sdk/client-ivs-realtime"); // CommonJS import + * const client = new IVSRealTimeClient(config); + * const input = { // ListIngestConfigurationsRequest + * filterByStageArn: "STRING_VALUE", + * filterByState: "STRING_VALUE", + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListIngestConfigurationsCommand(input); + * const response = await client.send(command); + * // { // ListIngestConfigurationsResponse + * // ingestConfigurations: [ // IngestConfigurationList // required + * // { // IngestConfigurationSummary + * // name: "STRING_VALUE", + * // arn: "STRING_VALUE", // required + * // ingestProtocol: "RTMP" || "RTMPS", // required + * // stageArn: "STRING_VALUE", // required + * // participantId: "STRING_VALUE", // required + * // state: "STRING_VALUE", // required + * // userId: "STRING_VALUE", + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListIngestConfigurationsCommandInput - {@link ListIngestConfigurationsCommandInput} + * @returns {@link ListIngestConfigurationsCommandOutput} + * @see {@link ListIngestConfigurationsCommandInput} for command's `input` shape. + * @see {@link ListIngestConfigurationsCommandOutput} for command's `response` shape. + * @see {@link IVSRealTimeClientResolvedConfig | config} for IVSRealTimeClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + * + * + * @throws {@link ValidationException} (client fault) + * + * + * @throws {@link IVSRealTimeServiceException} + *Base exception class for all service exceptions from IVSRealTime service.
+ * + * @public + */ +export class ListIngestConfigurationsCommand extends $Command + .classBuilder< + ListIngestConfigurationsCommandInput, + ListIngestConfigurationsCommandOutput, + IVSRealTimeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: IVSRealTimeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonInteractiveVideoServiceRealTime", "ListIngestConfigurations", {}) + .n("IVSRealTimeClient", "ListIngestConfigurationsCommand") + .f(void 0, void 0) + .ser(se_ListIngestConfigurationsCommand) + .de(de_ListIngestConfigurationsCommand) + .build() {} diff --git a/clients/client-ivs-realtime/src/commands/ListParticipantEventsCommand.ts b/clients/client-ivs-realtime/src/commands/ListParticipantEventsCommand.ts index 12be08fdbcbe..70b1b5485e15 100644 --- a/clients/client-ivs-realtime/src/commands/ListParticipantEventsCommand.ts +++ b/clients/client-ivs-realtime/src/commands/ListParticipantEventsCommand.ts @@ -52,7 +52,7 @@ export interface ListParticipantEventsCommandOutput extends ListParticipantEvent * // participantId: "STRING_VALUE", * // eventTime: new Date("TIMESTAMP"), * // remoteParticipantId: "STRING_VALUE", - * // errorCode: "STRING_VALUE", + * // errorCode: "INSUFFICIENT_CAPABILITIES" || "QUOTA_EXCEEDED" || "PUBLISHER_NOT_FOUND" || "BITRATE_EXCEEDED" || "RESOLUTION_EXCEEDED" || "STREAM_DURATION_EXCEEDED" || "INVALID_AUDIO_CODEC" || "INVALID_VIDEO_CODEC" || "INVALID_PROTOCOL" || "INVALID_STREAM_KEY" || "REUSE_OF_STREAM_KEY", * // }, * // ], * // nextToken: "STRING_VALUE", diff --git a/clients/client-ivs-realtime/src/commands/StartCompositionCommand.ts b/clients/client-ivs-realtime/src/commands/StartCompositionCommand.ts index 2bfbaa36c258..00d5f97afa11 100644 --- a/clients/client-ivs-realtime/src/commands/StartCompositionCommand.ts +++ b/clients/client-ivs-realtime/src/commands/StartCompositionCommand.ts @@ -30,7 +30,7 @@ export interface StartCompositionCommandOutput extends StartCompositionResponse, /** *Starts a Composition from a stage based on the configuration provided in the * request.
- *A Composition is an ephemeral resource that exists after this endpoint returns + *
A Composition is an ephemeral resource that exists after this operation returns * successfully. Composition stops and the resource is deleted:
*Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { IVSRealTimeClient, UpdateIngestConfigurationCommand } from "@aws-sdk/client-ivs-realtime"; // ES Modules import + * // const { IVSRealTimeClient, UpdateIngestConfigurationCommand } = require("@aws-sdk/client-ivs-realtime"); // CommonJS import + * const client = new IVSRealTimeClient(config); + * const input = { // UpdateIngestConfigurationRequest + * arn: "STRING_VALUE", // required + * stageArn: "STRING_VALUE", + * }; + * const command = new UpdateIngestConfigurationCommand(input); + * const response = await client.send(command); + * // { // UpdateIngestConfigurationResponse + * // ingestConfiguration: { // IngestConfiguration + * // name: "STRING_VALUE", + * // arn: "STRING_VALUE", // required + * // ingestProtocol: "RTMP" || "RTMPS", // required + * // streamKey: "STRING_VALUE", // required + * // stageArn: "STRING_VALUE", // required + * // participantId: "STRING_VALUE", // required + * // state: "STRING_VALUE", // required + * // userId: "STRING_VALUE", + * // attributes: { // ParticipantAttributes + * // "Base exception class for all service exceptions from IVSRealTime service.
+ * + * @public + */ +export class UpdateIngestConfigurationCommand extends $Command + .classBuilder< + UpdateIngestConfigurationCommandInput, + UpdateIngestConfigurationCommandOutput, + IVSRealTimeClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: IVSRealTimeClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonInteractiveVideoServiceRealTime", "UpdateIngestConfiguration", {}) + .n("IVSRealTimeClient", "UpdateIngestConfigurationCommand") + .f(void 0, UpdateIngestConfigurationResponseFilterSensitiveLog) + .ser(se_UpdateIngestConfigurationCommand) + .de(de_UpdateIngestConfigurationCommand) + .build() {} diff --git a/clients/client-ivs-realtime/src/commands/UpdateStageCommand.ts b/clients/client-ivs-realtime/src/commands/UpdateStageCommand.ts index 3e428e963e40..54bbf1f9e237 100644 --- a/clients/client-ivs-realtime/src/commands/UpdateStageCommand.ts +++ b/clients/client-ivs-realtime/src/commands/UpdateStageCommand.ts @@ -64,6 +64,8 @@ export interface UpdateStageCommandOutput extends UpdateStageResponse, __Metadat * // endpoints: { // StageEndpoints * // events: "STRING_VALUE", * // whip: "STRING_VALUE", + * // rtmp: "STRING_VALUE", + * // rtmps: "STRING_VALUE", * // }, * // }, * // }; diff --git a/clients/client-ivs-realtime/src/commands/index.ts b/clients/client-ivs-realtime/src/commands/index.ts index efbbd4ae7397..36a4dc4e4f29 100644 --- a/clients/client-ivs-realtime/src/commands/index.ts +++ b/clients/client-ivs-realtime/src/commands/index.ts @@ -1,15 +1,18 @@ // smithy-typescript generated code export * from "./CreateEncoderConfigurationCommand"; +export * from "./CreateIngestConfigurationCommand"; export * from "./CreateParticipantTokenCommand"; export * from "./CreateStageCommand"; export * from "./CreateStorageConfigurationCommand"; export * from "./DeleteEncoderConfigurationCommand"; +export * from "./DeleteIngestConfigurationCommand"; export * from "./DeletePublicKeyCommand"; export * from "./DeleteStageCommand"; export * from "./DeleteStorageConfigurationCommand"; export * from "./DisconnectParticipantCommand"; export * from "./GetCompositionCommand"; export * from "./GetEncoderConfigurationCommand"; +export * from "./GetIngestConfigurationCommand"; export * from "./GetParticipantCommand"; export * from "./GetPublicKeyCommand"; export * from "./GetStageCommand"; @@ -18,6 +21,7 @@ export * from "./GetStorageConfigurationCommand"; export * from "./ImportPublicKeyCommand"; export * from "./ListCompositionsCommand"; export * from "./ListEncoderConfigurationsCommand"; +export * from "./ListIngestConfigurationsCommand"; export * from "./ListParticipantEventsCommand"; export * from "./ListParticipantsCommand"; export * from "./ListPublicKeysCommand"; @@ -29,4 +33,5 @@ export * from "./StartCompositionCommand"; export * from "./StopCompositionCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; +export * from "./UpdateIngestConfigurationCommand"; export * from "./UpdateStageCommand"; diff --git a/clients/client-ivs-realtime/src/index.ts b/clients/client-ivs-realtime/src/index.ts index 4bceace9156e..d29af422ac8d 100644 --- a/clients/client-ivs-realtime/src/index.ts +++ b/clients/client-ivs-realtime/src/index.ts @@ -32,7 +32,7 @@ ** Composition process — Composites participants * of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels). - * Composition endpoints support this process.
+ * Composition operations support this process. *@@ -47,13 +47,13 @@ *
A tag is a metadata label that you assign to an AWS resource. A tag
* comprises a key and a value, both set by you. For
* example, you might set a tag as topic:nature
to label a particular video
- * category. See Tagging AWS Resources for more information, including restrictions that apply to
- * tags and "Tag naming limits and requirements"; Amazon IVS stages has no service-specific
- * constraints beyond what is documented there.
Tags can help you identify and organize your AWS resources. For example, you can use the * same tag for different resources to indicate that they are related. You can also use tags to * manage access (see Access Tags).
- *The Amazon IVS real-time API has these tag-related endpoints: TagResource, UntagResource, and + *
The Amazon IVS real-time API has these tag-related operations: TagResource, UntagResource, and * ListTagsForResource. The following resource supports tagging: Stage.
*At most 50 tags can be applied to a resource.
* diff --git a/clients/client-ivs-realtime/src/models/models_0.ts b/clients/client-ivs-realtime/src/models/models_0.ts index cc31772979a5..e6363f454ab8 100644 --- a/clients/client-ivs-realtime/src/models/models_0.ts +++ b/clients/client-ivs-realtime/src/models/models_0.ts @@ -108,8 +108,8 @@ export interface CreateEncoderConfigurationRequest { /** *Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
+ * (key:value). See Best practices and strategies
+ * in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming
* limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
* there.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
Optional name that can be specified for the IngestConfiguration being created.
+ * @public + */ + name?: string; + + /** + *ARN of the stage with which the IngestConfiguration is associated.
+ * @public + */ + stageArn?: string; + + /** + *Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. + * This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information. + *
+ * @public + */ + userId?: string; + + /** + *Application-provided attributes to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. + * This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information. + *
+ * @public + */ + attributes?: RecordType of ingest protocol that the user employs to broadcast. If this is set to RTMP
, insecureIngest
must be set to true
.
Whether the stage allows insecure RTMP ingest. This must be set to true
, if ingestProtocol
is set to RTMP
. Default: false
.
Tags attached to the resource. Array of maps, each of the form string:string
+ * (key:value)
. See Best practices and strategies
+ * in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming
+ * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
+ * there.
Object specifying an ingest configuration.
+ * @public + */ +export interface IngestConfiguration { + /** + *Ingest name
+ * @public + */ + name?: string; + + /** + *Ingest configuration ARN.
+ * @public + */ + arn: string | undefined; + + /** + *Type of ingest protocol that the user employs for broadcasting.
+ * @public + */ + ingestProtocol: IngestProtocol | undefined; + + /** + *Ingest-key value for the RTMP(S) protocol.
+ * @public + */ + streamKey: string | undefined; + + /** + *ARN of the stage with which the IngestConfiguration is associated.
+ * @public + */ + stageArn: string | undefined; + + /** + *ID of the participant within the stage.
+ * @public + */ + participantId: string | undefined; + + /** + *State of the ingest configuration. It is ACTIVE
if a publisher currently is publishing to the stage associated with the ingest configuration.
Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. + * This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information. + *
+ * @public + */ + userId?: string; + + /** + *Application-provided attributes to to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. + * This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information. + *
+ * @public + */ + attributes?: RecordTags attached to the resource. Array of maps, each of the form string:string
+ * (key:value)
. See Best practices and strategies
+ * in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming
+ * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented there.
The IngestConfiguration that was created.
+ * @public + */ + ingestConfiguration?: IngestConfiguration; +} + /** * @public * @enum @@ -511,8 +677,8 @@ export interface CreateStageRequest { /** *Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
+ * (key:value). See Best practices and strategies
+ * in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming
* limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
* there.
Summary information about various endpoints for a stage.
+ *Summary information about various endpoints for a stage. We recommend that you cache these values at stage + * creation; the values can be cached for up to 14 days.
* @public */ export interface StageEndpoints { @@ -538,10 +705,22 @@ export interface StageEndpoints { events?: string; /** - *WHIP endpoint.
+ *The endpoint to be used for IVS real-time streaming using the WHIP protocol.
* @public */ whip?: string; + + /** + *The endpoint to be used for IVS real-time streaming using the RTMP protocol.
+ * @public + */ + rtmp?: string; + + /** + *The endpoint to be used for IVS real-time streaming using the RTMPS protocol.
+ * @public + */ + rtmps?: string; } /** @@ -569,10 +748,9 @@ export interface Stage { /** *Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
+ * (key:value). See Best practices and strategies
+ * in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming
* limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
* there.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
ARN of the IngestConfiguration.
+ * @public + */ + arn: string | undefined; + + /** + *Optional field to force deletion of the IngestConfiguration. If this is set to true
when a participant is actively publishing, the participant is disconnected from the stage, followed by deletion of the IngestConfiguration. Default: false
.
Identifier of the participant to be disconnected. This is assigned by IVS and returned - * by CreateParticipantToken.
+ *Identifier of the participant to be disconnected. IVS assigns this; it is returned + * by CreateParticipantToken (for streams using WebRTC ingest) or CreateIngestConfiguration (for + * streams using RTMP ingest).
* @public */ participantId: string | undefined; @@ -1237,10 +1437,9 @@ export interface Composition { /** *Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
ARN of the ingest for which the information is to be retrieved.
+ * @public + */ + arn: string | undefined; +} + +/** + * @public + */ +export interface GetIngestConfigurationResponse { + /** + *The IngestConfiguration that was returned.
+ * @public + */ + ingestConfiguration?: IngestConfiguration; +} + /** * @public */ @@ -1316,6 +1537,22 @@ export interface GetParticipantRequest { participantId: string | undefined; } +/** + * @public + * @enum + */ +export const ParticipantProtocol = { + RTMP: "RTMP", + RTMPS: "RTMPS", + UNKNOWN: "UNKNOWN", + WHIP: "WHIP", +} as const; + +/** + * @public + */ +export type ParticipantProtocol = (typeof ParticipantProtocol)[keyof typeof ParticipantProtocol]; + /** * @public * @enum @@ -1449,6 +1686,12 @@ export interface Participant { * @public */ recordingState?: ParticipantRecordingState; + + /** + *Type of ingest protocol that the participant employs for broadcasting.
+ * @public + */ + protocol?: ParticipantProtocol; } /** @@ -1504,10 +1747,9 @@ export interface PublicKey { /** *Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
+ * (key:value). See Best practices and strategies
+ * in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming
* limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
* there.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
Filters the response list to match the specified stage ARN. Only one filter (by stage ARN or by state) can be used at a time.
+ * @public + */ + filterByStageArn?: string; + + /** + *Filters the response list to match the specified state. Only one filter (by stage ARN or by state) can be used at a time.
+ * @public + */ + filterByState?: IngestConfigurationState; + + /** + *The first IngestConfiguration to retrieve. This is used for pagination; see the nextToken
response field.
Maximum number of results to return. Default: 50.
+ * @public + */ + maxResults?: number; +} + +/** + *Summary information about an IngestConfiguration.
+ * @public + */ +export interface IngestConfigurationSummary { + /** + *Ingest name.
+ * @public + */ + name?: string; + + /** + *Ingest configuration ARN.
+ * @public + */ + arn: string | undefined; + + /** + *Type of ingest protocol that the user employs for broadcasting.
+ * @public + */ + ingestProtocol: IngestProtocol | undefined; + + /** + *ARN of the stage with which the IngestConfiguration is associated.
+ * @public + */ + stageArn: string | undefined; + + /** + *ID of the participant within the stage.
+ * @public + */ + participantId: string | undefined; + + /** + *State of the ingest configuration. It is ACTIVE
if a publisher currently is publishing to the stage associated with the ingest configuration.
Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. + * This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information. + *
+ * @public + */ + userId?: string; +} + +/** + * @public + */ +export interface ListIngestConfigurationsResponse { + /** + *List of the matching ingest configurations (summary information only).
+ * @public + */ + ingestConfigurations: IngestConfigurationSummary[] | undefined; + + /** + *If there are more IngestConfigurations than maxResults
, use nextToken
in the request to get the next set.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
- * there.
Tags attached to the resource. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
+ * (key:value). See Best practices and strategies
+ * in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming
* limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
* there.
Array of tags to be added or updated. Array of maps, each of the form
- * string:string (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints beyond what is documented
+ * string:string (key:value)
. See Best practices and strategies
+ * in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming
+ * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
* there.
Array of tags to be removed. Array of maps, each of the form string:string
- * (key:value)
. See Tagging AWS
- * Resources for details, including restrictions that apply to tags and "Tag naming
- * limits and requirements"; Amazon IVS has no constraints beyond what is documented
+ * (key:value). See Best practices and strategies
+ * in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming
+ * limits and requirements"; Amazon IVS has no constraints on tags beyond what is documented
* there.
ARN of the IngestConfiguration, for which the related stage ARN needs to be updated.
+ * @public + */ + arn: string | undefined; + + /** + *Stage ARN that needs to be updated.
+ * @public + */ + stageArn?: string; +} + +/** + * @public + */ +export interface UpdateIngestConfigurationResponse { + /** + *The updated IngestConfiguration.
+ * @public + */ + ingestConfiguration?: IngestConfiguration; +} + /** * @public */ @@ -2589,6 +2958,24 @@ export interface UpdateStageResponse { stage?: Stage; } +/** + * @internal + */ +export const IngestConfigurationFilterSensitiveLog = (obj: IngestConfiguration): any => ({ + ...obj, + ...(obj.streamKey && { streamKey: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const CreateIngestConfigurationResponseFilterSensitiveLog = (obj: CreateIngestConfigurationResponse): any => ({ + ...obj, + ...(obj.ingestConfiguration && { + ingestConfiguration: IngestConfigurationFilterSensitiveLog(obj.ingestConfiguration), + }), +}); + /** * @internal */ @@ -2614,3 +3001,23 @@ export const CreateStageResponseFilterSensitiveLog = (obj: CreateStageResponse): participantTokens: obj.participantTokens.map((item) => ParticipantTokenFilterSensitiveLog(item)), }), }); + +/** + * @internal + */ +export const GetIngestConfigurationResponseFilterSensitiveLog = (obj: GetIngestConfigurationResponse): any => ({ + ...obj, + ...(obj.ingestConfiguration && { + ingestConfiguration: IngestConfigurationFilterSensitiveLog(obj.ingestConfiguration), + }), +}); + +/** + * @internal + */ +export const UpdateIngestConfigurationResponseFilterSensitiveLog = (obj: UpdateIngestConfigurationResponse): any => ({ + ...obj, + ...(obj.ingestConfiguration && { + ingestConfiguration: IngestConfigurationFilterSensitiveLog(obj.ingestConfiguration), + }), +}); diff --git a/clients/client-ivs-realtime/src/pagination/ListIngestConfigurationsPaginator.ts b/clients/client-ivs-realtime/src/pagination/ListIngestConfigurationsPaginator.ts new file mode 100644 index 000000000000..504151eeaded --- /dev/null +++ b/clients/client-ivs-realtime/src/pagination/ListIngestConfigurationsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListIngestConfigurationsCommand, + ListIngestConfigurationsCommandInput, + ListIngestConfigurationsCommandOutput, +} from "../commands/ListIngestConfigurationsCommand"; +import { IVSRealTimeClient } from "../IVSRealTimeClient"; +import { IVSRealTimePaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListIngestConfigurations: ( + config: IVSRealTimePaginationConfiguration, + input: ListIngestConfigurationsCommandInput, + ...rest: any[] +) => PaginatorThe Amazon Interactive Video Service (IVS) real-time API is REST compatible, using a standard HTTP \n\t API and an AWS EventBridge event stream for responses. JSON is used for both requests and responses, \n\t including errors.\n
\n\n Key Concepts\n
\n\n Stage — A virtual space where participants can exchange video in real time.
\n\n Participant token — A token that authenticates a participant when they join a stage.
\n\n Participant object — Represents participants (people) in the stage and\n contains information about them. When a token is created, it includes a participant ID;\n when a participant uses that token to join a stage, the participant is associated with\n that participant ID. There is a 1:1 mapping between participant tokens and\n participants.
\nFor server-side composition:
\n\n Composition process — Composites participants\n of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels).\n Composition endpoints support this process.
\n\n Composition — Controls the look of the outputs,\n including how participants are positioned in the video.
\nFor more information about your IVS live stream, also see Getting Started with Amazon IVS Real-Time Streaming.
\n\n Tagging\n
\nA tag is a metadata label that you assign to an AWS resource. A tag\n comprises a key and a value, both set by you. For\n example, you might set a tag as topic:nature
to label a particular video\n category. See Tagging AWS Resources for more information, including restrictions that apply to\n tags and \"Tag naming limits and requirements\"; Amazon IVS stages has no service-specific\n constraints beyond what is documented there.
Tags can help you identify and organize your AWS resources. For example, you can use the\n same tag for different resources to indicate that they are related. You can also use tags to\n manage access (see Access Tags).
\nThe Amazon IVS real-time API has these tag-related endpoints: TagResource, UntagResource, and\n ListTagsForResource. The following resource supports tagging: Stage.
\nAt most 50 tags can be applied to a resource.
", + "smithy.api#documentation": "The Amazon Interactive Video Service (IVS) real-time API is REST compatible, using a standard HTTP \n\t API and an AWS EventBridge event stream for responses. JSON is used for both requests and responses, \n\t including errors.\n
\n\n Key Concepts\n
\n\n Stage — A virtual space where participants can exchange video in real time.
\n\n Participant token — A token that authenticates a participant when they join a stage.
\n\n Participant object — Represents participants (people) in the stage and\n contains information about them. When a token is created, it includes a participant ID;\n when a participant uses that token to join a stage, the participant is associated with\n that participant ID. There is a 1:1 mapping between participant tokens and\n participants.
\nFor server-side composition:
\n\n Composition process — Composites participants\n of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels).\n Composition operations support this process.
\n\n Composition — Controls the look of the outputs,\n including how participants are positioned in the video.
\nFor more information about your IVS live stream, also see Getting Started with Amazon IVS Real-Time Streaming.
\n\n Tagging\n
\nA tag is a metadata label that you assign to an AWS resource. A tag\n comprises a key and a value, both set by you. For\n example, you might set a tag as topic:nature
to label a particular video\n category. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS stages has no service-specific constraints beyond what is documented there.
Tags can help you identify and organize your AWS resources. For example, you can use the\n same tag for different resources to indicate that they are related. You can also use tags to\n manage access (see Access Tags).
\nThe Amazon IVS real-time API has these tag-related operations: TagResource, UntagResource, and\n ListTagsForResource. The following resource supports tagging: Stage.
\nAt most 50 tags can be applied to a resource.
", "smithy.api#title": "Amazon Interactive Video Service RealTime", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -864,6 +879,12 @@ } } }, + "com.amazonaws.ivsrealtime#Boolean": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, "com.amazonaws.ivsrealtime#ChannelArn": { "type": "string", "traits": { @@ -936,7 +957,7 @@ "tags": { "target": "com.amazonaws.ivsrealtime#Tags", "traits": { - "smithy.api#documentation": "Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage.
", + "smithy.api#http": { + "method": "POST", + "uri": "/CreateIngestConfiguration" + } + } + }, + "com.amazonaws.ivsrealtime#CreateIngestConfigurationRequest": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationName", + "traits": { + "smithy.api#documentation": "Optional name that can be specified for the IngestConfiguration being created.
" + } + }, + "stageArn": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationStageArn", + "traits": { + "smithy.api#documentation": "ARN of the stage with which the IngestConfiguration is associated.
" + } + }, + "userId": { + "target": "com.amazonaws.ivsrealtime#UserId", + "traits": { + "smithy.api#documentation": "Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text.\n This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.\n
" + } + }, + "attributes": { + "target": "com.amazonaws.ivsrealtime#ParticipantAttributes", + "traits": { + "smithy.api#documentation": "Application-provided attributes to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total.\n This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.\n
" + } + }, + "ingestProtocol": { + "target": "com.amazonaws.ivsrealtime#IngestProtocol", + "traits": { + "smithy.api#documentation": "Type of ingest protocol that the user employs to broadcast. If this is set to RTMP
, insecureIngest
must be set to true
.
Whether the stage allows insecure RTMP ingest. This must be set to true
, if ingestProtocol
is set to RTMP
. Default: false
.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n\t there.
The IngestConfiguration that was created.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ivsrealtime#CreateParticipantToken": { "type": "operation", "input": { @@ -1286,7 +1403,7 @@ "tags": { "target": "com.amazonaws.ivsrealtime#Tags", "traits": { - "smithy.api#documentation": "Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n\t in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. An IngestConfiguration cannot be deleted if the publisher is actively streaming to a stage, unless force
is set to true
.
ARN of the IngestConfiguration.
", + "smithy.api#required": {} + } + }, + "force": { + "target": "com.amazonaws.ivsrealtime#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "Optional field to force deletion of the IngestConfiguration. If this is set to true
when a participant is actively publishing, the participant is disconnected from the stage, followed by deletion of the IngestConfiguration. Default: false
.
Shuts down and deletes the specified stage (disconnecting all participants).
", + "smithy.api#documentation": "Shuts down and deletes the specified stage (disconnecting all participants). This operation also\n removes the stageArn
from the associated IngestConfiguration, if there are participants\n\t using the IngestConfiguration to publish to the stage.
Disconnects a specified participant and revokes the participant permanently from a\n specified stage.
", + "smithy.api#documentation": "Disconnects a specified participant from a specified stage. If the participant is publishing using\n an IngestConfiguration, DisconnectParticipant also updates the stageArn
\n\t in the IngestConfiguration to be an empty string.
Identifier of the participant to be disconnected. This is assigned by IVS and returned\n by CreateParticipantToken.
", + "smithy.api#documentation": "Identifier of the participant to be disconnected. IVS assigns this; it is returned\n by CreateParticipantToken (for streams using WebRTC ingest) or CreateIngestConfiguration (for\n\t streams using RTMP ingest).
", "smithy.api#required": {} } }, @@ -1908,7 +2087,7 @@ "tags": { "target": "com.amazonaws.ivsrealtime#Tags", "traits": { - "smithy.api#documentation": "Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Gets information about the specified IngestConfiguration.
", + "smithy.api#http": { + "method": "POST", + "uri": "/GetIngestConfiguration" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.ivsrealtime#GetIngestConfigurationRequest": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationArn", + "traits": { + "smithy.api#documentation": "ARN of the ingest for which the information is to be retrieved.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ivsrealtime#GetIngestConfigurationResponse": { + "type": "structure", + "members": { + "ingestConfiguration": { + "target": "com.amazonaws.ivsrealtime#IngestConfiguration", + "traits": { + "smithy.api#documentation": "The IngestConfiguration that was returned.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ivsrealtime#GetParticipant": { "type": "operation", "input": { @@ -2648,7 +2936,7 @@ "tags": { "target": "com.amazonaws.ivsrealtime#Tags", "traits": { - "smithy.api#documentation": "Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Unexpected error during processing of request.
" + "smithy.api#documentation": "Ingest name
" } - } - }, - "traits": { - "smithy.api#documentation": "", - "smithy.api#error": "server", - "smithy.api#httpError": 500 - } - }, - "com.amazonaws.ivsrealtime#LayoutConfiguration": { - "type": "structure", - "members": { - "grid": { - "target": "com.amazonaws.ivsrealtime#GridConfiguration", - "traits": { + }, + "arn": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationArn", + "traits": { + "smithy.api#documentation": "Ingest configuration ARN.
", + "smithy.api#required": {} + } + }, + "ingestProtocol": { + "target": "com.amazonaws.ivsrealtime#IngestProtocol", + "traits": { + "smithy.api#documentation": "Type of ingest protocol that the user employs for broadcasting.
", + "smithy.api#required": {} + } + }, + "streamKey": { + "target": "com.amazonaws.ivsrealtime#StreamKey", + "traits": { + "smithy.api#documentation": "Ingest-key value for the RTMP(S) protocol.
", + "smithy.api#required": {} + } + }, + "stageArn": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationStageArn", + "traits": { + "smithy.api#documentation": "ARN of the stage with which the IngestConfiguration is associated.
", + "smithy.api#required": {} + } + }, + "participantId": { + "target": "com.amazonaws.ivsrealtime#ParticipantId", + "traits": { + "smithy.api#documentation": "ID of the participant within the stage.
", + "smithy.api#required": {} + } + }, + "state": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationState", + "traits": { + "smithy.api#documentation": "State of the ingest configuration. It is ACTIVE
if a publisher currently is publishing to the stage associated with the ingest configuration.
Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text.\n This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.\n
" + } + }, + "attributes": { + "target": "com.amazonaws.ivsrealtime#ParticipantAttributes", + "traits": { + "smithy.api#documentation": "Application-provided attributes to to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total.\n This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.\n
" + } + }, + "tags": { + "target": "com.amazonaws.ivsrealtime#Tags", + "traits": { + "smithy.api#documentation": "Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Object specifying an ingest configuration.
" + } + }, + "com.amazonaws.ivsrealtime#IngestConfigurationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:ingest-configuration/[a-zA-Z0-9-]+$" + } + }, + "com.amazonaws.ivsrealtime#IngestConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationSummary" + } + }, + "com.amazonaws.ivsrealtime#IngestConfigurationName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-_]*$" + } + }, + "com.amazonaws.ivsrealtime#IngestConfigurationStageArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + }, + "smithy.api#pattern": "^^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:stage/[a-zA-Z0-9-]+$$" + } + }, + "com.amazonaws.ivsrealtime#IngestConfigurationState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "INACTIVE", + "name": "INACTIVE" + } + ] + } + }, + "com.amazonaws.ivsrealtime#IngestConfigurationSummary": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationName", + "traits": { + "smithy.api#documentation": "Ingest name.
" + } + }, + "arn": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationArn", + "traits": { + "smithy.api#documentation": "Ingest configuration ARN.
", + "smithy.api#required": {} + } + }, + "ingestProtocol": { + "target": "com.amazonaws.ivsrealtime#IngestProtocol", + "traits": { + "smithy.api#documentation": "Type of ingest protocol that the user employs for broadcasting.
", + "smithy.api#required": {} + } + }, + "stageArn": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationStageArn", + "traits": { + "smithy.api#documentation": "ARN of the stage with which the IngestConfiguration is associated.
", + "smithy.api#required": {} + } + }, + "participantId": { + "target": "com.amazonaws.ivsrealtime#ParticipantId", + "traits": { + "smithy.api#documentation": "ID of the participant within the stage.
", + "smithy.api#required": {} + } + }, + "state": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationState", + "traits": { + "smithy.api#documentation": "State of the ingest configuration. It is ACTIVE
if a publisher currently is publishing to the stage associated with the ingest configuration.
Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text.\n This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "Summary information about an IngestConfiguration.
" + } + }, + "com.amazonaws.ivsrealtime#IngestProtocol": { + "type": "enum", + "members": { + "RTMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RTMP" + } + }, + "RTMPS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RTMPS" + } + } + } + }, + "com.amazonaws.ivsrealtime#InsecureIngest": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.ivsrealtime#InternalServerException": { + "type": "structure", + "members": { + "exceptionMessage": { + "target": "com.amazonaws.ivsrealtime#errorMessage", + "traits": { + "smithy.api#documentation": "Unexpected error during processing of request.
" + } + } + }, + "traits": { + "smithy.api#documentation": "", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.ivsrealtime#LayoutConfiguration": { + "type": "structure", + "members": { + "grid": { + "target": "com.amazonaws.ivsrealtime#GridConfiguration", + "traits": { "smithy.api#documentation": "Configuration related to grid layout. Default: Grid layout.
" } }, @@ -2878,6 +3369,90 @@ "smithy.api#output": {} } }, + "com.amazonaws.ivsrealtime#ListIngestConfigurations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ivsrealtime#ListIngestConfigurationsRequest" + }, + "output": { + "target": "com.amazonaws.ivsrealtime#ListIngestConfigurationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ivsrealtime#AccessDeniedException" + }, + { + "target": "com.amazonaws.ivsrealtime#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Lists all IngestConfigurations in your account, in the AWS region where the API request is processed.
", + "smithy.api#http": { + "method": "POST", + "uri": "/ListIngestConfigurations" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "ingestConfigurations" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.ivsrealtime#ListIngestConfigurationsRequest": { + "type": "structure", + "members": { + "filterByStageArn": { + "target": "com.amazonaws.ivsrealtime#StageArn", + "traits": { + "smithy.api#documentation": "Filters the response list to match the specified stage ARN. Only one filter (by stage ARN or by state) can be used at a time.
" + } + }, + "filterByState": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationState", + "traits": { + "smithy.api#documentation": "Filters the response list to match the specified state. Only one filter (by stage ARN or by state) can be used at a time.
" + } + }, + "nextToken": { + "target": "com.amazonaws.ivsrealtime#PaginationToken", + "traits": { + "smithy.api#documentation": "The first IngestConfiguration to retrieve. This is used for pagination; see the nextToken
response field.
Maximum number of results to return. Default: 50.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ivsrealtime#ListIngestConfigurationsResponse": { + "type": "structure", + "members": { + "ingestConfigurations": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationList", + "traits": { + "smithy.api#documentation": "List of the matching ingest configurations (summary information only).
", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.ivsrealtime#PaginationToken", + "traits": { + "smithy.api#documentation": "If there are more IngestConfigurations than maxResults
, use nextToken
in the request to get the next set.
The participant’s recording state.
" } + }, + "protocol": { + "target": "com.amazonaws.ivsrealtime#ParticipantProtocol", + "traits": { + "smithy.api#documentation": "Type of ingest protocol that the participant employs for broadcasting.
" + } } }, "traits": { @@ -3653,6 +4243,35 @@ "target": "com.amazonaws.ivsrealtime#ParticipantSummary" } }, + "com.amazonaws.ivsrealtime#ParticipantProtocol": { + "type": "enum", + "members": { + "UNKNOWN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNKNOWN" + } + }, + "WHIP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WHIP" + } + }, + "RTMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RTMP" + } + }, + "RTMPS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RTMPS" + } + } + } + }, "com.amazonaws.ivsrealtime#ParticipantRecordingFilterByRecordingState": { "type": "string", "traits": { @@ -4175,7 +4794,7 @@ "tags": { "target": "com.amazonaws.ivsrealtime#Tags", "traits": { - "smithy.api#documentation": "Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
WHIP endpoint.
" + "smithy.api#documentation": "The endpoint to be used for IVS real-time streaming using the WHIP protocol.
" + } + }, + "rtmp": { + "target": "com.amazonaws.ivsrealtime#StageEndpoint", + "traits": { + "smithy.api#documentation": "The endpoint to be used for IVS real-time streaming using the RTMP protocol.
" + } + }, + "rtmps": { + "target": "com.amazonaws.ivsrealtime#StageEndpoint", + "traits": { + "smithy.api#documentation": "The endpoint to be used for IVS real-time streaming using the RTMPS protocol.
" } } }, "traits": { - "smithy.api#documentation": "Summary information about various endpoints for a stage.
" + "smithy.api#documentation": "Summary information about various endpoints for a stage. We recommend that you cache these values at stage\n creation; the values can be cached for up to 14 days.
" } }, "com.amazonaws.ivsrealtime#StageName": { @@ -4572,7 +5203,7 @@ "tags": { "target": "com.amazonaws.ivsrealtime#Tags", "traits": { - "smithy.api#documentation": "Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Starts a Composition from a stage based on the configuration provided in the\n request.
\nA Composition is an ephemeral resource that exists after this endpoint returns\n successfully. Composition stops and the resource is deleted:
\nWhen StopComposition is called.
\nAfter a 1-minute timeout, when all participants are disconnected from the\n stage.
\nAfter a 1-minute timeout, if there are no participants in the stage when\n StartComposition is called.
\nWhen broadcasting to the IVS channel fails and all retries are exhausted.
\nWhen broadcasting is disconnected and all attempts to reconnect are\n exhausted.
\nStarts a Composition from a stage based on the configuration provided in the\n request.
\nA Composition is an ephemeral resource that exists after this operation returns\n successfully. Composition stops and the resource is deleted:
\nWhen StopComposition is called.
\nAfter a 1-minute timeout, when all participants are disconnected from the\n stage.
\nAfter a 1-minute timeout, if there are no participants in the stage when\n StartComposition is called.
\nWhen broadcasting to the IVS channel fails and all retries are exhausted.
\nWhen broadcasting is disconnected and all attempts to reconnect are\n exhausted.
\nTags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Tags attached to the resource. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n\t limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.
Array of tags to be added or updated. Array of maps, each of the form\n string:string (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints beyond what is documented\n there.
Array of tags to be added or updated. Array of maps, each of the form\n string:string (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Array of tags to be removed. Array of maps, each of the form string:string\n (key:value)
. See Tagging AWS\n Resources for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints beyond what is documented\n there.
Array of tags to be removed. Array of maps, each of the form string:string\n (key:value)
. See Best practices and strategies\n in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming\n limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented\n there.
Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated.
", + "smithy.api#http": { + "method": "POST", + "uri": "/UpdateIngestConfiguration" + } + } + }, + "com.amazonaws.ivsrealtime#UpdateIngestConfigurationRequest": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationArn", + "traits": { + "smithy.api#documentation": "ARN of the IngestConfiguration, for which the related stage ARN needs to be updated.
", + "smithy.api#required": {} + } + }, + "stageArn": { + "target": "com.amazonaws.ivsrealtime#IngestConfigurationStageArn", + "traits": { + "smithy.api#documentation": "Stage ARN that needs to be updated.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ivsrealtime#UpdateIngestConfigurationResponse": { + "type": "structure", + "members": { + "ingestConfiguration": { + "target": "com.amazonaws.ivsrealtime#IngestConfiguration", + "traits": { + "smithy.api#documentation": "The updated IngestConfiguration.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ivsrealtime#UpdateStage": { "type": "operation", "input": {