Skip to content

Commit 5d50be7

Browse files
author
awstools
committed
feat(client-chime-sdk-meetings): Adds support for AppKeys and TenantIds in Amazon Chime SDK WebRTC sessions
1 parent 92e8618 commit 5d50be7

File tree

6 files changed

+254
-27
lines changed

6 files changed

+254
-27
lines changed

clients/client-chime-sdk-meetings/src/ChimeSDKMeetings.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,28 @@ export class ChimeSDKMeetings extends ChimeSDKMeetingsClient {
100100

101101
/**
102102
* <p>Updates <code>AttendeeCapabilities</code> except the capabilities listed in an <code>ExcludedAttendeeIds</code> table.</p>
103+
*
104+
* <note>
105+
* <p>You use the capabilities with a set of values that control what the capabilities can do, such as <code>SendReceive</code> data. For more information about those values, see
106+
* .</p>
107+
* </note>
108+
*
109+
* <p>When using capabilities, be aware of these corner cases:</p>
110+
* <ul>
111+
* <li>
112+
* <p>You can't set <code>content</code> capabilities to <code>SendReceive</code> or <code>Receive</code> unless you also set <code>video</code> capabilities to <code>SendReceive</code>
113+
* or <code>Receive</code>. If you don't set the <code>video</code> capability to receive, the response will contain an HTTP 400 Bad Request status code. However, you can set your <code>video</code> capability
114+
* to receive and you set your <code>content</code> capability to not receive.</p>
115+
* </li>
116+
* <li>
117+
* <p>When you change an <code>audio</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
118+
* and if the attendee left their microphone unmuted, audio will flow from the attendee to the other meeting participants.</p>
119+
* </li>
120+
* <li>
121+
* <p>When you change a <code>video</code> or <code>content</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
122+
* and if the attendee turned on their video or content streams, remote attendess can receive those streams, but only after media renegotiation between the client and the Amazon Chime back-end server.</p>
123+
* </li>
124+
* </ul>
103125
*/
104126
public batchUpdateAttendeeCapabilitiesExcept(
105127
args: BatchUpdateAttendeeCapabilitiesExceptCommandInput,
@@ -475,6 +497,27 @@ export class ChimeSDKMeetings extends ChimeSDKMeetingsClient {
475497

476498
/**
477499
* <p>The capabilties that you want to update.</p>
500+
* <note>
501+
* <p>You use the capabilities with a set of values that control what the capabilities can do, such as <code>SendReceive</code> data. For more information about those values, see
502+
* .</p>
503+
* </note>
504+
*
505+
* <p>When using capabilities, be aware of these corner cases:</p>
506+
* <ul>
507+
* <li>
508+
* <p>You can't set <code>content</code> capabilities to <code>SendReceive</code> or <code>Receive</code> unless you also set <code>video</code> capabilities to <code>SendReceive</code>
509+
* or <code>Receive</code>. If you don't set the <code>video</code> capability to receive, the response will contain an HTTP 400 Bad Request status code. However, you can set your <code>video</code> capability
510+
* to receive and you set your <code>content</code> capability to not receive.</p>
511+
* </li>
512+
* <li>
513+
* <p>When you change an <code>audio</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
514+
* and if the attendee left their microphone unmuted, audio will flow from the attendee to the other meeting participants.</p>
515+
* </li>
516+
* <li>
517+
* <p>When you change a <code>video</code> or <code>content</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
518+
* and if the attendee turned on their video or content streams, remote attendess can receive those streams, but only after media renegotiation between the client and the Amazon Chime back-end server.</p>
519+
* </li>
520+
* </ul>
478521
*/
479522
public updateAttendeeCapabilities(
480523
args: UpdateAttendeeCapabilitiesCommandInput,

clients/client-chime-sdk-meetings/src/commands/BatchUpdateAttendeeCapabilitiesExceptCommand.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,28 @@ export interface BatchUpdateAttendeeCapabilitiesExceptCommandOutput extends __Me
2525

2626
/**
2727
* <p>Updates <code>AttendeeCapabilities</code> except the capabilities listed in an <code>ExcludedAttendeeIds</code> table.</p>
28+
*
29+
* <note>
30+
* <p>You use the capabilities with a set of values that control what the capabilities can do, such as <code>SendReceive</code> data. For more information about those values, see
31+
* .</p>
32+
* </note>
33+
*
34+
* <p>When using capabilities, be aware of these corner cases:</p>
35+
* <ul>
36+
* <li>
37+
* <p>You can't set <code>content</code> capabilities to <code>SendReceive</code> or <code>Receive</code> unless you also set <code>video</code> capabilities to <code>SendReceive</code>
38+
* or <code>Receive</code>. If you don't set the <code>video</code> capability to receive, the response will contain an HTTP 400 Bad Request status code. However, you can set your <code>video</code> capability
39+
* to receive and you set your <code>content</code> capability to not receive.</p>
40+
* </li>
41+
* <li>
42+
* <p>When you change an <code>audio</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
43+
* and if the attendee left their microphone unmuted, audio will flow from the attendee to the other meeting participants.</p>
44+
* </li>
45+
* <li>
46+
* <p>When you change a <code>video</code> or <code>content</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
47+
* and if the attendee turned on their video or content streams, remote attendess can receive those streams, but only after media renegotiation between the client and the Amazon Chime back-end server.</p>
48+
* </li>
49+
* </ul>
2850
* @example
2951
* Use a bare-bones client and the command you need to make an API call.
3052
* ```javascript

clients/client-chime-sdk-meetings/src/commands/UpdateAttendeeCapabilitiesCommand.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,27 @@ export interface UpdateAttendeeCapabilitiesCommandOutput extends UpdateAttendeeC
2424

2525
/**
2626
* <p>The capabilties that you want to update.</p>
27+
* <note>
28+
* <p>You use the capabilities with a set of values that control what the capabilities can do, such as <code>SendReceive</code> data. For more information about those values, see
29+
* .</p>
30+
* </note>
31+
*
32+
* <p>When using capabilities, be aware of these corner cases:</p>
33+
* <ul>
34+
* <li>
35+
* <p>You can't set <code>content</code> capabilities to <code>SendReceive</code> or <code>Receive</code> unless you also set <code>video</code> capabilities to <code>SendReceive</code>
36+
* or <code>Receive</code>. If you don't set the <code>video</code> capability to receive, the response will contain an HTTP 400 Bad Request status code. However, you can set your <code>video</code> capability
37+
* to receive and you set your <code>content</code> capability to not receive.</p>
38+
* </li>
39+
* <li>
40+
* <p>When you change an <code>audio</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
41+
* and if the attendee left their microphone unmuted, audio will flow from the attendee to the other meeting participants.</p>
42+
* </li>
43+
* <li>
44+
* <p>When you change a <code>video</code> or <code>content</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
45+
* and if the attendee turned on their video or content streams, remote attendess can receive those streams, but only after media renegotiation between the client and the Amazon Chime back-end server.</p>
46+
* </li>
47+
* </ul>
2748
* @example
2849
* Use a bare-bones client and the command you need to make an API call.
2950
* ```javascript

clients/client-chime-sdk-meetings/src/models/models_0.ts

Lines changed: 85 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,28 @@ export enum MediaCapabilities {
1111
}
1212

1313
/**
14-
* <p>The media capabilities of an attendee, including audio, video and content. </p>
14+
* <p>The media capabilities of an attendee: audio, video, or content. </p>
15+
* <note>
16+
* <p>You use the capabilities with a set of values that control what the capabilities can do, such as <code>SendReceive</code> data. For more information about those values, see
17+
* .</p>
18+
* </note>
19+
*
20+
* <p>When using capabilities, be aware of these corner cases:</p>
21+
* <ul>
22+
* <li>
23+
* <p>You can't set <code>content</code> capabilities to <code>SendReceive</code> or <code>Receive</code> unless you also set <code>video</code> capabilities to <code>SendReceive</code>
24+
* or <code>Receive</code>. If you don't set the <code>video</code> capability to receive, the response will contain an HTTP 400 Bad Request status code. However, you can set your <code>video</code> capability
25+
* to receive and you set your <code>content</code> capability to not receive.</p>
26+
* </li>
27+
* <li>
28+
* <p>When you change an <code>audio</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
29+
* and if the attendee left their microphone unmuted, audio will flow from the attendee to the other meeting participants.</p>
30+
* </li>
31+
* <li>
32+
* <p>When you change a <code>video</code> or <code>content</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
33+
* and if the attendee turned on their video or content streams, remote attendess can receive those streams, but only after media renegotiation between the client and the Amazon Chime back-end server.</p>
34+
* </li>
35+
* </ul>
1536
*/
1637
export interface AttendeeCapabilities {
1738
/**
@@ -71,7 +92,28 @@ export interface Attendee {
7192
JoinToken?: string;
7293

7394
/**
74-
* <p>The capabilities (audio, video, or content) assigned to an attendee.</p>
95+
* <p>The capabilities assigned to an attendee: audio, video, or content.</p>
96+
* <note>
97+
* <p>You use the capabilities with a set of values that control what the capabilities can do, such as <code>SendReceive</code> data. For more information about those values, see
98+
* .</p>
99+
* </note>
100+
*
101+
* <p>When using capabilities, be aware of these corner cases:</p>
102+
* <ul>
103+
* <li>
104+
* <p>You can't set <code>content</code> capabilities to <code>SendReceive</code> or <code>Receive</code> unless you also set <code>video</code> capabilities to <code>SendReceive</code>
105+
* or <code>Receive</code>. If you don't set the <code>video</code> capability to receive, the response will contain an HTTP 400 Bad Request status code. However, you can set your <code>video</code> capability
106+
* to receive and you set your <code>content</code> capability to not receive.</p>
107+
* </li>
108+
* <li>
109+
* <p>When you change an <code>audio</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
110+
* and if the attendee left their microphone unmuted, audio will flow from the attendee to the other meeting participants.</p>
111+
* </li>
112+
* <li>
113+
* <p>When you change a <code>video</code> or <code>content</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
114+
* and if the attendee turned on their video or content streams, remote attendess can receive those streams, but only after media renegotiation between the client and the Amazon Chime back-end server.</p>
115+
* </li>
116+
* </ul>
75117
*/
76118
Capabilities?: AttendeeCapabilities;
77119
}
@@ -345,7 +387,7 @@ export class NotFoundException extends __BaseException {
345387
}
346388

347389
/**
348-
* <p>The service is currently unavailable.</p>
390+
* <p>The service encountered an unexpected error.</p>
349391
*/
350392
export class ServiceFailureException extends __BaseException {
351393
readonly name: "ServiceFailureException" = "ServiceFailureException";
@@ -404,7 +446,7 @@ export class ServiceUnavailableException extends __BaseException {
404446
}
405447

406448
/**
407-
* <p>The number of requests exceeds the limit.</p>
449+
* <p>The number of customer requests exceeds the request rate limit.</p>
408450
*/
409451
export class ThrottlingException extends __BaseException {
410452
readonly name: "ThrottlingException" = "ThrottlingException";
@@ -549,6 +591,28 @@ export interface CreateAttendeeRequest {
549591
/**
550592
* <p>The capabilities (<code>audio</code>, <code>video</code>, or <code>content</code>) that you want to grant an attendee. If you don't specify capabilities, all users have send and receive capabilities on
551593
* all media channels by default.</p>
594+
*
595+
* <note>
596+
* <p>You use the capabilities with a set of values that control what the capabilities can do, such as <code>SendReceive</code> data. For more information about those values, see
597+
* .</p>
598+
* </note>
599+
*
600+
* <p>When using capabilities, be aware of these corner cases:</p>
601+
* <ul>
602+
* <li>
603+
* <p>You can't set <code>content</code> capabilities to <code>SendReceive</code> or <code>Receive</code> unless you also set <code>video</code> capabilities to <code>SendReceive</code>
604+
* or <code>Receive</code>. If you don't set the <code>video</code> capability to receive, the response will contain an HTTP 400 Bad Request status code. However, you can set your <code>video</code> capability
605+
* to receive and you set your <code>content</code> capability to not receive.</p>
606+
* </li>
607+
* <li>
608+
* <p>When you change an <code>audio</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
609+
* and if the attendee left their microphone unmuted, audio will flow from the attendee to the other meeting participants.</p>
610+
* </li>
611+
* <li>
612+
* <p>When you change a <code>video</code> or <code>content</code> capability from <code>None</code> or <code>Receive</code> to <code>Send</code> or <code>SendReceive</code> ,
613+
* and if the attendee turned on their video or content streams, remote attendess can receive those streams, but only after media renegotiation between the client and the Amazon Chime back-end server.</p>
614+
* </li>
615+
* </ul>
552616
*/
553617
Capabilities?: AttendeeCapabilities;
554618
}
@@ -689,6 +753,11 @@ export interface CreateMeetingRequest {
689753
* <p>When specified, replicates the media from the primary meeting to the new meeting.</p>
690754
*/
691755
PrimaryMeetingId?: string;
756+
757+
/**
758+
* <p>A consistent and opaque identifier, created and maintained by the builder to represent a segment of their users.</p>
759+
*/
760+
TenantIds?: string[];
692761
}
693762

694763
export namespace CreateMeetingRequest {
@@ -804,6 +873,11 @@ export interface Meeting {
804873
* <p>When specified, replicates the media from the primary meeting to this meeting.</p>
805874
*/
806875
PrimaryMeetingId?: string;
876+
877+
/**
878+
* <p>Array of strings.</p>
879+
*/
880+
TenantIds?: string[];
807881
}
808882

809883
export namespace Meeting {
@@ -898,6 +972,11 @@ export interface CreateMeetingWithAttendeesRequest {
898972
* <p>When specified, replicates the media from the primary meeting to the new meeting.</p>
899973
*/
900974
PrimaryMeetingId?: string;
975+
976+
/**
977+
* <p>A consistent and opaque identifier, created and maintained by the builder to represent a segment of their users.</p>
978+
*/
979+
TenantIds?: string[];
901980
}
902981

903982
export namespace CreateMeetingWithAttendeesRequest {
@@ -1161,7 +1240,7 @@ export interface EngineTranscribeMedicalSettings {
11611240
VocabularyName?: string;
11621241

11631242
/**
1164-
* <p>The AWS Region passed to Amazon Transcribe Medical. If you don't specify a Region, Amazon Chime uses the meeting's Region.</p>
1243+
* <p>The AWS Region passed to Amazon Transcribe Medical. If you don't specify a Region, Amazon Chime uses the meeting's Region. </p>
11651244
*/
11661245
Region?: TranscribeMedicalRegion | string;
11671246

@@ -1415,19 +1494,7 @@ export namespace UpdateAttendeeCapabilitiesRequest {
14151494

14161495
export interface UpdateAttendeeCapabilitiesResponse {
14171496
/**
1418-
* <p>An Amazon Chime SDK meeting attendee. Includes a unique
1419-
* <code>AttendeeId</code> and <code>JoinToken</code>. The
1420-
* <code>JoinToken</code>
1421-
* allows a client to authenticate and join as the specified attendee. The
1422-
* <code>JoinToken</code>
1423-
* expires when the meeting ends, or when
1424-
* <a>DeleteAttendee</a>
1425-
* is called. After that, the attendee is unable to join the meeting.
1426-
* </p>
1427-
*
1428-
* <p>We recommend securely transferring each <code>JoinToken</code> from your server application
1429-
* to the client so that no other client has access to the token except for the one
1430-
* authorized to represent the attendee.</p>
1497+
* <p>The updated attendee data.</p>
14311498
*/
14321499
Attendee?: Attendee;
14331500
}

0 commit comments

Comments
 (0)