@@ -420,6 +420,39 @@ export interface CreateParticipantTokenResponse {
420
420
participantToken ?: ParticipantToken ;
421
421
}
422
422
423
+ /**
424
+ * @public
425
+ * @enum
426
+ */
427
+ export const ParticipantRecordingMediaType = {
428
+ AUDIO_ONLY : "AUDIO_ONLY" ,
429
+ AUDIO_VIDEO : "AUDIO_VIDEO" ,
430
+ } as const ;
431
+
432
+ /**
433
+ * @public
434
+ */
435
+ export type ParticipantRecordingMediaType =
436
+ ( typeof ParticipantRecordingMediaType ) [ keyof typeof ParticipantRecordingMediaType ] ;
437
+
438
+ /**
439
+ * <p>Object specifying an auto-participant-recording configuration.</p>
440
+ * @public
441
+ */
442
+ export interface AutoParticipantRecordingConfiguration {
443
+ /**
444
+ * <p>ARN of the <a>StorageConfiguration</a> resource to use for auto participant recording. Default: "" (empty string, no storage configuration is specified). Individual participant recording cannot be started unless a storage configuration is specified, when a <a>Stage</a> is created or updated.</p>
445
+ * @public
446
+ */
447
+ storageConfigurationArn : string | undefined ;
448
+
449
+ /**
450
+ * <p>Types of media to be recorded. Default: <code>AUDIO_VIDEO</code>.</p>
451
+ * @public
452
+ */
453
+ mediaTypes ?: ParticipantRecordingMediaType [ ] ;
454
+ }
455
+
423
456
/**
424
457
* <p>Object specifying a participant token configuration in a stage.</p>
425
458
* @public
@@ -485,6 +518,12 @@ export interface CreateStageRequest {
485
518
* @public
486
519
*/
487
520
tags ?: Record < string , string > ;
521
+
522
+ /**
523
+ * <p>Auto participant recording configuration object attached to the stage.</p>
524
+ * @public
525
+ */
526
+ autoParticipantRecordingConfiguration ?: AutoParticipantRecordingConfiguration ;
488
527
}
489
528
490
529
/**
@@ -519,6 +558,12 @@ export interface Stage {
519
558
* @public
520
559
*/
521
560
tags ?: Record < string , string > ;
561
+
562
+ /**
563
+ * <p>Auto-participant-recording configuration object attached to the stage.</p>
564
+ * @public
565
+ */
566
+ autoParticipantRecordingConfiguration ?: AutoParticipantRecordingConfiguration ;
522
567
}
523
568
524
569
/**
@@ -1230,6 +1275,24 @@ export interface GetParticipantRequest {
1230
1275
participantId : string | undefined ;
1231
1276
}
1232
1277
1278
+ /**
1279
+ * @public
1280
+ * @enum
1281
+ */
1282
+ export const ParticipantRecordingState = {
1283
+ ACTIVE : "ACTIVE" ,
1284
+ DISABLED : "DISABLED" ,
1285
+ FAILED : "FAILED" ,
1286
+ STARTING : "STARTING" ,
1287
+ STOPPED : "STOPPED" ,
1288
+ STOPPING : "STOPPING" ,
1289
+ } as const ;
1290
+
1291
+ /**
1292
+ * @public
1293
+ */
1294
+ export type ParticipantRecordingState = ( typeof ParticipantRecordingState ) [ keyof typeof ParticipantRecordingState ] ;
1295
+
1233
1296
/**
1234
1297
* @public
1235
1298
* @enum
@@ -1327,6 +1390,24 @@ export interface Participant {
1327
1390
* @public
1328
1391
*/
1329
1392
sdkVersion ?: string ;
1393
+
1394
+ /**
1395
+ * <p>Name of the S3 bucket to where the participant is being recorded, if individual participant recording is enabled, or "" (empty string), if recording is not enabled.</p>
1396
+ * @public
1397
+ */
1398
+ recordingS3BucketName ?: string ;
1399
+
1400
+ /**
1401
+ * <p>S3 prefix of the S3 bucket to where the participant is being recorded, if individual participant recording is enabled, or "" (empty string), if recording is not enabled.</p>
1402
+ * @public
1403
+ */
1404
+ recordingS3Prefix ?: string ;
1405
+
1406
+ /**
1407
+ * <p>Participant’s recording state.</p>
1408
+ * @public
1409
+ */
1410
+ recordingState ?: ParticipantRecordingState ;
1330
1411
}
1331
1412
1332
1413
/**
@@ -1775,6 +1856,24 @@ export interface ListParticipantEventsResponse {
1775
1856
nextToken ?: string ;
1776
1857
}
1777
1858
1859
+ /**
1860
+ * @public
1861
+ * @enum
1862
+ */
1863
+ export const ParticipantRecordingFilterByRecordingState = {
1864
+ ACTIVE : "ACTIVE" ,
1865
+ FAILED : "FAILED" ,
1866
+ STARTING : "STARTING" ,
1867
+ STOPPED : "STOPPED" ,
1868
+ STOPPING : "STOPPING" ,
1869
+ } as const ;
1870
+
1871
+ /**
1872
+ * @public
1873
+ */
1874
+ export type ParticipantRecordingFilterByRecordingState =
1875
+ ( typeof ParticipantRecordingFilterByRecordingState ) [ keyof typeof ParticipantRecordingFilterByRecordingState ] ;
1876
+
1778
1877
/**
1779
1878
* @public
1780
1879
*/
@@ -1792,27 +1891,28 @@ export interface ListParticipantsRequest {
1792
1891
sessionId : string | undefined ;
1793
1892
1794
1893
/**
1795
- * <p>Filters the response list to match the specified user ID. Only one of
1796
- * <code>filterByUserId</code>, <code>filterByPublished</code>, or
1797
- * <code>filterByState</code> can be provided per request. A <code>userId</code> is a
1798
- * customer-assigned name to help identify the token; this can be used to link a participant
1799
- * to a user in the customer’s own systems.</p>
1894
+ * <p>Filters the response list to match the specified user ID.
1895
+ * Only one of <code>filterByUserId</code>, <code>filterByPublished</code>,
1896
+ * <code>filterByState</code>, or <code>filterByRecordingState</code> can be provided per request.
1897
+ * A <code>userId</code> is a
1898
+ * customer-assigned name to help identify the token; this can be used to link a participant
1899
+ * to a user in the customer’s own systems.</p>
1800
1900
* @public
1801
1901
*/
1802
1902
filterByUserId ?: string ;
1803
1903
1804
1904
/**
1805
- * <p>Filters the response list to only show participants who published during the stage
1806
- * session. Only one of <code>filterByUserId</code>, <code>filterByPublished</code>, or
1807
- * <code>filterByState</code> can be provided per request.</p>
1905
+ * <p>Filters the response list to only show participants who published during the stage session.
1906
+ * Only one of <code>filterByUserId</code>, <code>filterByPublished</code>,
1907
+ * <code>filterByState</code>, or <code>filterByRecordingState</code> can be provided per request.</p>
1808
1908
* @public
1809
1909
*/
1810
1910
filterByPublished ?: boolean ;
1811
1911
1812
1912
/**
1813
- * <p>Filters the response list to only show participants in the specified state. Only one of
1814
- * <code>filterByUserId</code>, <code>filterByPublished</code>, or
1815
- * <code>filterByState</code> can be provided per request.</p>
1913
+ * <p>Filters the response list to only show participants in the specified state.
1914
+ * Only one of <code>filterByUserId</code>, <code>filterByPublished</code>,
1915
+ * <code>filterByState</code>, or <code>filterByRecordingState</code> can be provided per request.</p>
1816
1916
* @public
1817
1917
*/
1818
1918
filterByState ?: ParticipantState ;
@@ -1829,6 +1929,14 @@ export interface ListParticipantsRequest {
1829
1929
* @public
1830
1930
*/
1831
1931
maxResults ?: number ;
1932
+
1933
+ /**
1934
+ * <p>Filters the response list to only show participants with the specified recording state.
1935
+ * Only one of <code>filterByUserId</code>, <code>filterByPublished</code>,
1936
+ * <code>filterByState</code>, or <code>filterByRecordingState</code> can be provided per request.</p>
1937
+ * @public
1938
+ */
1939
+ filterByRecordingState ?: ParticipantRecordingFilterByRecordingState ;
1832
1940
}
1833
1941
1834
1942
/**
@@ -1869,6 +1977,12 @@ export interface ParticipantSummary {
1869
1977
* @public
1870
1978
*/
1871
1979
published ?: boolean ;
1980
+
1981
+ /**
1982
+ * <p>Participant’s recording state.</p>
1983
+ * @public
1984
+ */
1985
+ recordingState ?: ParticipantRecordingState ;
1872
1986
}
1873
1987
1874
1988
/**
@@ -2253,6 +2367,13 @@ export interface UpdateStageRequest {
2253
2367
* @public
2254
2368
*/
2255
2369
name ?: string ;
2370
+
2371
+ /**
2372
+ * <p>Auto-participant-recording configuration object to attach to the stage.
2373
+ * Auto-participant-recording configuration cannot be updated while recording is active.</p>
2374
+ * @public
2375
+ */
2376
+ autoParticipantRecordingConfiguration ?: AutoParticipantRecordingConfiguration ;
2256
2377
}
2257
2378
2258
2379
/**
0 commit comments