Skip to content

Commit

Permalink
feat(client-ivs): This release introduces a new resource Playback Res…
Browse files Browse the repository at this point in the history
…triction Policy which can be used to geo-restrict or domain-restrict channel stream playback when associated with a channel. New APIs to support this resource were introduced in the form of Create/Delete/Get/Update/List.
  • Loading branch information
awstools committed Feb 1, 2024
1 parent fb81938 commit ad41dca
Show file tree
Hide file tree
Showing 21 changed files with 2,584 additions and 317 deletions.
220 changes: 148 additions & 72 deletions clients/client-ivs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,32 +54,40 @@ Amazon IVS</a>):</p>
<ul>
<li>
<p>
<b>Channel</b> — Stores configuration data related to your live stream. You first create a
channel and then use the channel’s stream key to start your live stream. See the Channel
endpoints for more information. </p>
<b>Channel</b> — Stores configuration data related to your
live stream. You first create a channel and then use the channel’s stream key to start
your live stream. See the Channel endpoints for more information. </p>
</li>
<li>
<p>
<b>Stream key</b> — An identifier assigned by Amazon IVS when you create a channel, which is
then used to authorize streaming. See the StreamKey endpoints for more information.
<i>
<b>Treat the stream key like a secret, since it allows
anyone to stream to the channel.</b>
<b>Stream key</b> — An identifier assigned by Amazon IVS
when you create a channel, which is then used to authorize streaming. See the StreamKey
endpoints for more information. <i>
<b>Treat the stream key like
a secret, since it allows anyone to stream to the
channel.</b>
</i>
</p>
</li>
<li>
<p>
<b>Playback key pair</b> — Video playback may be restricted using playback-authorization
tokens, which use public-key encryption. A playback key pair is the public-private pair of
keys used to sign and validate the playback-authorization token. See the PlaybackKeyPair
<b>Playback key pair</b> — Video playback may be restricted
using playback-authorization tokens, which use public-key encryption. A playback key pair
is the public-private pair of keys used to sign and validate the playback-authorization
token. See the PlaybackKeyPair endpoints for more information.</p>
</li>
<li>
<p>
<b>Recording configuration</b> — Stores configuration
related to recording a live stream and where to store the recorded content. Multiple
channels can reference the same recording configuration. See the Recording Configuration
endpoints for more information.</p>
</li>
<li>
<p>
<b>Recording configuration</b> — Stores configuration related to recording a live stream and
where to store the recorded content. Multiple channels can reference the same recording
configuration. See the Recording Configuration endpoints for more information.</p>
<b>Playback restriction policy</b> — Restricts playback by
countries and/or origin sites. See the Playback Restriction Policy endpoints for more
information.</p>
</li>
</ul>
<p>
Expand Down Expand Up @@ -111,11 +119,9 @@ authenticated to sign Amazon IVS API requests.</p>
</li>
<li>
<p>
<i>Authorization</i> is about granting permissions. Your IAM roles need
to have permissions for Amazon IVS API requests. In addition, authorization is needed to
view <a href="https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html">Amazon
IVS private channels</a>. (Private channels are channels that are enabled for
"playback authorization.")</p>
<i>Authorization</i> is about granting permissions. Your IAM roles need to have permissions for Amazon IVS API requests. In addition,
authorization is needed to view <a href="https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html">Amazon IVS private channels</a>.
(Private channels are channels that are enabled for "playback authorization.")</p>
</li>
</ul>
<p>
Expand Down Expand Up @@ -145,9 +151,9 @@ the Security page of the <i>Amazon IVS User Guide</i>.</p>
<b>Amazon Resource Names (ARNs)</b>
</p>
<p>ARNs uniquely identify AWS resources. An ARN is required when you need to specify a
resource unambiguously across all of AWS, such as in IAM policies and API calls. For more
information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names</a> in the <i>AWS General
Reference</i>.</p>
resource unambiguously across all of AWS, such as in IAM policies and API
calls. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
Resource Names</a> in the <i>AWS General Reference</i>.</p>
<p>
<b>Channel Endpoints</b>
</p>
Expand Down Expand Up @@ -187,72 +193,33 @@ changes to take effect.</p>
</li>
</ul>
<p>
<b>StreamKey Endpoints</b>
<b>Playback Restriction Policy Endpoints</b>
</p>
<ul>
<li>
<p>
<a>CreateStreamKey</a> — Creates a stream key, used to initiate a
stream, for the specified channel ARN.</p>
<a>CreatePlaybackRestrictionPolicy</a> — Creates a new playback
restriction policy, for constraining playback by countries and/or origins.</p>
</li>
<li>
<p>
<a>GetStreamKey</a> — Gets stream key information for the specified
ARN.</p>
<a>DeletePlaybackRestrictionPolicy</a> — Deletes the specified
playback restriction policy</p>
</li>
<li>
<p>
<a>BatchGetStreamKey</a> — Performs <a>GetStreamKey</a> on
multiple ARNs simultaneously.</p>
<a>GetPlaybackRestrictionPolicy</a> — Gets the specified playback
restriction policy.</p>
</li>
<li>
<p>
<a>ListStreamKeys</a> — Gets summary information about stream keys
for the specified channel.</p>
<a>ListPlaybackRestrictionPolicies</a> — Gets summary information
about playback restriction policies.</p>
</li>
<li>
<p>
<a>DeleteStreamKey</a> — Deletes the stream key for the specified
ARN, so it can no longer be used to stream.</p>
</li>
</ul>
<p>
<b>Stream Endpoints</b>
</p>
<ul>
<li>
<p>
<a>GetStream</a> — Gets information about the active (live) stream on
a specified channel.</p>
</li>
<li>
<p>
<a>GetStreamSession</a> — Gets metadata on a specified stream.</p>
</li>
<li>
<p>
<a>ListStreams</a> — Gets summary information about live streams in
your account, in the Amazon Web Services region where the API request is processed.</p>
</li>
<li>
<p>
<a>ListStreamSessions</a> — Gets a summary of current and previous
streams for a specified channel in your account, in the AWS region where the API request
is processed.</p>
</li>
<li>
<p>
<a>StopStream</a> — Disconnects the incoming RTMPS stream for the
specified channel. Can be used in conjunction with <a>DeleteStreamKey</a> to
prevent further streaming to a channel.</p>
</li>
<li>
<p>
<a>PutMetadata</a> — Inserts metadata into the active stream of the
specified channel. At most 5 requests per second per channel are allowed, each with a
maximum 1 KB payload. (If 5 TPS is not sufficient for your needs, we recommend batching
your data into a single PutMetadata call.) At most 155 requests per second per account are
allowed.</p>
<a>UpdatePlaybackRestrictionPolicy</a> — Updates a specified playback
restriction policy.</p>
</li>
</ul>
<p>
Expand Down Expand Up @@ -327,6 +294,75 @@ configuration for the specified ARN.</p>
</li>
</ul>
<p>
<b>Stream Endpoints</b>
</p>
<ul>
<li>
<p>
<a>GetStream</a> — Gets information about the active (live) stream on
a specified channel.</p>
</li>
<li>
<p>
<a>GetStreamSession</a> — Gets metadata on a specified stream.</p>
</li>
<li>
<p>
<a>ListStreams</a> — Gets summary information about live streams in
your account, in the Amazon Web Services region where the API request is processed.</p>
</li>
<li>
<p>
<a>ListStreamSessions</a> — Gets a summary of current and previous
streams for a specified channel in your account, in the AWS region where the API request
is processed.</p>
</li>
<li>
<p>
<a>StopStream</a> — Disconnects the incoming RTMPS stream for the
specified channel. Can be used in conjunction with <a>DeleteStreamKey</a> to
prevent further streaming to a channel.</p>
</li>
<li>
<p>
<a>PutMetadata</a> — Inserts metadata into the active stream of the
specified channel. At most 5 requests per second per channel are allowed, each with a
maximum 1 KB payload. (If 5 TPS is not sufficient for your needs, we recommend batching
your data into a single PutMetadata call.) At most 155 requests per second per account are
allowed.</p>
</li>
</ul>
<p>
<b>StreamKey Endpoints</b>
</p>
<ul>
<li>
<p>
<a>CreateStreamKey</a> — Creates a stream key, used to initiate a
stream, for the specified channel ARN.</p>
</li>
<li>
<p>
<a>GetStreamKey</a> — Gets stream key information for the specified
ARN.</p>
</li>
<li>
<p>
<a>BatchGetStreamKey</a> — Performs <a>GetStreamKey</a> on
multiple ARNs simultaneously.</p>
</li>
<li>
<p>
<a>ListStreamKeys</a> — Gets summary information about stream keys
for the specified channel.</p>
</li>
<li>
<p>
<a>DeleteStreamKey</a> — Deletes the stream key for the specified
ARN, so it can no longer be used to stream.</p>
</li>
</ul>
<p>
<b>Amazon Web Services Tags Endpoints</b>
</p>
<ul>
Expand Down Expand Up @@ -572,6 +608,14 @@ CreateChannel

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/CreateChannelCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/CreateChannelCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/CreateChannelCommandOutput/)

</details>
<details>
<summary>
CreatePlaybackRestrictionPolicy
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/CreatePlaybackRestrictionPolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/CreatePlaybackRestrictionPolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/CreatePlaybackRestrictionPolicyCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -604,6 +648,14 @@ DeletePlaybackKeyPair

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/DeletePlaybackKeyPairCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/DeletePlaybackKeyPairCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/DeletePlaybackKeyPairCommandOutput/)

</details>
<details>
<summary>
DeletePlaybackRestrictionPolicy
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/DeletePlaybackRestrictionPolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/DeletePlaybackRestrictionPolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/DeletePlaybackRestrictionPolicyCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -636,6 +688,14 @@ GetPlaybackKeyPair

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/GetPlaybackKeyPairCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/GetPlaybackKeyPairCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/GetPlaybackKeyPairCommandOutput/)

</details>
<details>
<summary>
GetPlaybackRestrictionPolicy
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/GetPlaybackRestrictionPolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/GetPlaybackRestrictionPolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/GetPlaybackRestrictionPolicyCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -692,6 +752,14 @@ ListPlaybackKeyPairs

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/ListPlaybackKeyPairsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/ListPlaybackKeyPairsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/ListPlaybackKeyPairsCommandOutput/)

</details>
<details>
<summary>
ListPlaybackRestrictionPolicies
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/ListPlaybackRestrictionPoliciesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/ListPlaybackRestrictionPoliciesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/ListPlaybackRestrictionPoliciesCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -781,3 +849,11 @@ UpdateChannel
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/UpdateChannelCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/UpdateChannelCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/UpdateChannelCommandOutput/)

</details>
<details>
<summary>
UpdatePlaybackRestrictionPolicy
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ivs/command/UpdatePlaybackRestrictionPolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/UpdatePlaybackRestrictionPolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ivs/Interface/UpdatePlaybackRestrictionPolicyCommandOutput/)

</details>
Loading

0 comments on commit ad41dca

Please sign in to comment.