Skip to content

Commit

Permalink
feat(client-ivs-realtime): IVS Real-Time now offers customers the abi…
Browse files Browse the repository at this point in the history
…lity to broadcast to Stages using RTMP(S).
  • Loading branch information
awstools committed Sep 9, 2024
1 parent 833a3c3 commit 55553d6
Show file tree
Hide file tree
Showing 23 changed files with 2,281 additions and 142 deletions.
50 changes: 45 additions & 5 deletions clients/client-ivs-realtime/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ participants.</p>
<p>
<b>Composition process</b> — 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.</p>
Composition operations support this process.</p>
</li>
<li>
<p>
Expand All @@ -52,13 +52,13 @@ including how participants are positioned in the video.</p>
<p>A <i>tag</i> is a metadata label that you assign to an AWS resource. A tag
comprises a <i>key</i> and a <i>value</i>, both set by you. For
example, you might set a tag as <code>topic:nature</code> to label a particular video
category. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging AWS Resources</a> 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.</p>
category. See <a href="https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html">Best practices and strategies</a>
in <i>Tagging AWS Resources and Tag Editor</i> for details, 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.</p>
<p>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 <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html">Access Tags</a>).</p>
<p>The Amazon IVS real-time API has these tag-related endpoints: <a>TagResource</a>, <a>UntagResource</a>, and
<p>The Amazon IVS real-time API has these tag-related operations: <a>TagResource</a>, <a>UntagResource</a>, and
<a>ListTagsForResource</a>. The following resource supports tagging: Stage.</p>
<p>At most 50 tags can be applied to a resource.</p>

Expand Down Expand Up @@ -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/)

</details>
<details>
<summary>
CreateIngestConfiguration
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/CreateIngestConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/CreateIngestConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/CreateIngestConfigurationCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -296,6 +304,14 @@ DeleteEncoderConfiguration

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/DeleteEncoderConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/DeleteEncoderConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/DeleteEncoderConfigurationCommandOutput/)

</details>
<details>
<summary>
DeleteIngestConfiguration
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/DeleteIngestConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/DeleteIngestConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/DeleteIngestConfigurationCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -344,6 +360,14 @@ GetEncoderConfiguration

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/GetEncoderConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/GetEncoderConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/GetEncoderConfigurationCommandOutput/)

</details>
<details>
<summary>
GetIngestConfiguration
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/GetIngestConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/GetIngestConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/GetIngestConfigurationCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -408,6 +432,14 @@ ListEncoderConfigurations

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/ListEncoderConfigurationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/ListEncoderConfigurationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/ListEncoderConfigurationsCommandOutput/)

</details>
<details>
<summary>
ListIngestConfigurations
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/ListIngestConfigurationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/ListIngestConfigurationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/ListIngestConfigurationsCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -496,6 +528,14 @@ UntagResource

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/UntagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/UntagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/UntagResourceCommandOutput/)

</details>
<details>
<summary>
UpdateIngestConfiguration
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs-realtime/command/UpdateIngestConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/UpdateIngestConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs-realtime/Interface/UpdateIngestConfigurationCommandOutput/)

</details>
<details>
<summary>
Expand Down
126 changes: 121 additions & 5 deletions clients/client-ivs-realtime/src/IVSRealTime.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ import {
CreateEncoderConfigurationCommandInput,
CreateEncoderConfigurationCommandOutput,
} from "./commands/CreateEncoderConfigurationCommand";
import {
CreateIngestConfigurationCommand,
CreateIngestConfigurationCommandInput,
CreateIngestConfigurationCommandOutput,
} from "./commands/CreateIngestConfigurationCommand";
import {
CreateParticipantTokenCommand,
CreateParticipantTokenCommandInput,
Expand All @@ -23,6 +28,11 @@ import {
DeleteEncoderConfigurationCommandInput,
DeleteEncoderConfigurationCommandOutput,
} from "./commands/DeleteEncoderConfigurationCommand";
import {
DeleteIngestConfigurationCommand,
DeleteIngestConfigurationCommandInput,
DeleteIngestConfigurationCommandOutput,
} from "./commands/DeleteIngestConfigurationCommand";
import {
DeletePublicKeyCommand,
DeletePublicKeyCommandInput,
Expand All @@ -49,6 +59,11 @@ import {
GetEncoderConfigurationCommandInput,
GetEncoderConfigurationCommandOutput,
} from "./commands/GetEncoderConfigurationCommand";
import {
GetIngestConfigurationCommand,
GetIngestConfigurationCommandInput,
GetIngestConfigurationCommandOutput,
} from "./commands/GetIngestConfigurationCommand";
import {
GetParticipantCommand,
GetParticipantCommandInput,
Expand Down Expand Up @@ -85,6 +100,11 @@ import {
ListEncoderConfigurationsCommandInput,
ListEncoderConfigurationsCommandOutput,
} from "./commands/ListEncoderConfigurationsCommand";
import {
ListIngestConfigurationsCommand,
ListIngestConfigurationsCommandInput,
ListIngestConfigurationsCommandOutput,
} from "./commands/ListIngestConfigurationsCommand";
import {
ListParticipantEventsCommand,
ListParticipantEventsCommandInput,
Expand Down Expand Up @@ -132,21 +152,29 @@ import {
UntagResourceCommandInput,
UntagResourceCommandOutput,
} from "./commands/UntagResourceCommand";
import {
UpdateIngestConfigurationCommand,
UpdateIngestConfigurationCommandInput,
UpdateIngestConfigurationCommandOutput,
} from "./commands/UpdateIngestConfigurationCommand";
import { UpdateStageCommand, UpdateStageCommandInput, UpdateStageCommandOutput } from "./commands/UpdateStageCommand";
import { IVSRealTimeClient, IVSRealTimeClientConfig } from "./IVSRealTimeClient";

const commands = {
CreateEncoderConfigurationCommand,
CreateIngestConfigurationCommand,
CreateParticipantTokenCommand,
CreateStageCommand,
CreateStorageConfigurationCommand,
DeleteEncoderConfigurationCommand,
DeleteIngestConfigurationCommand,
DeletePublicKeyCommand,
DeleteStageCommand,
DeleteStorageConfigurationCommand,
DisconnectParticipantCommand,
GetCompositionCommand,
GetEncoderConfigurationCommand,
GetIngestConfigurationCommand,
GetParticipantCommand,
GetPublicKeyCommand,
GetStageCommand,
Expand All @@ -155,6 +183,7 @@ const commands = {
ImportPublicKeyCommand,
ListCompositionsCommand,
ListEncoderConfigurationsCommand,
ListIngestConfigurationsCommand,
ListParticipantEventsCommand,
ListParticipantsCommand,
ListPublicKeysCommand,
Expand All @@ -166,6 +195,7 @@ const commands = {
StopCompositionCommand,
TagResourceCommand,
UntagResourceCommand,
UpdateIngestConfigurationCommand,
UpdateStageCommand,
};

Expand All @@ -188,6 +218,23 @@ export interface IVSRealTime {
cb: (err: any, data?: CreateEncoderConfigurationCommandOutput) => void
): void;

/**
* @see {@link CreateIngestConfigurationCommand}
*/
createIngestConfiguration(
args: CreateIngestConfigurationCommandInput,
options?: __HttpHandlerOptions
): Promise<CreateIngestConfigurationCommandOutput>;
createIngestConfiguration(
args: CreateIngestConfigurationCommandInput,
cb: (err: any, data?: CreateIngestConfigurationCommandOutput) => void
): void;
createIngestConfiguration(
args: CreateIngestConfigurationCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: CreateIngestConfigurationCommandOutput) => void
): void;

/**
* @see {@link CreateParticipantTokenCommand}
*/
Expand Down Expand Up @@ -251,6 +298,23 @@ export interface IVSRealTime {
cb: (err: any, data?: DeleteEncoderConfigurationCommandOutput) => void
): void;

/**
* @see {@link DeleteIngestConfigurationCommand}
*/
deleteIngestConfiguration(
args: DeleteIngestConfigurationCommandInput,
options?: __HttpHandlerOptions
): Promise<DeleteIngestConfigurationCommandOutput>;
deleteIngestConfiguration(
args: DeleteIngestConfigurationCommandInput,
cb: (err: any, data?: DeleteIngestConfigurationCommandOutput) => void
): void;
deleteIngestConfiguration(
args: DeleteIngestConfigurationCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: DeleteIngestConfigurationCommandOutput) => void
): void;

/**
* @see {@link DeletePublicKeyCommand}
*/
Expand Down Expand Up @@ -341,6 +405,23 @@ export interface IVSRealTime {
cb: (err: any, data?: GetEncoderConfigurationCommandOutput) => void
): void;

/**
* @see {@link GetIngestConfigurationCommand}
*/
getIngestConfiguration(
args: GetIngestConfigurationCommandInput,
options?: __HttpHandlerOptions
): Promise<GetIngestConfigurationCommandOutput>;
getIngestConfiguration(
args: GetIngestConfigurationCommandInput,
cb: (err: any, data?: GetIngestConfigurationCommandOutput) => void
): void;
getIngestConfiguration(
args: GetIngestConfigurationCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: GetIngestConfigurationCommandOutput) => void
): void;

/**
* @see {@link GetParticipantCommand}
*/
Expand Down Expand Up @@ -458,6 +539,24 @@ export interface IVSRealTime {
cb: (err: any, data?: ListEncoderConfigurationsCommandOutput) => void
): void;

/**
* @see {@link ListIngestConfigurationsCommand}
*/
listIngestConfigurations(): Promise<ListIngestConfigurationsCommandOutput>;
listIngestConfigurations(
args: ListIngestConfigurationsCommandInput,
options?: __HttpHandlerOptions
): Promise<ListIngestConfigurationsCommandOutput>;
listIngestConfigurations(
args: ListIngestConfigurationsCommandInput,
cb: (err: any, data?: ListIngestConfigurationsCommandOutput) => void
): void;
listIngestConfigurations(
args: ListIngestConfigurationsCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: ListIngestConfigurationsCommandOutput) => void
): void;

/**
* @see {@link ListParticipantEventsCommand}
*/
Expand Down Expand Up @@ -624,6 +723,23 @@ export interface IVSRealTime {
cb: (err: any, data?: UntagResourceCommandOutput) => void
): void;

/**
* @see {@link UpdateIngestConfigurationCommand}
*/
updateIngestConfiguration(
args: UpdateIngestConfigurationCommandInput,
options?: __HttpHandlerOptions
): Promise<UpdateIngestConfigurationCommandOutput>;
updateIngestConfiguration(
args: UpdateIngestConfigurationCommandInput,
cb: (err: any, data?: UpdateIngestConfigurationCommandOutput) => void
): void;
updateIngestConfiguration(
args: UpdateIngestConfigurationCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: UpdateIngestConfigurationCommandOutput) => void
): void;

/**
* @see {@link UpdateStageCommand}
*/
Expand Down Expand Up @@ -668,7 +784,7 @@ export interface IVSRealTime {
* <p>
* <b>Composition process</b> — 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.</p>
* Composition operations support this process.</p>
* </li>
* <li>
* <p>
Expand All @@ -683,13 +799,13 @@ export interface IVSRealTime {
* <p>A <i>tag</i> is a metadata label that you assign to an AWS resource. A tag
* comprises a <i>key</i> and a <i>value</i>, both set by you. For
* example, you might set a tag as <code>topic:nature</code> to label a particular video
* category. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging AWS Resources</a> 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.</p>
* category. See <a href="https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html">Best practices and strategies</a>
* in <i>Tagging AWS Resources and Tag Editor</i> for details, 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.</p>
* <p>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 <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html">Access Tags</a>).</p>
* <p>The Amazon IVS real-time API has these tag-related endpoints: <a>TagResource</a>, <a>UntagResource</a>, and
* <p>The Amazon IVS real-time API has these tag-related operations: <a>TagResource</a>, <a>UntagResource</a>, and
* <a>ListTagsForResource</a>. The following resource supports tagging: Stage.</p>
* <p>At most 50 tags can be applied to a resource.</p>
* @public
Expand Down
Loading

0 comments on commit 55553d6

Please sign in to comment.