Skip to content

Commit 1a8caf9

Browse files
author
awstools
committed
feat(client-ivs-realtime): Adds support for Amazon IVS real-time streaming redundant ingest.
1 parent 9d257a3 commit 1a8caf9

11 files changed

Lines changed: 253 additions & 43 deletions

clients/client-ivs-realtime/src/commands/CreateIngestConfigurationCommand.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export interface CreateIngestConfigurationCommandOutput extends CreateIngestConf
4545
* },
4646
* ingestProtocol: "RTMP" || "RTMPS", // required
4747
* insecureIngest: true || false,
48+
* redundantIngest: true || false,
4849
* tags: { // Tags
4950
* "<keys>": "STRING_VALUE",
5051
* },
@@ -61,6 +62,13 @@ export interface CreateIngestConfigurationCommandOutput extends CreateIngestConf
6162
* // participantId: "STRING_VALUE", // required
6263
* // state: "STRING_VALUE", // required
6364
* // userId: "STRING_VALUE",
65+
* // redundantIngest: true || false,
66+
* // redundantIngestCredentials: [ // RedundantIngestCredentials
67+
* // { // RedundantIngestCredential
68+
* // participantId: "STRING_VALUE",
69+
* // streamKey: "STRING_VALUE",
70+
* // },
71+
* // ],
6472
* // attributes: { // ParticipantAttributes
6573
* // "<keys>": "STRING_VALUE",
6674
* // },

clients/client-ivs-realtime/src/commands/GetIngestConfigurationCommand.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,13 @@ export interface GetIngestConfigurationCommandOutput extends GetIngestConfigurat
5151
* // participantId: "STRING_VALUE", // required
5252
* // state: "STRING_VALUE", // required
5353
* // userId: "STRING_VALUE",
54+
* // redundantIngest: true || false,
55+
* // redundantIngestCredentials: [ // RedundantIngestCredentials
56+
* // { // RedundantIngestCredential
57+
* // participantId: "STRING_VALUE",
58+
* // streamKey: "STRING_VALUE",
59+
* // },
60+
* // ],
5461
* // attributes: { // ParticipantAttributes
5562
* // "<keys>": "STRING_VALUE",
5663
* // },

clients/client-ivs-realtime/src/commands/GetParticipantCommand.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ export interface GetParticipantCommandOutput extends GetParticipantResponse, __M
6767
* // replicationState: "STRING_VALUE",
6868
* // sourceStageArn: "STRING_VALUE",
6969
* // sourceSessionId: "STRING_VALUE",
70+
* // redundantIngest: true || false,
71+
* // ingestConfigurationArn: "STRING_VALUE",
7072
* // },
7173
* // };
7274
*

clients/client-ivs-realtime/src/commands/ListIngestConfigurationsCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ export interface ListIngestConfigurationsCommandOutput extends ListIngestConfigu
5454
* // participantId: "STRING_VALUE", // required
5555
* // state: "STRING_VALUE", // required
5656
* // userId: "STRING_VALUE",
57+
* // redundantIngest: true || false,
5758
* // },
5859
* // ],
5960
* // nextToken: "STRING_VALUE",

clients/client-ivs-realtime/src/commands/ListParticipantsCommand.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ export interface ListParticipantsCommandOutput extends ListParticipantsResponse,
6161
* // replicationState: "STRING_VALUE",
6262
* // sourceStageArn: "STRING_VALUE",
6363
* // sourceSessionId: "STRING_VALUE",
64+
* // redundantIngest: true || false,
65+
* // ingestConfigurationArn: "STRING_VALUE",
6466
* // },
6567
* // ],
6668
* // nextToken: "STRING_VALUE",

clients/client-ivs-realtime/src/commands/UpdateIngestConfigurationCommand.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export interface UpdateIngestConfigurationCommandOutput extends UpdateIngestConf
3939
* const input = { // UpdateIngestConfigurationRequest
4040
* arn: "STRING_VALUE", // required
4141
* stageArn: "STRING_VALUE",
42+
* redundantIngest: true || false,
4243
* };
4344
* const command = new UpdateIngestConfigurationCommand(input);
4445
* const response = await client.send(command);
@@ -52,6 +53,13 @@ export interface UpdateIngestConfigurationCommandOutput extends UpdateIngestConf
5253
* // participantId: "STRING_VALUE", // required
5354
* // state: "STRING_VALUE", // required
5455
* // userId: "STRING_VALUE",
56+
* // redundantIngest: true || false,
57+
* // redundantIngestCredentials: [ // RedundantIngestCredentials
58+
* // { // RedundantIngestCredential
59+
* // participantId: "STRING_VALUE",
60+
* // streamKey: "STRING_VALUE",
61+
* // },
62+
* // ],
5563
* // attributes: { // ParticipantAttributes
5664
* // "<keys>": "STRING_VALUE",
5765
* // },

clients/client-ivs-realtime/src/models/models_0.ts

Lines changed: 89 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,12 @@ export interface CreateIngestConfigurationRequest {
175175
*/
176176
insecureIngest?: boolean | undefined;
177177

178+
/**
179+
* <p>Indicates whether redundant ingest is enabled for the ingest configuration. Default: <code>false</code>.</p>
180+
* @public
181+
*/
182+
redundantIngest?: boolean | undefined;
183+
178184
/**
179185
* <p>Tags attached to the resource. Array of maps, each of the form <code>string:string
180186
* (key:value)</code>. See <a href="https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html">Best practices and strategies</a>
@@ -186,6 +192,24 @@ export interface CreateIngestConfigurationRequest {
186192
tags?: Record<string, string> | undefined;
187193
}
188194

195+
/**
196+
* <p>An object representing a redundant ingest credential.</p>
197+
* @public
198+
*/
199+
export interface RedundantIngestCredential {
200+
/**
201+
* <p>ID of the participant within the stage.</p>
202+
* @public
203+
*/
204+
participantId?: string | undefined;
205+
206+
/**
207+
* <p>Ingest-key value.</p>
208+
* @public
209+
*/
210+
streamKey?: string | undefined;
211+
}
212+
189213
/**
190214
* <p>Object specifying an ingest configuration.</p>
191215
* @public
@@ -245,6 +269,20 @@ export interface IngestConfiguration {
245269
*/
246270
userId?: string | undefined;
247271

272+
/**
273+
* <p>Indicates whether redundant ingest is enabled for the ingest configuration.</p>
274+
* @public
275+
*/
276+
redundantIngest?: boolean | undefined;
277+
278+
/**
279+
* <p>A list of redundant ingest credentials, present only when <code>redundantIngest</code> is set to <code>true</code>.
280+
* See <a href="https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-rtmp-publishing.html#redundant-ingest">Redundant Ingest</a> in
281+
* <i>IVS RTMP Publishing</i> for details.</p>
282+
* @public
283+
*/
284+
redundantIngestCredentials?: RedundantIngestCredential[] | undefined;
285+
248286
/**
249287
* <p>Application-provided attributes to to store in the IngestConfiguration and attach to a
250288
* stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field
@@ -1519,6 +1557,18 @@ export interface Participant {
15191557
* @public
15201558
*/
15211559
sourceSessionId?: string | undefined;
1560+
1561+
/**
1562+
* <p>Indicates whether redundant ingest is enabled for the participant.</p>
1563+
* @public
1564+
*/
1565+
redundantIngest?: boolean | undefined;
1566+
1567+
/**
1568+
* <p>The participant’s ingest configuration.</p>
1569+
* @public
1570+
*/
1571+
ingestConfigurationArn?: string | undefined;
15221572
}
15231573

15241574
/**
@@ -2013,6 +2063,12 @@ export interface IngestConfigurationSummary {
20132063
* @public
20142064
*/
20152065
userId?: string | undefined;
2066+
2067+
/**
2068+
* <p>Indicates whether redundant ingest is enabled for the ingest configuration.</p>
2069+
* @public
2070+
*/
2071+
redundantIngest?: boolean | undefined;
20162072
}
20172073

20182074
/**
@@ -2470,8 +2526,7 @@ export interface ParticipantSummary {
24702526
state?: ParticipantState | undefined;
24712527

24722528
/**
2473-
* <p>ISO 8601 timestamp (returned as a string) when the participant first joined the stage
2474-
* session.</p>
2529+
* <p>ISO 8601 timestamp (returned as a string) when the participant first joined the stage session.</p>
24752530
* @public
24762531
*/
24772532
firstJoinTime?: Date | undefined;
@@ -2511,6 +2566,18 @@ export interface ParticipantSummary {
25112566
* @public
25122567
*/
25132568
sourceSessionId?: string | undefined;
2569+
2570+
/**
2571+
* <p>Indicates whether redundant ingest is enabled for the participant.</p>
2572+
* @public
2573+
*/
2574+
redundantIngest?: boolean | undefined;
2575+
2576+
/**
2577+
* <p>The participant’s ingest configuration.</p>
2578+
* @public
2579+
*/
2580+
ingestConfigurationArn?: string | undefined;
25142581
}
25152582

25162583
/**
@@ -2924,43 +2991,43 @@ export interface StartParticipantReplicationRequest {
29242991
*/
29252992
export interface StartParticipantReplicationResponse {
29262993
/**
2927-
* <p/>
2994+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Origin">Access-Control-Allow-Origin</a> in the MDN Web Docs.</p>
29282995
* @public
29292996
*/
29302997
accessControlAllowOrigin?: string | undefined;
29312998

29322999
/**
2933-
* <p/>
3000+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Expose-Headers">Access-Control-Expose-Headers</a> in the MDN Web Docs.</p>
29343001
* @public
29353002
*/
29363003
accessControlExposeHeaders?: string | undefined;
29373004

29383005
/**
2939-
* <p/>
3006+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control">Cache-Control</a> in the MDN Web Docs.</p>
29403007
* @public
29413008
*/
29423009
cacheControl?: string | undefined;
29433010

29443011
/**
2945-
* <p/>
3012+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy">Content-Security-Policy</a> in the MDN Web Docs.</p>
29463013
* @public
29473014
*/
29483015
contentSecurityPolicy?: string | undefined;
29493016

29503017
/**
2951-
* <p/>
3018+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security">Strict-Transport-Security</a> in the MDN Web Docs.</p>
29523019
* @public
29533020
*/
29543021
strictTransportSecurity?: string | undefined;
29553022

29563023
/**
2957-
* <p/>
3024+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Content-Type-Options">X-Content-Type-Options</a> in the MDN Web Docs.</p>
29583025
* @public
29593026
*/
29603027
xContentTypeOptions?: string | undefined;
29613028

29623029
/**
2963-
* <p/>
3030+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Frame-Options">X-Frame-Options</a> in the MDN Web Docs.</p>
29643031
* @public
29653032
*/
29663033
xFrameOptions?: string | undefined;
@@ -3013,43 +3080,43 @@ export interface StopParticipantReplicationRequest {
30133080
*/
30143081
export interface StopParticipantReplicationResponse {
30153082
/**
3016-
* <p/>
3083+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Origin">Access-Control-Allow-Origin</a> in the MDN Web Docs.</p>
30173084
* @public
30183085
*/
30193086
accessControlAllowOrigin?: string | undefined;
30203087

30213088
/**
3022-
* <p/>
3089+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Expose-Headers">Access-Control-Expose-Headers</a> in the MDN Web Docs.</p>
30233090
* @public
30243091
*/
30253092
accessControlExposeHeaders?: string | undefined;
30263093

30273094
/**
3028-
* <p/>
3095+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control">Cache-Control</a> in the MDN Web Docs.</p>
30293096
* @public
30303097
*/
30313098
cacheControl?: string | undefined;
30323099

30333100
/**
3034-
* <p/>
3101+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy">Content-Security-Policy</a> in the MDN Web Docs.</p>
30353102
* @public
30363103
*/
30373104
contentSecurityPolicy?: string | undefined;
30383105

30393106
/**
3040-
* <p/>
3107+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security">Strict-Transport-Security</a> in the MDN Web Docs.</p>
30413108
* @public
30423109
*/
30433110
strictTransportSecurity?: string | undefined;
30443111

30453112
/**
3046-
* <p/>
3113+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Content-Type-Options">X-Content-Type-Options</a> in the MDN Web Docs.</p>
30473114
* @public
30483115
*/
30493116
xContentTypeOptions?: string | undefined;
30503117

30513118
/**
3052-
* <p/>
3119+
* <p>See <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Frame-Options">X-Frame-Options</a> in the MDN Web Docs.</p>
30533120
* @public
30543121
*/
30553122
xFrameOptions?: string | undefined;
@@ -3122,6 +3189,12 @@ export interface UpdateIngestConfigurationRequest {
31223189
* @public
31233190
*/
31243191
stageArn?: string | undefined;
3192+
3193+
/**
3194+
* <p>Indicates whether redundant ingest is enabled for the ingest configuration. Default: <code>false</code>.</p>
3195+
* @public
3196+
*/
3197+
redundantIngest?: boolean | undefined;
31253198
}
31263199

31273200
/**

0 commit comments

Comments
 (0)