Skip to content

Commit

Permalink
feat(client-ivs): Amazon Interactive Video Service (IVS) now offers c…
Browse files Browse the repository at this point in the history
…ustomers the ability to configure IVS channels to allow insecure RTMP ingest.
  • Loading branch information
awstools committed Mar 30, 2023
1 parent a2d8908 commit 0001a10
Show file tree
Hide file tree
Showing 8 changed files with 187 additions and 65 deletions.
12 changes: 8 additions & 4 deletions clients/client-ivs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,14 @@ History</a>.</p>
Amazon IVS</a>):</p>
<ul>
<li>
<p>Channel — Stores configuration data related to your live stream. You first create a
<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>Stream key — An identifier assigned by Amazon IVS when you create a channel, which is
<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
Expand All @@ -70,13 +72,15 @@ anyone to stream to the channel.</b>
</p>
</li>
<li>
<p>Playback key pair — Video playback may be restricted using playback-authorization
<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
endpoints for more information.</p>
</li>
<li>
<p>Recording configuration — Stores configuration related to recording a live stream and
<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>
Expand Down
12 changes: 8 additions & 4 deletions clients/client-ivs/src/Ivs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -168,12 +168,14 @@ import { IvsClient } from "./IvsClient";
* Amazon IVS</a>):</p>
* <ul>
* <li>
* <p>Channel — Stores configuration data related to your live stream. You first create a
* <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>Stream key — An identifier assigned by Amazon IVS when you create a channel, which is
* <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
Expand All @@ -182,13 +184,15 @@ import { IvsClient } from "./IvsClient";
* </p>
* </li>
* <li>
* <p>Playback key pair — Video playback may be restricted using playback-authorization
* <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
* endpoints for more information.</p>
* </li>
* <li>
* <p>Recording configuration — Stores configuration related to recording a live stream and
* <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>
Expand Down
12 changes: 8 additions & 4 deletions clients/client-ivs/src/IvsClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -386,12 +386,14 @@ export interface IvsClientResolvedConfig extends IvsClientResolvedConfigType {}
* Amazon IVS</a>):</p>
* <ul>
* <li>
* <p>Channel — Stores configuration data related to your live stream. You first create a
* <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>Stream key — An identifier assigned by Amazon IVS when you create a channel, which is
* <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
Expand All @@ -400,13 +402,15 @@ export interface IvsClientResolvedConfig extends IvsClientResolvedConfigType {}
* </p>
* </li>
* <li>
* <p>Playback key pair — Video playback may be restricted using playback-authorization
* <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
* endpoints for more information.</p>
* </li>
* <li>
* <p>Recording configuration — Stores configuration related to recording a live stream and
* <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>
Expand Down
1 change: 1 addition & 0 deletions clients/client-ivs/src/commands/CreateChannelCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met
* tags: { // Tags
* "<keys>": "STRING_VALUE",
* },
* insecureIngest: true || false,
* };
* const command = new CreateChannelCommand(input);
* const response = await client.send(command);
Expand Down
1 change: 1 addition & 0 deletions clients/client-ivs/src/commands/UpdateChannelCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met
* type: "BASIC" || "STANDARD",
* authorized: true || false,
* recordingConfigurationArn: "STRING_VALUE",
* insecureIngest: true || false,
* };
* const command = new UpdateChannelCommand(input);
* const response = await client.send(command);
Expand Down
20 changes: 20 additions & 0 deletions clients/client-ivs/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,11 @@ export interface Channel {
* service-specific constraints beyond what is documented there.</p>
*/
tags?: Record<string, string>;

/**
* <p>Whether the channel allows insecure RTMP ingest. Default: <code>false</code>.</p>
*/
insecureIngest?: boolean;
}

/**
Expand Down Expand Up @@ -296,6 +301,11 @@ export interface CreateChannelRequest {
* there.</p>
*/
tags?: Record<string, string>;

/**
* <p>Whether the channel allows insecure RTMP ingest. Default: <code>false</code>.</p>
*/
insecureIngest?: boolean;
}

/**
Expand Down Expand Up @@ -1231,6 +1241,11 @@ export interface ChannelSummary {
* service-specific constraints beyond what is documented there.</p>
*/
tags?: Record<string, string>;

/**
* <p>Whether the channel allows insecure RTMP ingest. Default: <code>false</code>.</p>
*/
insecureIngest?: boolean;
}

/**
Expand Down Expand Up @@ -1794,6 +1809,11 @@ export interface UpdateChannelRequest {
* value other than an empty string indicates that recording is enabled</p>
*/
recordingConfigurationArn?: string;

/**
* <p>Whether the channel allows insecure RTMP ingest. Default: <code>false</code>.</p>
*/
insecureIngest?: boolean;
}

/**
Expand Down
4 changes: 4 additions & 0 deletions clients/client-ivs/src/protocols/Aws_restJson1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ export const serializeAws_restJson1CreateChannelCommand = async (
let body: any;
body = JSON.stringify({
...(input.authorized != null && { authorized: input.authorized }),
...(input.insecureIngest != null && { insecureIngest: input.insecureIngest }),
...(input.latencyMode != null && { latencyMode: input.latencyMode }),
...(input.name != null && { name: input.name }),
...(input.recordingConfigurationArn != null && { recordingConfigurationArn: input.recordingConfigurationArn }),
Expand Down Expand Up @@ -805,6 +806,7 @@ export const serializeAws_restJson1UpdateChannelCommand = async (
body = JSON.stringify({
...(input.arn != null && { arn: input.arn }),
...(input.authorized != null && { authorized: input.authorized }),
...(input.insecureIngest != null && { insecureIngest: input.insecureIngest }),
...(input.latencyMode != null && { latencyMode: input.latencyMode }),
...(input.name != null && { name: input.name }),
...(input.recordingConfigurationArn != null && { recordingConfigurationArn: input.recordingConfigurationArn }),
Expand Down Expand Up @@ -2440,6 +2442,7 @@ const deserializeAws_restJson1Channel = (output: any, context: __SerdeContext):
arn: __expectString(output.arn),
authorized: __expectBoolean(output.authorized),
ingestEndpoint: __expectString(output.ingestEndpoint),
insecureIngest: __expectBoolean(output.insecureIngest),
latencyMode: __expectString(output.latencyMode),
name: __expectString(output.name),
playbackUrl: __expectString(output.playbackUrl),
Expand Down Expand Up @@ -2477,6 +2480,7 @@ const deserializeAws_restJson1ChannelSummary = (output: any, context: __SerdeCon
return {
arn: __expectString(output.arn),
authorized: __expectBoolean(output.authorized),
insecureIngest: __expectBoolean(output.insecureIngest),
latencyMode: __expectString(output.latencyMode),
name: __expectString(output.name),
recordingConfigurationArn: __expectString(output.recordingConfigurationArn),
Expand Down
Loading

0 comments on commit 0001a10

Please sign in to comment.