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 upload public keys for customer vended participant tokens.
  • Loading branch information
awstools committed Jun 26, 2024
1 parent cdf4fe6 commit 3520f1a
Show file tree
Hide file tree
Showing 17 changed files with 1,493 additions and 739 deletions.
219 changes: 49 additions & 170 deletions clients/client-ivs-realtime/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,48 +6,46 @@

AWS SDK for JavaScript IVSRealTime Client for Node.js, Browser and React Native.

<p>
<b>Introduction</b>
</p>
<p>The Amazon Interactive Video Service (IVS) real-time API is REST compatible, using a standard HTTP
API and an AWS EventBridge event stream for responses. JSON is used for both requests and responses,
including errors.
</p>
<p>Terminology:</p>
<p>
<b>Key Concepts</b>
</p>
<ul>
<li>
<p>A <i>stage</i> is a virtual space where participants can exchange video in real time.</p>
<p>
<b>Stage</b> — A virtual space where participants can exchange video in real time.</p>
</li>
<li>
<p>A <i>participant token</i> is a token that authenticates a participant when they join a stage.</p>
<p>
<b>Participant token</b> — A token that authenticates a participant when they join a stage.</p>
</li>
<li>
<p>A <i>participant object</i> represents participants (people) in the stage and
<p>
<b>Participant object</b> — Represents participants (people) in the stage and
contains information about them. When a token is created, it includes a participant ID;
when a participant uses that token to join a stage, the participant is associated with
that participant ID. There is a 1:1 mapping between participant tokens and
participants.</p>
</li>
</ul>
<p>For server-side composition:</p>
<ul>
<li>
<p>Server-side composition: The <i>composition</i> process composites participants
<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>
</li>
<li>
<p>Server-side composition: A <i>composition</i> controls the look of the outputs,
including how participants are positioned in the video.</p>
</li>
</ul>
<p>
<b>Resources</b>
</p>
<p>The following resources contain information about your IVS live stream (see <a href="https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/getting-started.html">Getting Started with Amazon IVS Real-Time Streaming</a>):</p>
<ul>
<li>
<p>
<b>Stage</b> — A stage is a virtual space where participants can exchange video in real time.</p>
<b>Composition</b> — Controls the look of the outputs,
including how participants are positioned in the video.</p>
</li>
</ul>
<p>For more information about your IVS live stream, also see <a href="https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/getting-started.html">Getting Started with Amazon IVS Real-Time Streaming</a>.</p>
<p>
<b>Tagging</b>
</p>
Expand All @@ -63,157 +61,6 @@ manage access (see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/acc
<p>The Amazon IVS real-time API has these tag-related endpoints: <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>
<p>
<b>Stages Endpoints</b>
</p>
<ul>
<li>
<p>
<a>CreateParticipantToken</a> — Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire.</p>
</li>
<li>
<p>
<a>CreateStage</a> — Creates a new stage (and optionally participant tokens).</p>
</li>
<li>
<p>
<a>DeleteStage</a> — Shuts down and deletes the specified stage (disconnecting all participants).</p>
</li>
<li>
<p>
<a>DisconnectParticipant</a> — Disconnects a specified participant and revokes the participant permanently from a specified stage.</p>
</li>
<li>
<p>
<a>GetParticipant</a> — Gets information about the specified
participant token.</p>
</li>
<li>
<p>
<a>GetStage</a> — Gets information for the specified stage.</p>
</li>
<li>
<p>
<a>GetStageSession</a> — Gets information for the specified stage
session.</p>
</li>
<li>
<p>
<a>ListParticipantEvents</a> — Lists events for a specified
participant that occurred during a specified stage session.</p>
</li>
<li>
<p>
<a>ListParticipants</a> — Lists all participants in a specified stage
session.</p>
</li>
<li>
<p>
<a>ListStages</a> — Gets summary information about all stages in your account, in the AWS region where the API request is processed.</p>
</li>
<li>
<p>
<a>ListStageSessions</a> — Gets all sessions for a specified stage.</p>
</li>
<li>
<p>
<a>UpdateStage</a> — Updates a stage’s configuration.</p>
</li>
</ul>
<p>
<b>Composition Endpoints</b>
</p>
<ul>
<li>
<p>
<a>GetComposition</a> — Gets information about the specified
Composition resource.</p>
</li>
<li>
<p>
<a>ListCompositions</a> — Gets summary information about all
Compositions in your account, in the AWS region where the API request is processed.</p>
</li>
<li>
<p>
<a>StartComposition</a> — Starts a Composition from a stage based on
the configuration provided in the request.</p>
</li>
<li>
<p>
<a>StopComposition</a> — Stops and deletes a Composition resource.
Any broadcast from the Composition resource is stopped.</p>
</li>
</ul>
<p>
<b>EncoderConfiguration Endpoints</b>
</p>
<ul>
<li>
<p>
<a>CreateEncoderConfiguration</a> — Creates an EncoderConfiguration object.</p>
</li>
<li>
<p>
<a>DeleteEncoderConfiguration</a> — Deletes an EncoderConfiguration
resource. Ensures that no Compositions are using this template; otherwise, returns an
error.</p>
</li>
<li>
<p>
<a>GetEncoderConfiguration</a> — Gets information about the specified
EncoderConfiguration resource.</p>
</li>
<li>
<p>
<a>ListEncoderConfigurations</a> — Gets summary information about all
EncoderConfigurations in your account, in the AWS region where the API request is
processed.</p>
</li>
</ul>
<p>
<b>StorageConfiguration Endpoints</b>
</p>
<ul>
<li>
<p>
<a>CreateStorageConfiguration</a> — Creates a new storage configuration, used to enable
recording to Amazon S3.</p>
</li>
<li>
<p>
<a>DeleteStorageConfiguration</a> — Deletes the storage configuration for the specified ARN.</p>
</li>
<li>
<p>
<a>GetStorageConfiguration</a> — Gets the storage configuration for the specified ARN.</p>
</li>
<li>
<p>
<a>ListStorageConfigurations</a> — Gets summary information about all storage configurations in your
account, in the AWS region where the API request is processed.</p>
</li>
</ul>
<p>
<b>Tags Endpoints</b>
</p>
<ul>
<li>
<p>
<a>ListTagsForResource</a> — Gets information about AWS tags for the
specified ARN.</p>
</li>
<li>
<p>
<a>TagResource</a> — Adds or updates tags for the AWS resource with
the specified ARN.</p>
</li>
<li>
<p>
<a>UntagResource</a> — Removes tags from the resource with the
specified ARN.</p>
</li>
</ul>

## Installing

Expand Down Expand Up @@ -449,6 +296,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>
DeletePublicKey
</summary>

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

</details>
<details>
<summary>
Expand Down Expand Up @@ -497,6 +352,14 @@ GetParticipant

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

</details>
<details>
<summary>
GetPublicKey
</summary>

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

</details>
<details>
<summary>
Expand All @@ -521,6 +384,14 @@ GetStorageConfiguration

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

</details>
<details>
<summary>
ImportPublicKey
</summary>

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

</details>
<details>
<summary>
Expand Down Expand Up @@ -553,6 +424,14 @@ ListParticipants

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

</details>
<details>
<summary>
ListPublicKeys
</summary>

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

</details>
<details>
<summary>
Expand Down
Loading

0 comments on commit 3520f1a

Please sign in to comment.