Skip to content

Commit aa53886

Browse files
author
awstools
committed
feat(client-connect): Amazon Connect Service Feature: Add support to start screen sharing for a web calling contact.
1 parent fe1251e commit aa53886

17 files changed

+462
-106
lines changed

clients/client-connect/README.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ a list of Amazon Connect endpoints, see <a href="https://docs.aws.amazon.com/gen
3333

3434
## Installing
3535

36-
To install the this package, simply type add or install @aws-sdk/client-connect
36+
To install this package, simply type add or install @aws-sdk/client-connect
3737
using your favorite package manager:
3838

3939
- `npm install @aws-sdk/client-connect`
@@ -1801,6 +1801,14 @@ StartOutboundVoiceContact
18011801

18021802
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/StartOutboundVoiceContactCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/StartOutboundVoiceContactCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/StartOutboundVoiceContactCommandOutput/)
18031803

1804+
</details>
1805+
<details>
1806+
<summary>
1807+
StartScreenSharing
1808+
</summary>
1809+
1810+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/StartScreenSharingCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/StartScreenSharingCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/StartScreenSharingCommandOutput/)
1811+
18041812
</details>
18051813
<details>
18061814
<summary>

clients/client-connect/src/Connect.ts

+23
Original file line numberDiff line numberDiff line change
@@ -923,6 +923,11 @@ import {
923923
StartOutboundVoiceContactCommandInput,
924924
StartOutboundVoiceContactCommandOutput,
925925
} from "./commands/StartOutboundVoiceContactCommand";
926+
import {
927+
StartScreenSharingCommand,
928+
StartScreenSharingCommandInput,
929+
StartScreenSharingCommandOutput,
930+
} from "./commands/StartScreenSharingCommand";
926931
import {
927932
StartTaskContactCommand,
928933
StartTaskContactCommandInput,
@@ -1402,6 +1407,7 @@ const commands = {
14021407
StartContactStreamingCommand,
14031408
StartOutboundChatContactCommand,
14041409
StartOutboundVoiceContactCommand,
1410+
StartScreenSharingCommand,
14051411
StartTaskContactCommand,
14061412
StartWebRTCContactCommand,
14071413
StopContactCommand,
@@ -4570,6 +4576,23 @@ export interface Connect {
45704576
cb: (err: any, data?: StartOutboundVoiceContactCommandOutput) => void
45714577
): void;
45724578

4579+
/**
4580+
* @see {@link StartScreenSharingCommand}
4581+
*/
4582+
startScreenSharing(
4583+
args: StartScreenSharingCommandInput,
4584+
options?: __HttpHandlerOptions
4585+
): Promise<StartScreenSharingCommandOutput>;
4586+
startScreenSharing(
4587+
args: StartScreenSharingCommandInput,
4588+
cb: (err: any, data?: StartScreenSharingCommandOutput) => void
4589+
): void;
4590+
startScreenSharing(
4591+
args: StartScreenSharingCommandInput,
4592+
options: __HttpHandlerOptions,
4593+
cb: (err: any, data?: StartScreenSharingCommandOutput) => void
4594+
): void;
4595+
45734596
/**
45744597
* @see {@link StartTaskContactCommand}
45754598
*/

clients/client-connect/src/ConnectClient.ts

+3
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,7 @@ import {
589589
StartOutboundVoiceContactCommandInput,
590590
StartOutboundVoiceContactCommandOutput,
591591
} from "./commands/StartOutboundVoiceContactCommand";
592+
import { StartScreenSharingCommandInput, StartScreenSharingCommandOutput } from "./commands/StartScreenSharingCommand";
592593
import { StartTaskContactCommandInput, StartTaskContactCommandOutput } from "./commands/StartTaskContactCommand";
593594
import { StartWebRTCContactCommandInput, StartWebRTCContactCommandOutput } from "./commands/StartWebRTCContactCommand";
594595
import { StopContactCommandInput, StopContactCommandOutput } from "./commands/StopContactCommand";
@@ -983,6 +984,7 @@ export type ServiceInputTypes =
983984
| StartContactStreamingCommandInput
984985
| StartOutboundChatContactCommandInput
985986
| StartOutboundVoiceContactCommandInput
987+
| StartScreenSharingCommandInput
986988
| StartTaskContactCommandInput
987989
| StartWebRTCContactCommandInput
988990
| StopContactCommandInput
@@ -1244,6 +1246,7 @@ export type ServiceOutputTypes =
12441246
| StartContactStreamingCommandOutput
12451247
| StartOutboundChatContactCommandOutput
12461248
| StartOutboundVoiceContactCommandOutput
1249+
| StartScreenSharingCommandOutput
12471250
| StartTaskContactCommandOutput
12481251
| StartWebRTCContactCommandOutput
12491252
| StopContactCommandOutput

clients/client-connect/src/commands/AssociateTrafficDistributionGroupUserCommand.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ export interface AssociateTrafficDistributionGroupUserCommandOutput
3737
__MetadataBearer {}
3838

3939
/**
40-
* <p>Associates an agent with a traffic distribution group.</p>
40+
* <p>Associates an agent with a traffic distribution group. This API can be called only in the Region where the traffic distribution group is
41+
* created.</p>
4142
* @example
4243
* Use a bare-bones client and the command you need to make an API call.
4344
* ```javascript

clients/client-connect/src/commands/CreateTrafficDistributionGroupCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export interface CreateTrafficDistributionGroupCommandOutput
3333
__MetadataBearer {}
3434

3535
/**
36-
* <p>Creates a traffic distribution group given an Amazon Connect instance that has been replicated. </p>
36+
* <p>Creates a traffic distribution group given an Amazon Connect instance that has been replicated.</p>
3737
* <note>
3838
* <p>The <code>SignInConfig</code> distribution is available only on a
3939
* default <code>TrafficDistributionGroup</code> (see the <code>IsDefault</code> parameter in the

clients/client-connect/src/commands/DescribeContactCommand.ts

+2
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export interface DescribeContactCommandOutput extends DescribeContactResponse, _
9090
* // },
9191
* // Capabilities: { // ParticipantCapabilities
9292
* // Video: "SEND",
93+
* // ScreenShare: "SEND",
9394
* // },
9495
* // },
9596
* // InitiationTimestamp: new Date("TIMESTAMP"),
@@ -172,6 +173,7 @@ export interface DescribeContactCommandOutput extends DescribeContactResponse, _
172173
* // },
173174
* // Capabilities: {
174175
* // Video: "SEND",
176+
* // ScreenShare: "SEND",
175177
* // },
176178
* // },
177179
* // Campaign: { // Campaign

clients/client-connect/src/commands/DisassociateTrafficDistributionGroupUserCommand.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ export interface DisassociateTrafficDistributionGroupUserCommandOutput
3737
__MetadataBearer {}
3838

3939
/**
40-
* <p>Disassociates an agent from a traffic distribution group.</p>
40+
* <p>Disassociates an agent from a traffic distribution group. This API can be called only in the Region where the traffic distribution group is
41+
* created.</p>
4142
* @example
4243
* Use a bare-bones client and the command you need to make an API call.
4344
* ```javascript

clients/client-connect/src/commands/GetMetricDataV2Command.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ export interface GetMetricDataV2CommandOutput extends GetMetricDataV2Response, _
3333
* <code>GetMetricDataV2</code> offers more features than <a href="https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html">GetMetricData</a>, the previous
3434
* version of this API. It has new metrics, offers filtering at a metric level, and offers the
3535
* ability to filter and group data by channels, queues, routing profiles, agents, and agent
36-
* hierarchy levels. It can retrieve historical data for the last 3 months, at varying intervals. </p>
36+
* hierarchy levels. It can retrieve historical data for the last 3 months, at varying intervals. It
37+
* does not support agent queues.</p>
3738
* <p>For a description of the historical metrics that are supported by
3839
* <code>GetMetricDataV2</code> and <code>GetMetricData</code>, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html">Historical metrics
3940
* definitions</a> in the <i>Amazon Connect Administrator Guide</i>.</p>

clients/client-connect/src/commands/ListTagsForResourceCommand.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient";
88
import { commonParams } from "../endpoint/EndpointParameters";
9-
import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_1";
9+
import { ListTagsForResourceRequest } from "../models/models_1";
10+
import { ListTagsForResourceResponse } from "../models/models_2";
1011
import { de_ListTagsForResourceCommand, se_ListTagsForResourceCommand } from "../protocols/Aws_restJson1";
1112

1213
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { Command as $Command } from "@smithy/smithy-client";
5+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
6+
7+
import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient";
8+
import { commonParams } from "../endpoint/EndpointParameters";
9+
import { StartScreenSharingRequest, StartScreenSharingResponse } from "../models/models_2";
10+
import { de_StartScreenSharingCommand, se_StartScreenSharingCommand } from "../protocols/Aws_restJson1";
11+
12+
/**
13+
* @public
14+
*/
15+
export type { __MetadataBearer };
16+
export { $Command };
17+
/**
18+
* @public
19+
*
20+
* The input for {@link StartScreenSharingCommand}.
21+
*/
22+
export interface StartScreenSharingCommandInput extends StartScreenSharingRequest {}
23+
/**
24+
* @public
25+
*
26+
* The output of {@link StartScreenSharingCommand}.
27+
*/
28+
export interface StartScreenSharingCommandOutput extends StartScreenSharingResponse, __MetadataBearer {}
29+
30+
/**
31+
* <p>Starts screen sharing for a contact. For more information about screen sharing, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/inapp-calling.html">Set up in-app, web,
32+
* video calling, and screen sharing capabilities</a> in the <i>Amazon Connect Administrator Guide</i>. </p>
33+
* @example
34+
* Use a bare-bones client and the command you need to make an API call.
35+
* ```javascript
36+
* import { ConnectClient, StartScreenSharingCommand } from "@aws-sdk/client-connect"; // ES Modules import
37+
* // const { ConnectClient, StartScreenSharingCommand } = require("@aws-sdk/client-connect"); // CommonJS import
38+
* const client = new ConnectClient(config);
39+
* const input = { // StartScreenSharingRequest
40+
* ClientToken: "STRING_VALUE",
41+
* InstanceId: "STRING_VALUE", // required
42+
* ContactId: "STRING_VALUE", // required
43+
* };
44+
* const command = new StartScreenSharingCommand(input);
45+
* const response = await client.send(command);
46+
* // {};
47+
*
48+
* ```
49+
*
50+
* @param StartScreenSharingCommandInput - {@link StartScreenSharingCommandInput}
51+
* @returns {@link StartScreenSharingCommandOutput}
52+
* @see {@link StartScreenSharingCommandInput} for command's `input` shape.
53+
* @see {@link StartScreenSharingCommandOutput} for command's `response` shape.
54+
* @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape.
55+
*
56+
* @throws {@link AccessDeniedException} (client fault)
57+
* <p>You do not have sufficient permissions to perform this action.</p>
58+
*
59+
* @throws {@link InternalServiceException} (server fault)
60+
* <p>Request processing failed because of an error or failure with the service.</p>
61+
*
62+
* @throws {@link InvalidParameterException} (client fault)
63+
* <p>One or more of the specified parameters are not valid.</p>
64+
*
65+
* @throws {@link InvalidRequestException} (client fault)
66+
* <p>The request is not valid.</p>
67+
*
68+
* @throws {@link ResourceNotFoundException} (client fault)
69+
* <p>The specified resource was not found.</p>
70+
*
71+
* @throws {@link ThrottlingException} (client fault)
72+
* <p>The throttling limit has been exceeded.</p>
73+
*
74+
* @throws {@link ConnectServiceException}
75+
* <p>Base exception class for all service exceptions from Connect service.</p>
76+
*
77+
* @public
78+
*/
79+
export class StartScreenSharingCommand extends $Command
80+
.classBuilder<
81+
StartScreenSharingCommandInput,
82+
StartScreenSharingCommandOutput,
83+
ConnectClientResolvedConfig,
84+
ServiceInputTypes,
85+
ServiceOutputTypes
86+
>()
87+
.ep(commonParams)
88+
.m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) {
89+
return [
90+
getSerdePlugin(config, this.serialize, this.deserialize),
91+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
92+
];
93+
})
94+
.s("AmazonConnectService", "StartScreenSharing", {})
95+
.n("ConnectClient", "StartScreenSharingCommand")
96+
.f(void 0, void 0)
97+
.ser(se_StartScreenSharingCommand)
98+
.de(de_StartScreenSharingCommand)
99+
.build() {
100+
/** @internal type navigation helper, not in runtime. */
101+
protected declare static __types: {
102+
api: {
103+
input: StartScreenSharingRequest;
104+
output: {};
105+
};
106+
sdk: {
107+
input: StartScreenSharingCommandInput;
108+
output: StartScreenSharingCommandOutput;
109+
};
110+
};
111+
}

clients/client-connect/src/commands/StartWebRTCContactCommand.ts

+2
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,11 @@ export interface StartWebRTCContactCommandOutput extends StartWebRTCContactRespo
5151
* AllowedCapabilities: { // AllowedCapabilities
5252
* Customer: { // ParticipantCapabilities
5353
* Video: "SEND",
54+
* ScreenShare: "SEND",
5455
* },
5556
* Agent: {
5657
* Video: "SEND",
58+
* ScreenShare: "SEND",
5759
* },
5860
* },
5961
* ParticipantDetails: { // ParticipantDetails

clients/client-connect/src/commands/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ export * from "./StartContactRecordingCommand";
196196
export * from "./StartContactStreamingCommand";
197197
export * from "./StartOutboundChatContactCommand";
198198
export * from "./StartOutboundVoiceContactCommand";
199+
export * from "./StartScreenSharingCommand";
199200
export * from "./StartTaskContactCommand";
200201
export * from "./StartWebRTCContactCommand";
201202
export * from "./StopContactCommand";

0 commit comments

Comments
 (0)