From a6829ae2965928a7fdc808bc9adb8c6f95c8f4b8 Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 21 Dec 2023 19:17:57 +0000 Subject: [PATCH] feat(client-connect): Adds APIs to manage User Proficiencies and Predefined Attributes. Enhances StartOutboundVoiceContact API input. Introduces SearchContacts API. Enhances DescribeContact API. Adds an API to update Routing Attributes in QueuePriority and QueueTimeAdjustmentSeconds. --- clients/client-connect/README.md | 96 + clients/client-connect/src/Connect.ts | 273 +++ clients/client-connect/src/ConnectClient.ts | 69 + .../AssociateUserProficienciesCommand.ts | 163 ++ .../CreatePredefinedAttributeCommand.ts | 167 ++ .../DeletePredefinedAttributeCommand.ts | 159 ++ .../src/commands/DescribeContactCommand.ts | 2 + .../commands/DescribePhoneNumberCommand.ts | 3 +- .../DescribePredefinedAttributeCommand.ts | 172 ++ .../src/commands/DescribePromptCommand.ts | 3 +- .../DisassociateUserProficienciesCommand.ts | 165 ++ .../commands/GetCurrentMetricDataCommand.ts | 6 +- .../src/commands/GetMetricDataCommand.ts | 6 +- .../ListPredefinedAttributesCommand.ts | 163 ++ .../commands/ListUserProficienciesCommand.ts | 166 ++ .../src/commands/PauseContactCommand.ts | 3 +- .../src/commands/ResumeContactCommand.ts | 3 +- .../src/commands/SearchContactsCommand.ts | 247 +++ .../SearchHoursOfOperationsCommand.ts | 3 +- .../SearchPredefinedAttributesCommand.ts | 197 ++ .../src/commands/SearchPromptsCommand.ts | 3 +- .../src/commands/SearchQueuesCommand.ts | 3 +- .../commands/SearchQuickConnectsCommand.ts | 3 +- .../src/commands/SearchResourceTagsCommand.ts | 2 +- .../commands/SearchRoutingProfilesCommand.ts | 3 +- .../commands/SearchSecurityProfilesCommand.ts | 3 +- .../src/commands/TagContactCommand.ts | 6 +- .../src/commands/UntagContactCommand.ts | 5 +- .../UpdateContactRoutingDataCommand.ts | 167 ++ .../UpdatePredefinedAttributeCommand.ts | 161 ++ .../UpdateUserProficienciesCommand.ts | 160 ++ clients/client-connect/src/commands/index.ts | 12 + clients/client-connect/src/models/models_0.ts | 392 ++-- clients/client-connect/src/models/models_1.ts | 1080 +++++----- clients/client-connect/src/models/models_2.ts | 1027 ++++++++- .../ListPredefinedAttributesPaginator.ts | 24 + .../ListUserProficienciesPaginator.ts | 24 + .../src/pagination/SearchContactsPaginator.ts | 24 + .../SearchPredefinedAttributesPaginator.ts | 24 + .../client-connect/src/pagination/index.ts | 4 + .../src/protocols/Aws_restJson1.ts | 1367 +++++++++++- codegen/sdk-codegen/aws-models/connect.json | 1872 ++++++++++++++++- 42 files changed, 7639 insertions(+), 793 deletions(-) create mode 100644 clients/client-connect/src/commands/AssociateUserProficienciesCommand.ts create mode 100644 clients/client-connect/src/commands/CreatePredefinedAttributeCommand.ts create mode 100644 clients/client-connect/src/commands/DeletePredefinedAttributeCommand.ts create mode 100644 clients/client-connect/src/commands/DescribePredefinedAttributeCommand.ts create mode 100644 clients/client-connect/src/commands/DisassociateUserProficienciesCommand.ts create mode 100644 clients/client-connect/src/commands/ListPredefinedAttributesCommand.ts create mode 100644 clients/client-connect/src/commands/ListUserProficienciesCommand.ts create mode 100644 clients/client-connect/src/commands/SearchContactsCommand.ts create mode 100644 clients/client-connect/src/commands/SearchPredefinedAttributesCommand.ts create mode 100644 clients/client-connect/src/commands/UpdateContactRoutingDataCommand.ts create mode 100644 clients/client-connect/src/commands/UpdatePredefinedAttributeCommand.ts create mode 100644 clients/client-connect/src/commands/UpdateUserProficienciesCommand.ts create mode 100644 clients/client-connect/src/pagination/ListPredefinedAttributesPaginator.ts create mode 100644 clients/client-connect/src/pagination/ListUserProficienciesPaginator.ts create mode 100644 clients/client-connect/src/pagination/SearchContactsPaginator.ts create mode 100644 clients/client-connect/src/pagination/SearchPredefinedAttributesPaginator.ts diff --git a/clients/client-connect/README.md b/clients/client-connect/README.md index f980661f460f4..7c51464d2cfe3 100644 --- a/clients/client-connect/README.md +++ b/clients/client-connect/README.md @@ -324,6 +324,14 @@ AssociateTrafficDistributionGroupUser [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/AssociateTrafficDistributionGroupUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/AssociateTrafficDistributionGroupUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/AssociateTrafficDistributionGroupUserCommandOutput/) + +
+ +AssociateUserProficiencies + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/AssociateUserProficienciesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/AssociateUserProficienciesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/AssociateUserProficienciesCommandOutput/) +
@@ -436,6 +444,14 @@ CreatePersistentContactAssociation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/CreatePersistentContactAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/CreatePersistentContactAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/CreatePersistentContactAssociationCommandOutput/) +
+
+ +CreatePredefinedAttribute + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/CreatePredefinedAttributeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/CreatePredefinedAttributeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/CreatePredefinedAttributeCommandOutput/) +
@@ -612,6 +628,14 @@ DeleteIntegrationAssociation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DeleteIntegrationAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DeleteIntegrationAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DeleteIntegrationAssociationCommandOutput/) +
+
+ +DeletePredefinedAttribute + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DeletePredefinedAttributeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DeletePredefinedAttributeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DeletePredefinedAttributeCommandOutput/) +
@@ -812,6 +836,14 @@ DescribePhoneNumber [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DescribePhoneNumberCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DescribePhoneNumberCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DescribePhoneNumberCommandOutput/) +
+
+ +DescribePredefinedAttribute + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DescribePredefinedAttributeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DescribePredefinedAttributeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DescribePredefinedAttributeCommandOutput/) +
@@ -1004,6 +1036,14 @@ DisassociateTrafficDistributionGroupUser [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DisassociateTrafficDistributionGroupUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DisassociateTrafficDistributionGroupUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DisassociateTrafficDistributionGroupUserCommandOutput/) +
+
+ +DisassociateUserProficiencies + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DisassociateUserProficienciesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DisassociateUserProficienciesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DisassociateUserProficienciesCommandOutput/) +
@@ -1268,6 +1308,14 @@ ListPhoneNumbersV2 [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/ListPhoneNumbersV2Command/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListPhoneNumbersV2CommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListPhoneNumbersV2CommandOutput/) +
+
+ +ListPredefinedAttributes + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/ListPredefinedAttributesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListPredefinedAttributesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListPredefinedAttributesCommandOutput/) +
@@ -1412,6 +1460,14 @@ ListUserHierarchyGroups [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/ListUserHierarchyGroupsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListUserHierarchyGroupsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListUserHierarchyGroupsCommandOutput/) +
+
+ +ListUserProficiencies + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/ListUserProficienciesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListUserProficienciesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListUserProficienciesCommandOutput/) +
@@ -1500,6 +1556,14 @@ SearchAvailablePhoneNumbers [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/SearchAvailablePhoneNumbersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchAvailablePhoneNumbersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchAvailablePhoneNumbersCommandOutput/) +
+
+ +SearchContacts + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/SearchContactsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchContactsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchContactsCommandOutput/) +
@@ -1508,6 +1572,14 @@ SearchHoursOfOperations [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/SearchHoursOfOperationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchHoursOfOperationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchHoursOfOperationsCommandOutput/) +
+
+ +SearchPredefinedAttributes + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/SearchPredefinedAttributesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchPredefinedAttributesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchPredefinedAttributesCommandOutput/) +
@@ -1788,6 +1860,14 @@ UpdateContactFlowName [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/UpdateContactFlowNameCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateContactFlowNameCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateContactFlowNameCommandOutput/) +
+
+ +UpdateContactRoutingData + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/UpdateContactRoutingDataCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateContactRoutingDataCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateContactRoutingDataCommandOutput/) +
@@ -1852,6 +1932,14 @@ UpdatePhoneNumberMetadata [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/UpdatePhoneNumberMetadataCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdatePhoneNumberMetadataCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdatePhoneNumberMetadataCommandOutput/) +
+
+ +UpdatePredefinedAttribute + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/UpdatePredefinedAttributeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdatePredefinedAttributeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdatePredefinedAttributeCommandOutput/) +
@@ -2028,6 +2116,14 @@ UpdateUserPhoneConfig [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/UpdateUserPhoneConfigCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateUserPhoneConfigCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateUserPhoneConfigCommandOutput/) +
+
+ +UpdateUserProficiencies + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/UpdateUserProficienciesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateUserProficienciesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateUserProficienciesCommandOutput/) +
diff --git a/clients/client-connect/src/Connect.ts b/clients/client-connect/src/Connect.ts index b5aa5efda694c..032284bb6e94f 100644 --- a/clients/client-connect/src/Connect.ts +++ b/clients/client-connect/src/Connect.ts @@ -72,6 +72,11 @@ import { AssociateTrafficDistributionGroupUserCommandInput, AssociateTrafficDistributionGroupUserCommandOutput, } from "./commands/AssociateTrafficDistributionGroupUserCommand"; +import { + AssociateUserProficienciesCommand, + AssociateUserProficienciesCommandInput, + AssociateUserProficienciesCommandOutput, +} from "./commands/AssociateUserProficienciesCommand"; import { BatchAssociateAnalyticsDataSetCommand, BatchAssociateAnalyticsDataSetCommandInput, @@ -142,6 +147,11 @@ import { CreatePersistentContactAssociationCommandInput, CreatePersistentContactAssociationCommandOutput, } from "./commands/CreatePersistentContactAssociationCommand"; +import { + CreatePredefinedAttributeCommand, + CreatePredefinedAttributeCommandInput, + CreatePredefinedAttributeCommandOutput, +} from "./commands/CreatePredefinedAttributeCommand"; import { CreatePromptCommand, CreatePromptCommandInput, @@ -236,6 +246,11 @@ import { DeleteIntegrationAssociationCommandInput, DeleteIntegrationAssociationCommandOutput, } from "./commands/DeleteIntegrationAssociationCommand"; +import { + DeletePredefinedAttributeCommand, + DeletePredefinedAttributeCommandInput, + DeletePredefinedAttributeCommandOutput, +} from "./commands/DeletePredefinedAttributeCommand"; import { DeletePromptCommand, DeletePromptCommandInput, @@ -345,6 +360,11 @@ import { DescribePhoneNumberCommandInput, DescribePhoneNumberCommandOutput, } from "./commands/DescribePhoneNumberCommand"; +import { + DescribePredefinedAttributeCommand, + DescribePredefinedAttributeCommandInput, + DescribePredefinedAttributeCommandOutput, +} from "./commands/DescribePredefinedAttributeCommand"; import { DescribePromptCommand, DescribePromptCommandInput, @@ -465,6 +485,11 @@ import { DisassociateTrafficDistributionGroupUserCommandInput, DisassociateTrafficDistributionGroupUserCommandOutput, } from "./commands/DisassociateTrafficDistributionGroupUserCommand"; +import { + DisassociateUserProficienciesCommand, + DisassociateUserProficienciesCommandInput, + DisassociateUserProficienciesCommandOutput, +} from "./commands/DisassociateUserProficienciesCommand"; import { DismissUserContactCommand, DismissUserContactCommandInput, @@ -622,6 +647,11 @@ import { ListPhoneNumbersV2CommandInput, ListPhoneNumbersV2CommandOutput, } from "./commands/ListPhoneNumbersV2Command"; +import { + ListPredefinedAttributesCommand, + ListPredefinedAttributesCommandInput, + ListPredefinedAttributesCommandOutput, +} from "./commands/ListPredefinedAttributesCommand"; import { ListPromptsCommand, ListPromptsCommandInput, ListPromptsCommandOutput } from "./commands/ListPromptsCommand"; import { ListQueueQuickConnectsCommand, @@ -700,6 +730,11 @@ import { ListUserHierarchyGroupsCommandInput, ListUserHierarchyGroupsCommandOutput, } from "./commands/ListUserHierarchyGroupsCommand"; +import { + ListUserProficienciesCommand, + ListUserProficienciesCommandInput, + ListUserProficienciesCommandOutput, +} from "./commands/ListUserProficienciesCommand"; import { ListUsersCommand, ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand"; import { ListViewsCommand, ListViewsCommandInput, ListViewsCommandOutput } from "./commands/ListViewsCommand"; import { @@ -747,11 +782,21 @@ import { SearchAvailablePhoneNumbersCommandInput, SearchAvailablePhoneNumbersCommandOutput, } from "./commands/SearchAvailablePhoneNumbersCommand"; +import { + SearchContactsCommand, + SearchContactsCommandInput, + SearchContactsCommandOutput, +} from "./commands/SearchContactsCommand"; import { SearchHoursOfOperationsCommand, SearchHoursOfOperationsCommandInput, SearchHoursOfOperationsCommandOutput, } from "./commands/SearchHoursOfOperationsCommand"; +import { + SearchPredefinedAttributesCommand, + SearchPredefinedAttributesCommandInput, + SearchPredefinedAttributesCommandOutput, +} from "./commands/SearchPredefinedAttributesCommand"; import { SearchPromptsCommand, SearchPromptsCommandInput, @@ -911,6 +956,11 @@ import { UpdateContactFlowNameCommandInput, UpdateContactFlowNameCommandOutput, } from "./commands/UpdateContactFlowNameCommand"; +import { + UpdateContactRoutingDataCommand, + UpdateContactRoutingDataCommandInput, + UpdateContactRoutingDataCommandOutput, +} from "./commands/UpdateContactRoutingDataCommand"; import { UpdateContactScheduleCommand, UpdateContactScheduleCommandInput, @@ -951,6 +1001,11 @@ import { UpdatePhoneNumberMetadataCommandInput, UpdatePhoneNumberMetadataCommandOutput, } from "./commands/UpdatePhoneNumberMetadataCommand"; +import { + UpdatePredefinedAttributeCommand, + UpdatePredefinedAttributeCommandInput, + UpdatePredefinedAttributeCommandOutput, +} from "./commands/UpdatePredefinedAttributeCommand"; import { UpdatePromptCommand, UpdatePromptCommandInput, @@ -1057,6 +1112,11 @@ import { UpdateUserPhoneConfigCommandInput, UpdateUserPhoneConfigCommandOutput, } from "./commands/UpdateUserPhoneConfigCommand"; +import { + UpdateUserProficienciesCommand, + UpdateUserProficienciesCommandInput, + UpdateUserProficienciesCommandOutput, +} from "./commands/UpdateUserProficienciesCommand"; import { UpdateUserRoutingProfileCommand, UpdateUserRoutingProfileCommandInput, @@ -1094,6 +1154,7 @@ const commands = { AssociateRoutingProfileQueuesCommand, AssociateSecurityKeyCommand, AssociateTrafficDistributionGroupUserCommand, + AssociateUserProficienciesCommand, BatchAssociateAnalyticsDataSetCommand, BatchDisassociateAnalyticsDataSetCommand, BatchGetFlowAssociationCommand, @@ -1108,6 +1169,7 @@ const commands = { CreateIntegrationAssociationCommand, CreateParticipantCommand, CreatePersistentContactAssociationCommand, + CreatePredefinedAttributeCommand, CreatePromptCommand, CreateQueueCommand, CreateQuickConnectCommand, @@ -1130,6 +1192,7 @@ const commands = { DeleteHoursOfOperationCommand, DeleteInstanceCommand, DeleteIntegrationAssociationCommand, + DeletePredefinedAttributeCommand, DeletePromptCommand, DeleteQueueCommand, DeleteQuickConnectCommand, @@ -1155,6 +1218,7 @@ const commands = { DescribeInstanceAttributeCommand, DescribeInstanceStorageConfigCommand, DescribePhoneNumberCommand, + DescribePredefinedAttributeCommand, DescribePromptCommand, DescribeQueueCommand, DescribeQuickConnectCommand, @@ -1179,6 +1243,7 @@ const commands = { DisassociateRoutingProfileQueuesCommand, DisassociateSecurityKeyCommand, DisassociateTrafficDistributionGroupUserCommand, + DisassociateUserProficienciesCommand, DismissUserContactCommand, GetContactAttributesCommand, GetCurrentMetricDataCommand, @@ -1212,6 +1277,7 @@ const commands = { ListLexBotsCommand, ListPhoneNumbersCommand, ListPhoneNumbersV2Command, + ListPredefinedAttributesCommand, ListPromptsCommand, ListQueueQuickConnectsCommand, ListQueuesCommand, @@ -1230,6 +1296,7 @@ const commands = { ListTrafficDistributionGroupUsersCommand, ListUseCasesCommand, ListUserHierarchyGroupsCommand, + ListUserProficienciesCommand, ListUsersCommand, ListViewsCommand, ListViewVersionsCommand, @@ -1241,7 +1308,9 @@ const commands = { ResumeContactCommand, ResumeContactRecordingCommand, SearchAvailablePhoneNumbersCommand, + SearchContactsCommand, SearchHoursOfOperationsCommand, + SearchPredefinedAttributesCommand, SearchPromptsCommand, SearchQueuesCommand, SearchQuickConnectsCommand, @@ -1277,6 +1346,7 @@ const commands = { UpdateContactFlowModuleContentCommand, UpdateContactFlowModuleMetadataCommand, UpdateContactFlowNameCommand, + UpdateContactRoutingDataCommand, UpdateContactScheduleCommand, UpdateEvaluationFormCommand, UpdateHoursOfOperationCommand, @@ -1285,6 +1355,7 @@ const commands = { UpdateParticipantRoleConfigCommand, UpdatePhoneNumberCommand, UpdatePhoneNumberMetadataCommand, + UpdatePredefinedAttributeCommand, UpdatePromptCommand, UpdateQueueHoursOfOperationCommand, UpdateQueueMaxContactsCommand, @@ -1307,6 +1378,7 @@ const commands = { UpdateUserHierarchyStructureCommand, UpdateUserIdentityInfoCommand, UpdateUserPhoneConfigCommand, + UpdateUserProficienciesCommand, UpdateUserRoutingProfileCommand, UpdateUserSecurityProfilesCommand, UpdateViewContentCommand, @@ -1537,6 +1609,23 @@ export interface Connect { cb: (err: any, data?: AssociateTrafficDistributionGroupUserCommandOutput) => void ): void; + /** + * @see {@link AssociateUserProficienciesCommand} + */ + associateUserProficiencies( + args: AssociateUserProficienciesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + associateUserProficiencies( + args: AssociateUserProficienciesCommandInput, + cb: (err: any, data?: AssociateUserProficienciesCommandOutput) => void + ): void; + associateUserProficiencies( + args: AssociateUserProficienciesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateUserProficienciesCommandOutput) => void + ): void; + /** * @see {@link BatchAssociateAnalyticsDataSetCommand} */ @@ -1769,6 +1858,23 @@ export interface Connect { cb: (err: any, data?: CreatePersistentContactAssociationCommandOutput) => void ): void; + /** + * @see {@link CreatePredefinedAttributeCommand} + */ + createPredefinedAttribute( + args: CreatePredefinedAttributeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createPredefinedAttribute( + args: CreatePredefinedAttributeCommandInput, + cb: (err: any, data?: CreatePredefinedAttributeCommandOutput) => void + ): void; + createPredefinedAttribute( + args: CreatePredefinedAttributeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreatePredefinedAttributeCommandOutput) => void + ): void; + /** * @see {@link CreatePromptCommand} */ @@ -2104,6 +2210,23 @@ export interface Connect { cb: (err: any, data?: DeleteIntegrationAssociationCommandOutput) => void ): void; + /** + * @see {@link DeletePredefinedAttributeCommand} + */ + deletePredefinedAttribute( + args: DeletePredefinedAttributeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deletePredefinedAttribute( + args: DeletePredefinedAttributeCommandInput, + cb: (err: any, data?: DeletePredefinedAttributeCommandOutput) => void + ): void; + deletePredefinedAttribute( + args: DeletePredefinedAttributeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePredefinedAttributeCommandOutput) => void + ): void; + /** * @see {@link DeletePromptCommand} */ @@ -2490,6 +2613,23 @@ export interface Connect { cb: (err: any, data?: DescribePhoneNumberCommandOutput) => void ): void; + /** + * @see {@link DescribePredefinedAttributeCommand} + */ + describePredefinedAttribute( + args: DescribePredefinedAttributeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describePredefinedAttribute( + args: DescribePredefinedAttributeCommandInput, + cb: (err: any, data?: DescribePredefinedAttributeCommandOutput) => void + ): void; + describePredefinedAttribute( + args: DescribePredefinedAttributeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribePredefinedAttributeCommandOutput) => void + ): void; + /** * @see {@link DescribePromptCommand} */ @@ -2868,6 +3008,23 @@ export interface Connect { cb: (err: any, data?: DisassociateTrafficDistributionGroupUserCommandOutput) => void ): void; + /** + * @see {@link DisassociateUserProficienciesCommand} + */ + disassociateUserProficiencies( + args: DisassociateUserProficienciesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + disassociateUserProficiencies( + args: DisassociateUserProficienciesCommandInput, + cb: (err: any, data?: DisassociateUserProficienciesCommandOutput) => void + ): void; + disassociateUserProficiencies( + args: DisassociateUserProficienciesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateUserProficienciesCommandOutput) => void + ): void; + /** * @see {@link DismissUserContactCommand} */ @@ -3393,6 +3550,23 @@ export interface Connect { cb: (err: any, data?: ListPhoneNumbersV2CommandOutput) => void ): void; + /** + * @see {@link ListPredefinedAttributesCommand} + */ + listPredefinedAttributes( + args: ListPredefinedAttributesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listPredefinedAttributes( + args: ListPredefinedAttributesCommandInput, + cb: (err: any, data?: ListPredefinedAttributesCommandOutput) => void + ): void; + listPredefinedAttributes( + args: ListPredefinedAttributesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPredefinedAttributesCommandOutput) => void + ): void; + /** * @see {@link ListPromptsCommand} */ @@ -3675,6 +3849,23 @@ export interface Connect { cb: (err: any, data?: ListUserHierarchyGroupsCommandOutput) => void ): void; + /** + * @see {@link ListUserProficienciesCommand} + */ + listUserProficiencies( + args: ListUserProficienciesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listUserProficiencies( + args: ListUserProficienciesCommandInput, + cb: (err: any, data?: ListUserProficienciesCommandOutput) => void + ): void; + listUserProficiencies( + args: ListUserProficienciesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListUserProficienciesCommandOutput) => void + ): void; + /** * @see {@link ListUsersCommand} */ @@ -3829,6 +4020,20 @@ export interface Connect { cb: (err: any, data?: SearchAvailablePhoneNumbersCommandOutput) => void ): void; + /** + * @see {@link SearchContactsCommand} + */ + searchContacts( + args: SearchContactsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + searchContacts(args: SearchContactsCommandInput, cb: (err: any, data?: SearchContactsCommandOutput) => void): void; + searchContacts( + args: SearchContactsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SearchContactsCommandOutput) => void + ): void; + /** * @see {@link SearchHoursOfOperationsCommand} */ @@ -3846,6 +4051,23 @@ export interface Connect { cb: (err: any, data?: SearchHoursOfOperationsCommandOutput) => void ): void; + /** + * @see {@link SearchPredefinedAttributesCommand} + */ + searchPredefinedAttributes( + args: SearchPredefinedAttributesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + searchPredefinedAttributes( + args: SearchPredefinedAttributesCommandInput, + cb: (err: any, data?: SearchPredefinedAttributesCommandOutput) => void + ): void; + searchPredefinedAttributes( + args: SearchPredefinedAttributesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SearchPredefinedAttributesCommandOutput) => void + ): void; + /** * @see {@link SearchPromptsCommand} */ @@ -4384,6 +4606,23 @@ export interface Connect { cb: (err: any, data?: UpdateContactFlowNameCommandOutput) => void ): void; + /** + * @see {@link UpdateContactRoutingDataCommand} + */ + updateContactRoutingData( + args: UpdateContactRoutingDataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateContactRoutingData( + args: UpdateContactRoutingDataCommandInput, + cb: (err: any, data?: UpdateContactRoutingDataCommandOutput) => void + ): void; + updateContactRoutingData( + args: UpdateContactRoutingDataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateContactRoutingDataCommandOutput) => void + ): void; + /** * @see {@link UpdateContactScheduleCommand} */ @@ -4520,6 +4759,23 @@ export interface Connect { cb: (err: any, data?: UpdatePhoneNumberMetadataCommandOutput) => void ): void; + /** + * @see {@link UpdatePredefinedAttributeCommand} + */ + updatePredefinedAttribute( + args: UpdatePredefinedAttributeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updatePredefinedAttribute( + args: UpdatePredefinedAttributeCommandInput, + cb: (err: any, data?: UpdatePredefinedAttributeCommandOutput) => void + ): void; + updatePredefinedAttribute( + args: UpdatePredefinedAttributeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdatePredefinedAttributeCommandOutput) => void + ): void; + /** * @see {@link UpdatePromptCommand} */ @@ -4879,6 +5135,23 @@ export interface Connect { cb: (err: any, data?: UpdateUserPhoneConfigCommandOutput) => void ): void; + /** + * @see {@link UpdateUserProficienciesCommand} + */ + updateUserProficiencies( + args: UpdateUserProficienciesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateUserProficiencies( + args: UpdateUserProficienciesCommandInput, + cb: (err: any, data?: UpdateUserProficienciesCommandOutput) => void + ): void; + updateUserProficiencies( + args: UpdateUserProficienciesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateUserProficienciesCommandOutput) => void + ): void; + /** * @see {@link UpdateUserRoutingProfileCommand} */ diff --git a/clients/client-connect/src/ConnectClient.ts b/clients/client-connect/src/ConnectClient.ts index 128bce0484ad4..a584a9787e58f 100644 --- a/clients/client-connect/src/ConnectClient.ts +++ b/clients/client-connect/src/ConnectClient.ts @@ -95,6 +95,10 @@ import { AssociateTrafficDistributionGroupUserCommandInput, AssociateTrafficDistributionGroupUserCommandOutput, } from "./commands/AssociateTrafficDistributionGroupUserCommand"; +import { + AssociateUserProficienciesCommandInput, + AssociateUserProficienciesCommandOutput, +} from "./commands/AssociateUserProficienciesCommand"; import { BatchAssociateAnalyticsDataSetCommandInput, BatchAssociateAnalyticsDataSetCommandOutput, @@ -133,6 +137,10 @@ import { CreatePersistentContactAssociationCommandInput, CreatePersistentContactAssociationCommandOutput, } from "./commands/CreatePersistentContactAssociationCommand"; +import { + CreatePredefinedAttributeCommandInput, + CreatePredefinedAttributeCommandOutput, +} from "./commands/CreatePredefinedAttributeCommand"; import { CreatePromptCommandInput, CreatePromptCommandOutput } from "./commands/CreatePromptCommand"; import { CreateQueueCommandInput, CreateQueueCommandOutput } from "./commands/CreateQueueCommand"; import { CreateQuickConnectCommandInput, CreateQuickConnectCommandOutput } from "./commands/CreateQuickConnectCommand"; @@ -185,6 +193,10 @@ import { DeleteIntegrationAssociationCommandInput, DeleteIntegrationAssociationCommandOutput, } from "./commands/DeleteIntegrationAssociationCommand"; +import { + DeletePredefinedAttributeCommandInput, + DeletePredefinedAttributeCommandOutput, +} from "./commands/DeletePredefinedAttributeCommand"; import { DeletePromptCommandInput, DeletePromptCommandOutput } from "./commands/DeletePromptCommand"; import { DeleteQueueCommandInput, DeleteQueueCommandOutput } from "./commands/DeleteQueueCommand"; import { DeleteQuickConnectCommandInput, DeleteQuickConnectCommandOutput } from "./commands/DeleteQuickConnectCommand"; @@ -249,6 +261,10 @@ import { DescribePhoneNumberCommandInput, DescribePhoneNumberCommandOutput, } from "./commands/DescribePhoneNumberCommand"; +import { + DescribePredefinedAttributeCommandInput, + DescribePredefinedAttributeCommandOutput, +} from "./commands/DescribePredefinedAttributeCommand"; import { DescribePromptCommandInput, DescribePromptCommandOutput } from "./commands/DescribePromptCommand"; import { DescribeQueueCommandInput, DescribeQueueCommandOutput } from "./commands/DescribeQueueCommand"; import { @@ -318,6 +334,10 @@ import { DisassociateTrafficDistributionGroupUserCommandInput, DisassociateTrafficDistributionGroupUserCommandOutput, } from "./commands/DisassociateTrafficDistributionGroupUserCommand"; +import { + DisassociateUserProficienciesCommandInput, + DisassociateUserProficienciesCommandOutput, +} from "./commands/DisassociateUserProficienciesCommand"; import { DismissUserContactCommandInput, DismissUserContactCommandOutput } from "./commands/DismissUserContactCommand"; import { GetContactAttributesCommandInput, @@ -402,6 +422,10 @@ import { import { ListLexBotsCommandInput, ListLexBotsCommandOutput } from "./commands/ListLexBotsCommand"; import { ListPhoneNumbersCommandInput, ListPhoneNumbersCommandOutput } from "./commands/ListPhoneNumbersCommand"; import { ListPhoneNumbersV2CommandInput, ListPhoneNumbersV2CommandOutput } from "./commands/ListPhoneNumbersV2Command"; +import { + ListPredefinedAttributesCommandInput, + ListPredefinedAttributesCommandOutput, +} from "./commands/ListPredefinedAttributesCommand"; import { ListPromptsCommandInput, ListPromptsCommandOutput } from "./commands/ListPromptsCommand"; import { ListQueueQuickConnectsCommandInput, @@ -453,6 +477,10 @@ import { ListUserHierarchyGroupsCommandInput, ListUserHierarchyGroupsCommandOutput, } from "./commands/ListUserHierarchyGroupsCommand"; +import { + ListUserProficienciesCommandInput, + ListUserProficienciesCommandOutput, +} from "./commands/ListUserProficienciesCommand"; import { ListUsersCommandInput, ListUsersCommandOutput } from "./commands/ListUsersCommand"; import { ListViewsCommandInput, ListViewsCommandOutput } from "./commands/ListViewsCommand"; import { ListViewVersionsCommandInput, ListViewVersionsCommandOutput } from "./commands/ListViewVersionsCommand"; @@ -470,10 +498,15 @@ import { SearchAvailablePhoneNumbersCommandInput, SearchAvailablePhoneNumbersCommandOutput, } from "./commands/SearchAvailablePhoneNumbersCommand"; +import { SearchContactsCommandInput, SearchContactsCommandOutput } from "./commands/SearchContactsCommand"; import { SearchHoursOfOperationsCommandInput, SearchHoursOfOperationsCommandOutput, } from "./commands/SearchHoursOfOperationsCommand"; +import { + SearchPredefinedAttributesCommandInput, + SearchPredefinedAttributesCommandOutput, +} from "./commands/SearchPredefinedAttributesCommand"; import { SearchPromptsCommandInput, SearchPromptsCommandOutput } from "./commands/SearchPromptsCommand"; import { SearchQueuesCommandInput, SearchQueuesCommandOutput } from "./commands/SearchQueuesCommand"; import { @@ -566,6 +599,10 @@ import { UpdateContactFlowNameCommandInput, UpdateContactFlowNameCommandOutput, } from "./commands/UpdateContactFlowNameCommand"; +import { + UpdateContactRoutingDataCommandInput, + UpdateContactRoutingDataCommandOutput, +} from "./commands/UpdateContactRoutingDataCommand"; import { UpdateContactScheduleCommandInput, UpdateContactScheduleCommandOutput, @@ -595,6 +632,10 @@ import { UpdatePhoneNumberMetadataCommandInput, UpdatePhoneNumberMetadataCommandOutput, } from "./commands/UpdatePhoneNumberMetadataCommand"; +import { + UpdatePredefinedAttributeCommandInput, + UpdatePredefinedAttributeCommandOutput, +} from "./commands/UpdatePredefinedAttributeCommand"; import { UpdatePromptCommandInput, UpdatePromptCommandOutput } from "./commands/UpdatePromptCommand"; import { UpdateQueueHoursOfOperationCommandInput, @@ -668,6 +709,10 @@ import { UpdateUserPhoneConfigCommandInput, UpdateUserPhoneConfigCommandOutput, } from "./commands/UpdateUserPhoneConfigCommand"; +import { + UpdateUserProficienciesCommandInput, + UpdateUserProficienciesCommandOutput, +} from "./commands/UpdateUserProficienciesCommand"; import { UpdateUserRoutingProfileCommandInput, UpdateUserRoutingProfileCommandOutput, @@ -707,6 +752,7 @@ export type ServiceInputTypes = | AssociateRoutingProfileQueuesCommandInput | AssociateSecurityKeyCommandInput | AssociateTrafficDistributionGroupUserCommandInput + | AssociateUserProficienciesCommandInput | BatchAssociateAnalyticsDataSetCommandInput | BatchDisassociateAnalyticsDataSetCommandInput | BatchGetFlowAssociationCommandInput @@ -721,6 +767,7 @@ export type ServiceInputTypes = | CreateIntegrationAssociationCommandInput | CreateParticipantCommandInput | CreatePersistentContactAssociationCommandInput + | CreatePredefinedAttributeCommandInput | CreatePromptCommandInput | CreateQueueCommandInput | CreateQuickConnectCommandInput @@ -743,6 +790,7 @@ export type ServiceInputTypes = | DeleteHoursOfOperationCommandInput | DeleteInstanceCommandInput | DeleteIntegrationAssociationCommandInput + | DeletePredefinedAttributeCommandInput | DeletePromptCommandInput | DeleteQueueCommandInput | DeleteQuickConnectCommandInput @@ -768,6 +816,7 @@ export type ServiceInputTypes = | DescribeInstanceCommandInput | DescribeInstanceStorageConfigCommandInput | DescribePhoneNumberCommandInput + | DescribePredefinedAttributeCommandInput | DescribePromptCommandInput | DescribeQueueCommandInput | DescribeQuickConnectCommandInput @@ -792,6 +841,7 @@ export type ServiceInputTypes = | DisassociateRoutingProfileQueuesCommandInput | DisassociateSecurityKeyCommandInput | DisassociateTrafficDistributionGroupUserCommandInput + | DisassociateUserProficienciesCommandInput | DismissUserContactCommandInput | GetContactAttributesCommandInput | GetCurrentMetricDataCommandInput @@ -825,6 +875,7 @@ export type ServiceInputTypes = | ListLexBotsCommandInput | ListPhoneNumbersCommandInput | ListPhoneNumbersV2CommandInput + | ListPredefinedAttributesCommandInput | ListPromptsCommandInput | ListQueueQuickConnectsCommandInput | ListQueuesCommandInput @@ -843,6 +894,7 @@ export type ServiceInputTypes = | ListTrafficDistributionGroupsCommandInput | ListUseCasesCommandInput | ListUserHierarchyGroupsCommandInput + | ListUserProficienciesCommandInput | ListUsersCommandInput | ListViewVersionsCommandInput | ListViewsCommandInput @@ -854,7 +906,9 @@ export type ServiceInputTypes = | ResumeContactCommandInput | ResumeContactRecordingCommandInput | SearchAvailablePhoneNumbersCommandInput + | SearchContactsCommandInput | SearchHoursOfOperationsCommandInput + | SearchPredefinedAttributesCommandInput | SearchPromptsCommandInput | SearchQueuesCommandInput | SearchQuickConnectsCommandInput @@ -890,6 +944,7 @@ export type ServiceInputTypes = | UpdateContactFlowModuleContentCommandInput | UpdateContactFlowModuleMetadataCommandInput | UpdateContactFlowNameCommandInput + | UpdateContactRoutingDataCommandInput | UpdateContactScheduleCommandInput | UpdateEvaluationFormCommandInput | UpdateHoursOfOperationCommandInput @@ -898,6 +953,7 @@ export type ServiceInputTypes = | UpdateParticipantRoleConfigCommandInput | UpdatePhoneNumberCommandInput | UpdatePhoneNumberMetadataCommandInput + | UpdatePredefinedAttributeCommandInput | UpdatePromptCommandInput | UpdateQueueHoursOfOperationCommandInput | UpdateQueueMaxContactsCommandInput @@ -920,6 +976,7 @@ export type ServiceInputTypes = | UpdateUserHierarchyStructureCommandInput | UpdateUserIdentityInfoCommandInput | UpdateUserPhoneConfigCommandInput + | UpdateUserProficienciesCommandInput | UpdateUserRoutingProfileCommandInput | UpdateUserSecurityProfilesCommandInput | UpdateViewContentCommandInput @@ -943,6 +1000,7 @@ export type ServiceOutputTypes = | AssociateRoutingProfileQueuesCommandOutput | AssociateSecurityKeyCommandOutput | AssociateTrafficDistributionGroupUserCommandOutput + | AssociateUserProficienciesCommandOutput | BatchAssociateAnalyticsDataSetCommandOutput | BatchDisassociateAnalyticsDataSetCommandOutput | BatchGetFlowAssociationCommandOutput @@ -957,6 +1015,7 @@ export type ServiceOutputTypes = | CreateIntegrationAssociationCommandOutput | CreateParticipantCommandOutput | CreatePersistentContactAssociationCommandOutput + | CreatePredefinedAttributeCommandOutput | CreatePromptCommandOutput | CreateQueueCommandOutput | CreateQuickConnectCommandOutput @@ -979,6 +1038,7 @@ export type ServiceOutputTypes = | DeleteHoursOfOperationCommandOutput | DeleteInstanceCommandOutput | DeleteIntegrationAssociationCommandOutput + | DeletePredefinedAttributeCommandOutput | DeletePromptCommandOutput | DeleteQueueCommandOutput | DeleteQuickConnectCommandOutput @@ -1004,6 +1064,7 @@ export type ServiceOutputTypes = | DescribeInstanceCommandOutput | DescribeInstanceStorageConfigCommandOutput | DescribePhoneNumberCommandOutput + | DescribePredefinedAttributeCommandOutput | DescribePromptCommandOutput | DescribeQueueCommandOutput | DescribeQuickConnectCommandOutput @@ -1028,6 +1089,7 @@ export type ServiceOutputTypes = | DisassociateRoutingProfileQueuesCommandOutput | DisassociateSecurityKeyCommandOutput | DisassociateTrafficDistributionGroupUserCommandOutput + | DisassociateUserProficienciesCommandOutput | DismissUserContactCommandOutput | GetContactAttributesCommandOutput | GetCurrentMetricDataCommandOutput @@ -1061,6 +1123,7 @@ export type ServiceOutputTypes = | ListLexBotsCommandOutput | ListPhoneNumbersCommandOutput | ListPhoneNumbersV2CommandOutput + | ListPredefinedAttributesCommandOutput | ListPromptsCommandOutput | ListQueueQuickConnectsCommandOutput | ListQueuesCommandOutput @@ -1079,6 +1142,7 @@ export type ServiceOutputTypes = | ListTrafficDistributionGroupsCommandOutput | ListUseCasesCommandOutput | ListUserHierarchyGroupsCommandOutput + | ListUserProficienciesCommandOutput | ListUsersCommandOutput | ListViewVersionsCommandOutput | ListViewsCommandOutput @@ -1090,7 +1154,9 @@ export type ServiceOutputTypes = | ResumeContactCommandOutput | ResumeContactRecordingCommandOutput | SearchAvailablePhoneNumbersCommandOutput + | SearchContactsCommandOutput | SearchHoursOfOperationsCommandOutput + | SearchPredefinedAttributesCommandOutput | SearchPromptsCommandOutput | SearchQueuesCommandOutput | SearchQuickConnectsCommandOutput @@ -1126,6 +1192,7 @@ export type ServiceOutputTypes = | UpdateContactFlowModuleContentCommandOutput | UpdateContactFlowModuleMetadataCommandOutput | UpdateContactFlowNameCommandOutput + | UpdateContactRoutingDataCommandOutput | UpdateContactScheduleCommandOutput | UpdateEvaluationFormCommandOutput | UpdateHoursOfOperationCommandOutput @@ -1134,6 +1201,7 @@ export type ServiceOutputTypes = | UpdateParticipantRoleConfigCommandOutput | UpdatePhoneNumberCommandOutput | UpdatePhoneNumberMetadataCommandOutput + | UpdatePredefinedAttributeCommandOutput | UpdatePromptCommandOutput | UpdateQueueHoursOfOperationCommandOutput | UpdateQueueMaxContactsCommandOutput @@ -1156,6 +1224,7 @@ export type ServiceOutputTypes = | UpdateUserHierarchyStructureCommandOutput | UpdateUserIdentityInfoCommandOutput | UpdateUserPhoneConfigCommandOutput + | UpdateUserProficienciesCommandOutput | UpdateUserRoutingProfileCommandOutput | UpdateUserSecurityProfilesCommandOutput | UpdateViewContentCommandOutput diff --git a/clients/client-connect/src/commands/AssociateUserProficienciesCommand.ts b/clients/client-connect/src/commands/AssociateUserProficienciesCommand.ts new file mode 100644 index 0000000000000..f627c856ed632 --- /dev/null +++ b/clients/client-connect/src/commands/AssociateUserProficienciesCommand.ts @@ -0,0 +1,163 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { AssociateUserProficienciesRequest } from "../models/models_0"; +import { de_AssociateUserProficienciesCommand, se_AssociateUserProficienciesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link AssociateUserProficienciesCommand}. + */ +export interface AssociateUserProficienciesCommandInput extends AssociateUserProficienciesRequest {} +/** + * @public + * + * The output of {@link AssociateUserProficienciesCommand}. + */ +export interface AssociateUserProficienciesCommandOutput extends __MetadataBearer {} + +/** + * @public + *

>Associates a set of proficiencies with a user.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, AssociateUserProficienciesCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, AssociateUserProficienciesCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // AssociateUserProficienciesRequest + * InstanceId: "STRING_VALUE", // required + * UserId: "STRING_VALUE", // required + * UserProficiencies: [ // UserProficiencyList // required + * { // UserProficiency + * AttributeName: "STRING_VALUE", // required + * AttributeValue: "STRING_VALUE", // required + * Level: Number("float"), // required + * }, + * ], + * }; + * const command = new AssociateUserProficienciesCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param AssociateUserProficienciesCommandInput - {@link AssociateUserProficienciesCommandInput} + * @returns {@link AssociateUserProficienciesCommandOutput} + * @see {@link AssociateUserProficienciesCommandInput} for command's `input` shape. + * @see {@link AssociateUserProficienciesCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class AssociateUserProficienciesCommand extends $Command< + AssociateUserProficienciesCommandInput, + AssociateUserProficienciesCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: AssociateUserProficienciesCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, AssociateUserProficienciesCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "AssociateUserProficienciesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "AssociateUserProficiencies", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: AssociateUserProficienciesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_AssociateUserProficienciesCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_AssociateUserProficienciesCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/CreatePredefinedAttributeCommand.ts b/clients/client-connect/src/commands/CreatePredefinedAttributeCommand.ts new file mode 100644 index 0000000000000..5d569b0ff6aa8 --- /dev/null +++ b/clients/client-connect/src/commands/CreatePredefinedAttributeCommand.ts @@ -0,0 +1,167 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { CreatePredefinedAttributeRequest } from "../models/models_0"; +import { de_CreatePredefinedAttributeCommand, se_CreatePredefinedAttributeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CreatePredefinedAttributeCommand}. + */ +export interface CreatePredefinedAttributeCommandInput extends CreatePredefinedAttributeRequest {} +/** + * @public + * + * The output of {@link CreatePredefinedAttributeCommand}. + */ +export interface CreatePredefinedAttributeCommandOutput extends __MetadataBearer {} + +/** + * @public + *

Creates a new predefined attribute for the specified Amazon Connect instance.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, CreatePredefinedAttributeCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, CreatePredefinedAttributeCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // CreatePredefinedAttributeRequest + * InstanceId: "STRING_VALUE", // required + * Name: "STRING_VALUE", // required + * Values: { // PredefinedAttributeValues Union: only one key present + * StringList: [ // PredefinedAttributeStringValuesList + * "STRING_VALUE", + * ], + * }, + * }; + * const command = new CreatePredefinedAttributeCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param CreatePredefinedAttributeCommandInput - {@link CreatePredefinedAttributeCommandInput} + * @returns {@link CreatePredefinedAttributeCommandOutput} + * @see {@link CreatePredefinedAttributeCommandInput} for command's `input` shape. + * @see {@link CreatePredefinedAttributeCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link DuplicateResourceException} (client fault) + *

A resource with the specified name already exists.

+ * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link LimitExceededException} (client fault) + *

The allowed limit for the resource has been exceeded.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class CreatePredefinedAttributeCommand extends $Command< + CreatePredefinedAttributeCommandInput, + CreatePredefinedAttributeCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: CreatePredefinedAttributeCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, CreatePredefinedAttributeCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "CreatePredefinedAttributeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "CreatePredefinedAttribute", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: CreatePredefinedAttributeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_CreatePredefinedAttributeCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_CreatePredefinedAttributeCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/DeletePredefinedAttributeCommand.ts b/clients/client-connect/src/commands/DeletePredefinedAttributeCommand.ts new file mode 100644 index 0000000000000..17f18c71f0575 --- /dev/null +++ b/clients/client-connect/src/commands/DeletePredefinedAttributeCommand.ts @@ -0,0 +1,159 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DeletePredefinedAttributeRequest } from "../models/models_0"; +import { de_DeletePredefinedAttributeCommand, se_DeletePredefinedAttributeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeletePredefinedAttributeCommand}. + */ +export interface DeletePredefinedAttributeCommandInput extends DeletePredefinedAttributeRequest {} +/** + * @public + * + * The output of {@link DeletePredefinedAttributeCommand}. + */ +export interface DeletePredefinedAttributeCommandOutput extends __MetadataBearer {} + +/** + * @public + *

Deletes a predefined attribute from the specified Amazon Connect instance.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, DeletePredefinedAttributeCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, DeletePredefinedAttributeCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // DeletePredefinedAttributeRequest + * InstanceId: "STRING_VALUE", // required + * Name: "STRING_VALUE", // required + * }; + * const command = new DeletePredefinedAttributeCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeletePredefinedAttributeCommandInput - {@link DeletePredefinedAttributeCommandInput} + * @returns {@link DeletePredefinedAttributeCommandOutput} + * @see {@link DeletePredefinedAttributeCommandInput} for command's `input` shape. + * @see {@link DeletePredefinedAttributeCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceInUseException} (client fault) + *

That resource is already in use. Please try another.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class DeletePredefinedAttributeCommand extends $Command< + DeletePredefinedAttributeCommandInput, + DeletePredefinedAttributeCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DeletePredefinedAttributeCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DeletePredefinedAttributeCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DeletePredefinedAttributeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "DeletePredefinedAttribute", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DeletePredefinedAttributeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DeletePredefinedAttributeCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_DeletePredefinedAttributeCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/DescribeContactCommand.ts b/clients/client-connect/src/commands/DescribeContactCommand.ts index 8e59a5b977b15..6f842d7f36c73 100644 --- a/clients/client-connect/src/commands/DescribeContactCommand.ts +++ b/clients/client-connect/src/commands/DescribeContactCommand.ts @@ -88,6 +88,8 @@ export interface DescribeContactCommandOutput extends DescribeContactResponse, _ * // WisdomInfo: { // WisdomInfo * // SessionArn: "STRING_VALUE", * // }, + * // QueueTimeAdjustmentSeconds: Number("int"), + * // QueuePriority: Number("long"), * // Tags: { // ContactTagMap * // "": "STRING_VALUE", * // }, diff --git a/clients/client-connect/src/commands/DescribePhoneNumberCommand.ts b/clients/client-connect/src/commands/DescribePhoneNumberCommand.ts index 96853a7987e29..aaf8724de8398 100644 --- a/clients/client-connect/src/commands/DescribePhoneNumberCommand.ts +++ b/clients/client-connect/src/commands/DescribePhoneNumberCommand.ts @@ -15,7 +15,8 @@ import { } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { DescribePhoneNumberRequest, DescribePhoneNumberResponse } from "../models/models_0"; +import { DescribePhoneNumberRequest } from "../models/models_0"; +import { DescribePhoneNumberResponse } from "../models/models_1"; import { de_DescribePhoneNumberCommand, se_DescribePhoneNumberCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/DescribePredefinedAttributeCommand.ts b/clients/client-connect/src/commands/DescribePredefinedAttributeCommand.ts new file mode 100644 index 0000000000000..daf48022266ac --- /dev/null +++ b/clients/client-connect/src/commands/DescribePredefinedAttributeCommand.ts @@ -0,0 +1,172 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DescribePredefinedAttributeRequest, DescribePredefinedAttributeResponse } from "../models/models_1"; +import { + de_DescribePredefinedAttributeCommand, + se_DescribePredefinedAttributeCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DescribePredefinedAttributeCommand}. + */ +export interface DescribePredefinedAttributeCommandInput extends DescribePredefinedAttributeRequest {} +/** + * @public + * + * The output of {@link DescribePredefinedAttributeCommand}. + */ +export interface DescribePredefinedAttributeCommandOutput + extends DescribePredefinedAttributeResponse, + __MetadataBearer {} + +/** + * @public + *

Describes a predefined attribute for the specified Amazon Connect instance.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, DescribePredefinedAttributeCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, DescribePredefinedAttributeCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // DescribePredefinedAttributeRequest + * InstanceId: "STRING_VALUE", // required + * Name: "STRING_VALUE", // required + * }; + * const command = new DescribePredefinedAttributeCommand(input); + * const response = await client.send(command); + * // { // DescribePredefinedAttributeResponse + * // PredefinedAttribute: { // PredefinedAttribute + * // Name: "STRING_VALUE", + * // Values: { // PredefinedAttributeValues Union: only one key present + * // StringList: [ // PredefinedAttributeStringValuesList + * // "STRING_VALUE", + * // ], + * // }, + * // LastModifiedTime: new Date("TIMESTAMP"), + * // LastModifiedRegion: "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param DescribePredefinedAttributeCommandInput - {@link DescribePredefinedAttributeCommandInput} + * @returns {@link DescribePredefinedAttributeCommandOutput} + * @see {@link DescribePredefinedAttributeCommandInput} for command's `input` shape. + * @see {@link DescribePredefinedAttributeCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class DescribePredefinedAttributeCommand extends $Command< + DescribePredefinedAttributeCommandInput, + DescribePredefinedAttributeCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DescribePredefinedAttributeCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DescribePredefinedAttributeCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DescribePredefinedAttributeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "DescribePredefinedAttribute", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DescribePredefinedAttributeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DescribePredefinedAttributeCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_DescribePredefinedAttributeCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/DescribePromptCommand.ts b/clients/client-connect/src/commands/DescribePromptCommand.ts index 05ea84647879b..a347ceb4bac2b 100644 --- a/clients/client-connect/src/commands/DescribePromptCommand.ts +++ b/clients/client-connect/src/commands/DescribePromptCommand.ts @@ -15,8 +15,7 @@ import { } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { DescribePromptRequest } from "../models/models_0"; -import { DescribePromptResponse } from "../models/models_1"; +import { DescribePromptRequest, DescribePromptResponse } from "../models/models_1"; import { de_DescribePromptCommand, se_DescribePromptCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/DisassociateUserProficienciesCommand.ts b/clients/client-connect/src/commands/DisassociateUserProficienciesCommand.ts new file mode 100644 index 0000000000000..35128f798bed7 --- /dev/null +++ b/clients/client-connect/src/commands/DisassociateUserProficienciesCommand.ts @@ -0,0 +1,165 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DisassociateUserProficienciesRequest } from "../models/models_1"; +import { + de_DisassociateUserProficienciesCommand, + se_DisassociateUserProficienciesCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DisassociateUserProficienciesCommand}. + */ +export interface DisassociateUserProficienciesCommandInput extends DisassociateUserProficienciesRequest {} +/** + * @public + * + * The output of {@link DisassociateUserProficienciesCommand}. + */ +export interface DisassociateUserProficienciesCommandOutput extends __MetadataBearer {} + +/** + * @public + *

Disassociates a set of proficiencies from a user.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, DisassociateUserProficienciesCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, DisassociateUserProficienciesCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // DisassociateUserProficienciesRequest + * InstanceId: "STRING_VALUE", // required + * UserId: "STRING_VALUE", // required + * UserProficiencies: [ // UserProficiencyDisassociateList // required + * { // UserProficiencyDisassociate + * AttributeName: "STRING_VALUE", // required + * AttributeValue: "STRING_VALUE", // required + * }, + * ], + * }; + * const command = new DisassociateUserProficienciesCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DisassociateUserProficienciesCommandInput - {@link DisassociateUserProficienciesCommandInput} + * @returns {@link DisassociateUserProficienciesCommandOutput} + * @see {@link DisassociateUserProficienciesCommandInput} for command's `input` shape. + * @see {@link DisassociateUserProficienciesCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class DisassociateUserProficienciesCommand extends $Command< + DisassociateUserProficienciesCommandInput, + DisassociateUserProficienciesCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DisassociateUserProficienciesCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DisassociateUserProficienciesCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "DisassociateUserProficienciesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "DisassociateUserProficiencies", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DisassociateUserProficienciesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DisassociateUserProficienciesCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_DisassociateUserProficienciesCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/GetCurrentMetricDataCommand.ts b/clients/client-connect/src/commands/GetCurrentMetricDataCommand.ts index 61089d286d897..04d04e416880a 100644 --- a/clients/client-connect/src/commands/GetCurrentMetricDataCommand.ts +++ b/clients/client-connect/src/commands/GetCurrentMetricDataCommand.ts @@ -58,9 +58,12 @@ export interface GetCurrentMetricDataCommandOutput extends GetCurrentMetricDataR * RoutingProfiles: [ // RoutingProfiles * "STRING_VALUE", * ], + * RoutingStepExpressions: [ // RoutingExpressions + * "STRING_VALUE", + * ], * }, * Groupings: [ // Groupings - * "QUEUE" || "CHANNEL" || "ROUTING_PROFILE", + * "QUEUE" || "CHANNEL" || "ROUTING_PROFILE" || "ROUTING_STEP_EXPRESSION", * ], * CurrentMetrics: [ // CurrentMetrics // required * { // CurrentMetric @@ -93,6 +96,7 @@ export interface GetCurrentMetricDataCommandOutput extends GetCurrentMetricDataR * // Id: "STRING_VALUE", * // Arn: "STRING_VALUE", * // }, + * // RoutingStepExpression: "STRING_VALUE", * // }, * // Collections: [ // CurrentMetricDataCollections * // { // CurrentMetricData diff --git a/clients/client-connect/src/commands/GetMetricDataCommand.ts b/clients/client-connect/src/commands/GetMetricDataCommand.ts index 0136abe4144fb..466894c512dd8 100644 --- a/clients/client-connect/src/commands/GetMetricDataCommand.ts +++ b/clients/client-connect/src/commands/GetMetricDataCommand.ts @@ -69,9 +69,12 @@ export interface GetMetricDataCommandOutput extends GetMetricDataResponse, __Met * RoutingProfiles: [ // RoutingProfiles * "STRING_VALUE", * ], + * RoutingStepExpressions: [ // RoutingExpressions + * "STRING_VALUE", + * ], * }, * Groupings: [ // Groupings - * "QUEUE" || "CHANNEL" || "ROUTING_PROFILE", + * "QUEUE" || "CHANNEL" || "ROUTING_PROFILE" || "ROUTING_STEP_EXPRESSION", * ], * HistoricalMetrics: [ // HistoricalMetrics // required * { // HistoricalMetric @@ -103,6 +106,7 @@ export interface GetMetricDataCommandOutput extends GetMetricDataResponse, __Met * // Id: "STRING_VALUE", * // Arn: "STRING_VALUE", * // }, + * // RoutingStepExpression: "STRING_VALUE", * // }, * // Collections: [ // HistoricalMetricDataCollections * // { // HistoricalMetricData diff --git a/clients/client-connect/src/commands/ListPredefinedAttributesCommand.ts b/clients/client-connect/src/commands/ListPredefinedAttributesCommand.ts new file mode 100644 index 0000000000000..a9b4b086b8198 --- /dev/null +++ b/clients/client-connect/src/commands/ListPredefinedAttributesCommand.ts @@ -0,0 +1,163 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListPredefinedAttributesRequest, ListPredefinedAttributesResponse } from "../models/models_1"; +import { de_ListPredefinedAttributesCommand, se_ListPredefinedAttributesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ListPredefinedAttributesCommand}. + */ +export interface ListPredefinedAttributesCommandInput extends ListPredefinedAttributesRequest {} +/** + * @public + * + * The output of {@link ListPredefinedAttributesCommand}. + */ +export interface ListPredefinedAttributesCommandOutput extends ListPredefinedAttributesResponse, __MetadataBearer {} + +/** + * @public + *

Lists predefined attributes for the specified Amazon Connect instance.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, ListPredefinedAttributesCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, ListPredefinedAttributesCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // ListPredefinedAttributesRequest + * InstanceId: "STRING_VALUE", // required + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * }; + * const command = new ListPredefinedAttributesCommand(input); + * const response = await client.send(command); + * // { // ListPredefinedAttributesResponse + * // NextToken: "STRING_VALUE", + * // PredefinedAttributeSummaryList: [ // PredefinedAttributeSummaryList + * // { // PredefinedAttributeSummary + * // Name: "STRING_VALUE", + * // LastModifiedTime: new Date("TIMESTAMP"), + * // LastModifiedRegion: "STRING_VALUE", + * // }, + * // ], + * // }; + * + * ``` + * + * @param ListPredefinedAttributesCommandInput - {@link ListPredefinedAttributesCommandInput} + * @returns {@link ListPredefinedAttributesCommandOutput} + * @see {@link ListPredefinedAttributesCommandInput} for command's `input` shape. + * @see {@link ListPredefinedAttributesCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class ListPredefinedAttributesCommand extends $Command< + ListPredefinedAttributesCommandInput, + ListPredefinedAttributesCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: ListPredefinedAttributesCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, ListPredefinedAttributesCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "ListPredefinedAttributesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "ListPredefinedAttributes", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ListPredefinedAttributesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ListPredefinedAttributesCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ListPredefinedAttributesCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/ListUserProficienciesCommand.ts b/clients/client-connect/src/commands/ListUserProficienciesCommand.ts new file mode 100644 index 0000000000000..a1fbe3bd906c2 --- /dev/null +++ b/clients/client-connect/src/commands/ListUserProficienciesCommand.ts @@ -0,0 +1,166 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListUserProficienciesRequest, ListUserProficienciesResponse } from "../models/models_1"; +import { de_ListUserProficienciesCommand, se_ListUserProficienciesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ListUserProficienciesCommand}. + */ +export interface ListUserProficienciesCommandInput extends ListUserProficienciesRequest {} +/** + * @public + * + * The output of {@link ListUserProficienciesCommand}. + */ +export interface ListUserProficienciesCommandOutput extends ListUserProficienciesResponse, __MetadataBearer {} + +/** + * @public + *

Lists proficiencies associated with a user.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, ListUserProficienciesCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, ListUserProficienciesCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // ListUserProficienciesRequest + * InstanceId: "STRING_VALUE", // required + * UserId: "STRING_VALUE", // required + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * }; + * const command = new ListUserProficienciesCommand(input); + * const response = await client.send(command); + * // { // ListUserProficienciesResponse + * // NextToken: "STRING_VALUE", + * // UserProficiencyList: [ // UserProficiencyList + * // { // UserProficiency + * // AttributeName: "STRING_VALUE", // required + * // AttributeValue: "STRING_VALUE", // required + * // Level: Number("float"), // required + * // }, + * // ], + * // LastModifiedTime: new Date("TIMESTAMP"), + * // LastModifiedRegion: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListUserProficienciesCommandInput - {@link ListUserProficienciesCommandInput} + * @returns {@link ListUserProficienciesCommandOutput} + * @see {@link ListUserProficienciesCommandInput} for command's `input` shape. + * @see {@link ListUserProficienciesCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class ListUserProficienciesCommand extends $Command< + ListUserProficienciesCommandInput, + ListUserProficienciesCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: ListUserProficienciesCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, ListUserProficienciesCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "ListUserProficienciesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "ListUserProficiencies", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ListUserProficienciesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ListUserProficienciesCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ListUserProficienciesCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/PauseContactCommand.ts b/clients/client-connect/src/commands/PauseContactCommand.ts index 44e616d0e40b8..2c9ef7c8fdd5c 100644 --- a/clients/client-connect/src/commands/PauseContactCommand.ts +++ b/clients/client-connect/src/commands/PauseContactCommand.ts @@ -65,7 +65,8 @@ export interface PauseContactCommandOutput extends PauseContactResponse, __Metad *

You do not have sufficient permissions to perform this action.

* * @throws {@link ConflictException} (client fault) - *

Operation cannot be performed at this time as there is a conflict with another operation or contact state.

+ *

Operation cannot be performed at this time as there is a conflict with another operation or + * contact state.

* * @throws {@link InternalServiceException} (server fault) *

Request processing failed because of an error or failure with the service.

diff --git a/clients/client-connect/src/commands/ResumeContactCommand.ts b/clients/client-connect/src/commands/ResumeContactCommand.ts index 993e051412bc3..deda6437a13e2 100644 --- a/clients/client-connect/src/commands/ResumeContactCommand.ts +++ b/clients/client-connect/src/commands/ResumeContactCommand.ts @@ -65,7 +65,8 @@ export interface ResumeContactCommandOutput extends ResumeContactResponse, __Met *

You do not have sufficient permissions to perform this action.

* * @throws {@link ConflictException} (client fault) - *

Operation cannot be performed at this time as there is a conflict with another operation or contact state.

+ *

Operation cannot be performed at this time as there is a conflict with another operation or + * contact state.

* * @throws {@link InternalServiceException} (server fault) *

Request processing failed because of an error or failure with the service.

diff --git a/clients/client-connect/src/commands/SearchContactsCommand.ts b/clients/client-connect/src/commands/SearchContactsCommand.ts new file mode 100644 index 0000000000000..9b48d7faa4f42 --- /dev/null +++ b/clients/client-connect/src/commands/SearchContactsCommand.ts @@ -0,0 +1,247 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { + SearchContactsRequest, + SearchContactsRequestFilterSensitiveLog, + SearchContactsResponse, +} from "../models/models_2"; +import { de_SearchContactsCommand, se_SearchContactsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link SearchContactsCommand}. + */ +export interface SearchContactsCommandInput extends SearchContactsRequest {} +/** + * @public + * + * The output of {@link SearchContactsCommand}. + */ +export interface SearchContactsCommandOutput extends SearchContactsResponse, __MetadataBearer {} + +/** + * @public + *

Searches contacts in an Amazon Connect instance.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, SearchContactsCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, SearchContactsCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // SearchContactsRequest + * InstanceId: "STRING_VALUE", // required + * TimeRange: { // SearchContactsTimeRange + * Type: "INITIATION_TIMESTAMP" || "SCHEDULED_TIMESTAMP" || "CONNECTED_TO_AGENT_TIMESTAMP" || "DISCONNECT_TIMESTAMP", // required + * StartTime: new Date("TIMESTAMP"), // required + * EndTime: new Date("TIMESTAMP"), // required + * }, + * SearchCriteria: { // SearchCriteria + * AgentIds: [ // AgentResourceIdList + * "STRING_VALUE", + * ], + * AgentHierarchyGroups: { // AgentHierarchyGroups + * L1Ids: [ // HierarchyGroupIdList + * "STRING_VALUE", + * ], + * L2Ids: [ + * "STRING_VALUE", + * ], + * L3Ids: [ + * "STRING_VALUE", + * ], + * L4Ids: [ + * "STRING_VALUE", + * ], + * L5Ids: [ + * "STRING_VALUE", + * ], + * }, + * Channels: [ // ChannelList + * "VOICE" || "CHAT" || "TASK", + * ], + * ContactAnalysis: { // ContactAnalysis + * Transcript: { // Transcript + * Criteria: [ // TranscriptCriteriaList // required + * { // TranscriptCriteria + * ParticipantRole: "AGENT" || "CUSTOMER" || "SYSTEM" || "CUSTOM_BOT", // required + * SearchText: [ // SearchTextList // required + * "STRING_VALUE", + * ], + * MatchType: "MATCH_ALL" || "MATCH_ANY", // required + * }, + * ], + * MatchType: "MATCH_ALL" || "MATCH_ANY", + * }, + * }, + * InitiationMethods: [ // InitiationMethodList + * "INBOUND" || "OUTBOUND" || "TRANSFER" || "QUEUE_TRANSFER" || "CALLBACK" || "API" || "DISCONNECT" || "MONITOR" || "EXTERNAL_OUTBOUND", + * ], + * QueueIds: [ // QueueIdList + * "STRING_VALUE", + * ], + * SearchableContactAttributes: { // SearchableContactAttributes + * Criteria: [ // SearchableContactAttributesCriteriaList // required + * { // SearchableContactAttributesCriteria + * Key: "STRING_VALUE", // required + * Values: [ // SearchableContactAttributeValueList // required + * "STRING_VALUE", + * ], + * }, + * ], + * MatchType: "MATCH_ALL" || "MATCH_ANY", + * }, + * }, + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * Sort: { // Sort + * FieldName: "INITIATION_TIMESTAMP" || "SCHEDULED_TIMESTAMP" || "CONNECTED_TO_AGENT_TIMESTAMP" || "DISCONNECT_TIMESTAMP" || "INITIATION_METHOD" || "CHANNEL", // required + * Order: "ASCENDING" || "DESCENDING", // required + * }, + * }; + * const command = new SearchContactsCommand(input); + * const response = await client.send(command); + * // { // SearchContactsResponse + * // Contacts: [ // Contacts // required + * // { // ContactSearchSummary + * // Arn: "STRING_VALUE", + * // Id: "STRING_VALUE", + * // InitialContactId: "STRING_VALUE", + * // PreviousContactId: "STRING_VALUE", + * // InitiationMethod: "INBOUND" || "OUTBOUND" || "TRANSFER" || "QUEUE_TRANSFER" || "CALLBACK" || "API" || "DISCONNECT" || "MONITOR" || "EXTERNAL_OUTBOUND", + * // Channel: "VOICE" || "CHAT" || "TASK", + * // QueueInfo: { // ContactSearchSummaryQueueInfo + * // Id: "STRING_VALUE", + * // EnqueueTimestamp: new Date("TIMESTAMP"), + * // }, + * // AgentInfo: { // ContactSearchSummaryAgentInfo + * // Id: "STRING_VALUE", + * // ConnectedToAgentTimestamp: new Date("TIMESTAMP"), + * // }, + * // InitiationTimestamp: new Date("TIMESTAMP"), + * // DisconnectTimestamp: new Date("TIMESTAMP"), + * // ScheduledTimestamp: new Date("TIMESTAMP"), + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // TotalCount: Number("long"), + * // }; + * + * ``` + * + * @param SearchContactsCommandInput - {@link SearchContactsCommandInput} + * @returns {@link SearchContactsCommandOutput} + * @see {@link SearchContactsCommandInput} for command's `input` shape. + * @see {@link SearchContactsCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class SearchContactsCommand extends $Command< + SearchContactsCommandInput, + SearchContactsCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: SearchContactsCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, SearchContactsCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "SearchContactsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: SearchContactsRequestFilterSensitiveLog, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "SearchContacts", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: SearchContactsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_SearchContactsCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_SearchContactsCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/SearchHoursOfOperationsCommand.ts b/clients/client-connect/src/commands/SearchHoursOfOperationsCommand.ts index c38d7f90d3204..f5992f991b3e1 100644 --- a/clients/client-connect/src/commands/SearchHoursOfOperationsCommand.ts +++ b/clients/client-connect/src/commands/SearchHoursOfOperationsCommand.ts @@ -15,8 +15,7 @@ import { } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { SearchHoursOfOperationsResponse } from "../models/models_1"; -import { SearchHoursOfOperationsRequest } from "../models/models_2"; +import { SearchHoursOfOperationsRequest, SearchHoursOfOperationsResponse } from "../models/models_2"; import { de_SearchHoursOfOperationsCommand, se_SearchHoursOfOperationsCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/SearchPredefinedAttributesCommand.ts b/clients/client-connect/src/commands/SearchPredefinedAttributesCommand.ts new file mode 100644 index 0000000000000..f07e0080fede8 --- /dev/null +++ b/clients/client-connect/src/commands/SearchPredefinedAttributesCommand.ts @@ -0,0 +1,197 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { SearchPredefinedAttributesRequest, SearchPredefinedAttributesResponse } from "../models/models_2"; +import { de_SearchPredefinedAttributesCommand, se_SearchPredefinedAttributesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link SearchPredefinedAttributesCommand}. + */ +export interface SearchPredefinedAttributesCommandInput extends SearchPredefinedAttributesRequest {} +/** + * @public + * + * The output of {@link SearchPredefinedAttributesCommand}. + */ +export interface SearchPredefinedAttributesCommandOutput extends SearchPredefinedAttributesResponse, __MetadataBearer {} + +/** + * @public + *

Predefined attributes that meet certain criteria.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, SearchPredefinedAttributesCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, SearchPredefinedAttributesCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // SearchPredefinedAttributesRequest + * InstanceId: "STRING_VALUE", // required + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * SearchCriteria: { // PredefinedAttributeSearchCriteria + * OrConditions: [ // PredefinedAttributeSearchConditionList + * { + * OrConditions: [ + * "", + * ], + * AndConditions: [ + * "", + * ], + * StringCondition: { // StringCondition + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * }, + * }, + * ], + * AndConditions: [ + * "", + * ], + * StringCondition: { + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * }, + * }, + * }; + * const command = new SearchPredefinedAttributesCommand(input); + * const response = await client.send(command); + * // { // SearchPredefinedAttributesResponse + * // PredefinedAttributes: [ // PredefinedAttributeSearchSummaryList + * // { // PredefinedAttribute + * // Name: "STRING_VALUE", + * // Values: { // PredefinedAttributeValues Union: only one key present + * // StringList: [ // PredefinedAttributeStringValuesList + * // "STRING_VALUE", + * // ], + * // }, + * // LastModifiedTime: new Date("TIMESTAMP"), + * // LastModifiedRegion: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // ApproximateTotalCount: Number("long"), + * // }; + * + * ``` + * + * @param SearchPredefinedAttributesCommandInput - {@link SearchPredefinedAttributesCommandInput} + * @returns {@link SearchPredefinedAttributesCommandOutput} + * @see {@link SearchPredefinedAttributesCommandInput} for command's `input` shape. + * @see {@link SearchPredefinedAttributesCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class SearchPredefinedAttributesCommand extends $Command< + SearchPredefinedAttributesCommandInput, + SearchPredefinedAttributesCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: SearchPredefinedAttributesCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, SearchPredefinedAttributesCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "SearchPredefinedAttributesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "SearchPredefinedAttributes", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: SearchPredefinedAttributesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_SearchPredefinedAttributesCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_SearchPredefinedAttributesCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/SearchPromptsCommand.ts b/clients/client-connect/src/commands/SearchPromptsCommand.ts index fadc9a283da18..9b3e672948524 100644 --- a/clients/client-connect/src/commands/SearchPromptsCommand.ts +++ b/clients/client-connect/src/commands/SearchPromptsCommand.ts @@ -15,8 +15,7 @@ import { } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { SearchPromptsResponse } from "../models/models_1"; -import { SearchPromptsRequest } from "../models/models_2"; +import { SearchPromptsRequest, SearchPromptsResponse } from "../models/models_2"; import { de_SearchPromptsCommand, se_SearchPromptsCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/SearchQueuesCommand.ts b/clients/client-connect/src/commands/SearchQueuesCommand.ts index fff2068c0fcf8..d7aa1bd31a09e 100644 --- a/clients/client-connect/src/commands/SearchQueuesCommand.ts +++ b/clients/client-connect/src/commands/SearchQueuesCommand.ts @@ -15,8 +15,7 @@ import { } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { SearchQueuesResponse } from "../models/models_1"; -import { SearchQueuesRequest } from "../models/models_2"; +import { SearchQueuesRequest, SearchQueuesResponse } from "../models/models_2"; import { de_SearchQueuesCommand, se_SearchQueuesCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/SearchQuickConnectsCommand.ts b/clients/client-connect/src/commands/SearchQuickConnectsCommand.ts index fdaab0181fa26..4910c5b74d361 100644 --- a/clients/client-connect/src/commands/SearchQuickConnectsCommand.ts +++ b/clients/client-connect/src/commands/SearchQuickConnectsCommand.ts @@ -15,8 +15,7 @@ import { } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { SearchQuickConnectsResponse } from "../models/models_1"; -import { SearchQuickConnectsRequest } from "../models/models_2"; +import { SearchQuickConnectsRequest, SearchQuickConnectsResponse } from "../models/models_2"; import { de_SearchQuickConnectsCommand, se_SearchQuickConnectsCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/SearchResourceTagsCommand.ts b/clients/client-connect/src/commands/SearchResourceTagsCommand.ts index c00560cc70c1d..7ac988862d9a5 100644 --- a/clients/client-connect/src/commands/SearchResourceTagsCommand.ts +++ b/clients/client-connect/src/commands/SearchResourceTagsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { SearchResourceTagsRequest, SearchResourceTagsResponse } from "../models/models_1"; +import { SearchResourceTagsRequest, SearchResourceTagsResponse } from "../models/models_2"; import { de_SearchResourceTagsCommand, se_SearchResourceTagsCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/SearchRoutingProfilesCommand.ts b/clients/client-connect/src/commands/SearchRoutingProfilesCommand.ts index f009d2cbc6685..e7b8612043794 100644 --- a/clients/client-connect/src/commands/SearchRoutingProfilesCommand.ts +++ b/clients/client-connect/src/commands/SearchRoutingProfilesCommand.ts @@ -15,8 +15,7 @@ import { } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { SearchRoutingProfilesResponse } from "../models/models_1"; -import { SearchRoutingProfilesRequest } from "../models/models_2"; +import { SearchRoutingProfilesRequest, SearchRoutingProfilesResponse } from "../models/models_2"; import { de_SearchRoutingProfilesCommand, se_SearchRoutingProfilesCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/SearchSecurityProfilesCommand.ts b/clients/client-connect/src/commands/SearchSecurityProfilesCommand.ts index 6553ae88a9fe5..f188ccbacaeab 100644 --- a/clients/client-connect/src/commands/SearchSecurityProfilesCommand.ts +++ b/clients/client-connect/src/commands/SearchSecurityProfilesCommand.ts @@ -15,8 +15,7 @@ import { } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { SearchSecurityProfilesResponse } from "../models/models_1"; -import { SearchSecurityProfilesRequest } from "../models/models_2"; +import { SearchSecurityProfilesRequest, SearchSecurityProfilesResponse } from "../models/models_2"; import { de_SearchSecurityProfilesCommand, se_SearchSecurityProfilesCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/TagContactCommand.ts b/clients/client-connect/src/commands/TagContactCommand.ts index a4b3acbc2d084..7de322bb6084e 100644 --- a/clients/client-connect/src/commands/TagContactCommand.ts +++ b/clients/client-connect/src/commands/TagContactCommand.ts @@ -37,9 +37,9 @@ export interface TagContactCommandOutput extends TagContactResponse, __MetadataB /** * @public - *

Adds the specified tags to the contact resource. For more information about this API is used, see Set up granular billing for a detailed - * view of your Amazon Connect usage. - *

+ *

Adds the specified tags to the contact resource. For more information about this API is + * used, see Set + * up granular billing for a detailed view of your Amazon Connect usage.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/UntagContactCommand.ts b/clients/client-connect/src/commands/UntagContactCommand.ts index 40270afff6719..ba5ae5438040e 100644 --- a/clients/client-connect/src/commands/UntagContactCommand.ts +++ b/clients/client-connect/src/commands/UntagContactCommand.ts @@ -37,8 +37,9 @@ export interface UntagContactCommandOutput extends UntagContactResponse, __Metad /** * @public - *

Removes the specified tags from the contact resource. For more information about this API is used, see Set up granular billing for a detailed - * view of your Amazon Connect usage.

+ *

Removes the specified tags from the contact resource. For more information about this API is + * used, see Set + * up granular billing for a detailed view of your Amazon Connect usage.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/UpdateContactRoutingDataCommand.ts b/clients/client-connect/src/commands/UpdateContactRoutingDataCommand.ts new file mode 100644 index 0000000000000..d713dde42c1a2 --- /dev/null +++ b/clients/client-connect/src/commands/UpdateContactRoutingDataCommand.ts @@ -0,0 +1,167 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateContactRoutingDataRequest, UpdateContactRoutingDataResponse } from "../models/models_2"; +import { de_UpdateContactRoutingDataCommand, se_UpdateContactRoutingDataCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link UpdateContactRoutingDataCommand}. + */ +export interface UpdateContactRoutingDataCommandInput extends UpdateContactRoutingDataRequest {} +/** + * @public + * + * The output of {@link UpdateContactRoutingDataCommand}. + */ +export interface UpdateContactRoutingDataCommandOutput extends UpdateContactRoutingDataResponse, __MetadataBearer {} + +/** + * @public + *

This API is in preview release for Amazon Connect and is subject to change.

+ *

Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). + * These properties can be used to change a customer's position in the queue. For example, you can + * move a contact to the back of the queue by setting a lower routing priority relative to other + * contacts in queue; or you can move a contact to the front of the queue by increasing the routing + * age which will make the contact look artificially older and therefore higher up in the + * first-in-first-out routing order. Note that adjusting the routing age of a contact affects only + * its position in queue, and not its actual queue wait time as reported through metrics. These + * properties can also be updated by using the Set routing priority / age flow + * block.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, UpdateContactRoutingDataCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, UpdateContactRoutingDataCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // UpdateContactRoutingDataRequest + * InstanceId: "STRING_VALUE", // required + * ContactId: "STRING_VALUE", // required + * QueueTimeAdjustmentSeconds: Number("int"), + * QueuePriority: Number("long"), + * }; + * const command = new UpdateContactRoutingDataCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UpdateContactRoutingDataCommandInput - {@link UpdateContactRoutingDataCommandInput} + * @returns {@link UpdateContactRoutingDataCommandOutput} + * @see {@link UpdateContactRoutingDataCommandInput} for command's `input` shape. + * @see {@link UpdateContactRoutingDataCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient permissions to perform this action.

+ * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link ResourceConflictException} (client fault) + *

A resource already has that name.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class UpdateContactRoutingDataCommand extends $Command< + UpdateContactRoutingDataCommandInput, + UpdateContactRoutingDataCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: UpdateContactRoutingDataCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, UpdateContactRoutingDataCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "UpdateContactRoutingDataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "UpdateContactRoutingData", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: UpdateContactRoutingDataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_UpdateContactRoutingDataCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_UpdateContactRoutingDataCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/UpdatePredefinedAttributeCommand.ts b/clients/client-connect/src/commands/UpdatePredefinedAttributeCommand.ts new file mode 100644 index 0000000000000..3d77e32303cfd --- /dev/null +++ b/clients/client-connect/src/commands/UpdatePredefinedAttributeCommand.ts @@ -0,0 +1,161 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdatePredefinedAttributeRequest } from "../models/models_2"; +import { de_UpdatePredefinedAttributeCommand, se_UpdatePredefinedAttributeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link UpdatePredefinedAttributeCommand}. + */ +export interface UpdatePredefinedAttributeCommandInput extends UpdatePredefinedAttributeRequest {} +/** + * @public + * + * The output of {@link UpdatePredefinedAttributeCommand}. + */ +export interface UpdatePredefinedAttributeCommandOutput extends __MetadataBearer {} + +/** + * @public + *

Updates a predefined attribute for the specified Amazon Connect instance.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, UpdatePredefinedAttributeCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, UpdatePredefinedAttributeCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // UpdatePredefinedAttributeRequest + * InstanceId: "STRING_VALUE", // required + * Name: "STRING_VALUE", // required + * Values: { // PredefinedAttributeValues Union: only one key present + * StringList: [ // PredefinedAttributeStringValuesList + * "STRING_VALUE", + * ], + * }, + * }; + * const command = new UpdatePredefinedAttributeCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UpdatePredefinedAttributeCommandInput - {@link UpdatePredefinedAttributeCommandInput} + * @returns {@link UpdatePredefinedAttributeCommandOutput} + * @see {@link UpdatePredefinedAttributeCommandInput} for command's `input` shape. + * @see {@link UpdatePredefinedAttributeCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class UpdatePredefinedAttributeCommand extends $Command< + UpdatePredefinedAttributeCommandInput, + UpdatePredefinedAttributeCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: UpdatePredefinedAttributeCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, UpdatePredefinedAttributeCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "UpdatePredefinedAttributeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "UpdatePredefinedAttribute", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: UpdatePredefinedAttributeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_UpdatePredefinedAttributeCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_UpdatePredefinedAttributeCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/UpdateUserProficienciesCommand.ts b/clients/client-connect/src/commands/UpdateUserProficienciesCommand.ts new file mode 100644 index 0000000000000..8c3aa3f4f6dd0 --- /dev/null +++ b/clients/client-connect/src/commands/UpdateUserProficienciesCommand.ts @@ -0,0 +1,160 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { UpdateUserProficienciesRequest } from "../models/models_2"; +import { de_UpdateUserProficienciesCommand, se_UpdateUserProficienciesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link UpdateUserProficienciesCommand}. + */ +export interface UpdateUserProficienciesCommandInput extends UpdateUserProficienciesRequest {} +/** + * @public + * + * The output of {@link UpdateUserProficienciesCommand}. + */ +export interface UpdateUserProficienciesCommandOutput extends __MetadataBearer {} + +/** + * @public + *

Updates the properties associated with the proficiencies of a user.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, UpdateUserProficienciesCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, UpdateUserProficienciesCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // UpdateUserProficienciesRequest + * InstanceId: "STRING_VALUE", // required + * UserId: "STRING_VALUE", // required + * UserProficiencies: [ // UserProficiencyList // required + * { // UserProficiency + * AttributeName: "STRING_VALUE", // required + * AttributeValue: "STRING_VALUE", // required + * Level: Number("float"), // required + * }, + * ], + * }; + * const command = new UpdateUserProficienciesCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UpdateUserProficienciesCommandInput - {@link UpdateUserProficienciesCommandInput} + * @returns {@link UpdateUserProficienciesCommandOutput} + * @see {@link UpdateUserProficienciesCommandInput} for command's `input` shape. + * @see {@link UpdateUserProficienciesCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + */ +export class UpdateUserProficienciesCommand extends $Command< + UpdateUserProficienciesCommandInput, + UpdateUserProficienciesCommandOutput, + ConnectClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: UpdateUserProficienciesCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, UpdateUserProficienciesCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "UpdateUserProficienciesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonConnectService", + operation: "UpdateUserProficiencies", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: UpdateUserProficienciesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_UpdateUserProficienciesCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_UpdateUserProficienciesCommand(output, context); + } +} diff --git a/clients/client-connect/src/commands/index.ts b/clients/client-connect/src/commands/index.ts index 2c8ce468f7bd0..5c7fc96ce4819 100644 --- a/clients/client-connect/src/commands/index.ts +++ b/clients/client-connect/src/commands/index.ts @@ -13,6 +13,7 @@ export * from "./AssociateQueueQuickConnectsCommand"; export * from "./AssociateRoutingProfileQueuesCommand"; export * from "./AssociateSecurityKeyCommand"; export * from "./AssociateTrafficDistributionGroupUserCommand"; +export * from "./AssociateUserProficienciesCommand"; export * from "./BatchAssociateAnalyticsDataSetCommand"; export * from "./BatchDisassociateAnalyticsDataSetCommand"; export * from "./BatchGetFlowAssociationCommand"; @@ -27,6 +28,7 @@ export * from "./CreateInstanceCommand"; export * from "./CreateIntegrationAssociationCommand"; export * from "./CreateParticipantCommand"; export * from "./CreatePersistentContactAssociationCommand"; +export * from "./CreatePredefinedAttributeCommand"; export * from "./CreatePromptCommand"; export * from "./CreateQueueCommand"; export * from "./CreateQuickConnectCommand"; @@ -49,6 +51,7 @@ export * from "./DeleteEvaluationFormCommand"; export * from "./DeleteHoursOfOperationCommand"; export * from "./DeleteInstanceCommand"; export * from "./DeleteIntegrationAssociationCommand"; +export * from "./DeletePredefinedAttributeCommand"; export * from "./DeletePromptCommand"; export * from "./DeleteQueueCommand"; export * from "./DeleteQuickConnectCommand"; @@ -74,6 +77,7 @@ export * from "./DescribeInstanceAttributeCommand"; export * from "./DescribeInstanceCommand"; export * from "./DescribeInstanceStorageConfigCommand"; export * from "./DescribePhoneNumberCommand"; +export * from "./DescribePredefinedAttributeCommand"; export * from "./DescribePromptCommand"; export * from "./DescribeQueueCommand"; export * from "./DescribeQuickConnectCommand"; @@ -98,6 +102,7 @@ export * from "./DisassociateQueueQuickConnectsCommand"; export * from "./DisassociateRoutingProfileQueuesCommand"; export * from "./DisassociateSecurityKeyCommand"; export * from "./DisassociateTrafficDistributionGroupUserCommand"; +export * from "./DisassociateUserProficienciesCommand"; export * from "./DismissUserContactCommand"; export * from "./GetContactAttributesCommand"; export * from "./GetCurrentMetricDataCommand"; @@ -131,6 +136,7 @@ export * from "./ListLambdaFunctionsCommand"; export * from "./ListLexBotsCommand"; export * from "./ListPhoneNumbersCommand"; export * from "./ListPhoneNumbersV2Command"; +export * from "./ListPredefinedAttributesCommand"; export * from "./ListPromptsCommand"; export * from "./ListQueueQuickConnectsCommand"; export * from "./ListQueuesCommand"; @@ -149,6 +155,7 @@ export * from "./ListTrafficDistributionGroupUsersCommand"; export * from "./ListTrafficDistributionGroupsCommand"; export * from "./ListUseCasesCommand"; export * from "./ListUserHierarchyGroupsCommand"; +export * from "./ListUserProficienciesCommand"; export * from "./ListUsersCommand"; export * from "./ListViewVersionsCommand"; export * from "./ListViewsCommand"; @@ -160,7 +167,9 @@ export * from "./ReplicateInstanceCommand"; export * from "./ResumeContactCommand"; export * from "./ResumeContactRecordingCommand"; export * from "./SearchAvailablePhoneNumbersCommand"; +export * from "./SearchContactsCommand"; export * from "./SearchHoursOfOperationsCommand"; +export * from "./SearchPredefinedAttributesCommand"; export * from "./SearchPromptsCommand"; export * from "./SearchQueuesCommand"; export * from "./SearchQuickConnectsCommand"; @@ -196,6 +205,7 @@ export * from "./UpdateContactFlowMetadataCommand"; export * from "./UpdateContactFlowModuleContentCommand"; export * from "./UpdateContactFlowModuleMetadataCommand"; export * from "./UpdateContactFlowNameCommand"; +export * from "./UpdateContactRoutingDataCommand"; export * from "./UpdateContactScheduleCommand"; export * from "./UpdateEvaluationFormCommand"; export * from "./UpdateHoursOfOperationCommand"; @@ -204,6 +214,7 @@ export * from "./UpdateInstanceStorageConfigCommand"; export * from "./UpdateParticipantRoleConfigCommand"; export * from "./UpdatePhoneNumberCommand"; export * from "./UpdatePhoneNumberMetadataCommand"; +export * from "./UpdatePredefinedAttributeCommand"; export * from "./UpdatePromptCommand"; export * from "./UpdateQueueHoursOfOperationCommand"; export * from "./UpdateQueueMaxContactsCommand"; @@ -226,6 +237,7 @@ export * from "./UpdateUserHierarchyGroupNameCommand"; export * from "./UpdateUserHierarchyStructureCommand"; export * from "./UpdateUserIdentityInfoCommand"; export * from "./UpdateUserPhoneConfigCommand"; +export * from "./UpdateUserProficienciesCommand"; export * from "./UpdateUserRoutingProfileCommand"; export * from "./UpdateUserSecurityProfilesCommand"; export * from "./UpdateViewContentCommand"; diff --git a/clients/client-connect/src/models/models_0.ts b/clients/client-connect/src/models/models_0.ts index 1ffb0e1a30712..6659f534f8793 100644 --- a/clients/client-connect/src/models/models_0.ts +++ b/clients/client-connect/src/models/models_0.ts @@ -393,6 +393,42 @@ export interface AgentContactReference { Queue?: QueueReference; } +/** + * @public + *

A structure that defines agent hierarchy group levels which can be used to filter search results. Important: Agent hierarchy group level information in search result is a snapshot, it does not represent current agent hierarchy who handled the contact.

+ */ +export interface AgentHierarchyGroups { + /** + * @public + *

The identifiers for level 1 hierarchy groups.

+ */ + L1Ids?: string[]; + + /** + * @public + *

The identifiers for level 2 hierarchy groups.

+ */ + L2Ids?: string[]; + + /** + * @public + *

The identifiers for level 3 hierarchy groups.

+ */ + L3Ids?: string[]; + + /** + * @public + *

The identifiers for level 4 hierarchy groups.

+ */ + L4Ids?: string[]; + + /** + * @public + *

The identifiers for level 5 hierarchy groups.

+ */ + L5Ids?: string[]; +} + /** * @public *

Information about the agent who accepted the contact.

@@ -1385,6 +1421,56 @@ export interface AssociateTrafficDistributionGroupUserRequest { */ export interface AssociateTrafficDistributionGroupUserResponse {} +/** + * @public + *

Information about proficiency of a user.

+ */ +export interface UserProficiency { + /** + * @public + *

The name of user's proficiency. You must use name of predefined attribute present in the + * Amazon Connect instance.

+ */ + AttributeName: string | undefined; + + /** + * @public + *

The value of user's proficiency. You must use value of predefined attribute present in the + * Amazon Connect instance.

+ */ + AttributeValue: string | undefined; + + /** + * @public + *

The level of the proficiency. The valid values are 1, 2, 3, 4 and 5.

+ */ + Level: number | undefined; +} + +/** + * @public + */ +export interface AssociateUserProficienciesRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN of the instance).

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The identifier of the user account.

+ */ + UserId: string | undefined; + + /** + * @public + *

The proficiencies to associate with the user.

+ */ + UserProficiencies: UserProficiency[] | undefined; +} + /** * @public */ @@ -3247,6 +3333,70 @@ export interface CreatePersistentContactAssociationResponse { ContinuedFromContactId?: string; } +/** + * @public + *

Information about values of a predefined attribute.

+ */ +export type PredefinedAttributeValues = + | PredefinedAttributeValues.StringListMember + | PredefinedAttributeValues.$UnknownMember; + +/** + * @public + */ +export namespace PredefinedAttributeValues { + /** + * @public + *

Predefined attribute values of type string list.

+ */ + export interface StringListMember { + StringList: string[]; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + StringList?: never; + $unknown: [string, any]; + } + + export interface Visitor { + StringList: (value: string[]) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: PredefinedAttributeValues, visitor: Visitor): T => { + if (value.StringList !== undefined) return visitor.StringList(value.StringList); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + * @public + */ +export interface CreatePredefinedAttributeRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The name of the predefined attribute.

+ */ + Name: string | undefined; + + /** + * @public + *

The values of the predefined attribute.

+ */ + Values: PredefinedAttributeValues | undefined; +} + /** * @public */ @@ -5545,6 +5695,24 @@ export interface DeleteIntegrationAssociationRequest { IntegrationAssociationId: string | undefined; } +/** + * @public + */ +export interface DeletePredefinedAttributeRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The name of the predefined attribute.

+ */ + Name: string | undefined; +} + /** * @public */ @@ -6048,7 +6216,25 @@ export interface Contact { /** * @public - *

Tags associated with the contact. This contains both Amazon Web Services generated and user-defined tags.

+ *

An integer that represents the queue time adjust to be applied to the contact, in seconds + * (longer / larger queue time are routed preferentially). Cannot be specified if the QueuePriority + * is specified. Must be statically defined and a valid integer value.

+ */ + QueueTimeAdjustmentSeconds?: number; + + /** + * @public + *

An integer that represents the queue priority to be applied to the contact (lower priorities + * are routed preferentially). Cannot be specified if the QueueTimeAdjustmentSeconds is specified. + * Must be statically defined, must be larger than zero, and a valid integer value. Default Value is + * 5.

+ */ + QueuePriority?: number; + + /** + * @public + *

Tags associated with the contact. This contains both Amazon Web Services generated and + * user-defined tags.

*/ Tags?: Record; } @@ -7170,210 +7356,6 @@ export const PhoneNumberCountryCode = { */ export type PhoneNumberCountryCode = (typeof PhoneNumberCountryCode)[keyof typeof PhoneNumberCountryCode]; -/** - * @public - * @enum - */ -export const PhoneNumberWorkflowStatus = { - Claimed: "CLAIMED", - Failed: "FAILED", - InProgress: "IN_PROGRESS", -} as const; - -/** - * @public - */ -export type PhoneNumberWorkflowStatus = (typeof PhoneNumberWorkflowStatus)[keyof typeof PhoneNumberWorkflowStatus]; - -/** - * @public - *

The status of the phone number.

- *
    - *
  • - *

    - * CLAIMED means the previous ClaimPhoneNumber or UpdatePhoneNumber operation succeeded.

    - *
  • - *
  • - *

    - * IN_PROGRESS means a ClaimPhoneNumber, UpdatePhoneNumber, or UpdatePhoneNumberMetadata operation is still in progress and has not yet completed. - * You can call DescribePhoneNumber at - * a later time to verify if the previous operation has completed.

    - *
  • - *
  • - *

    - * FAILED indicates that the previous ClaimPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the - * failure reason. A common reason for a failure may be that the TargetArn value you - * are claiming or updating a phone number to has reached its limit of total claimed numbers. If - * you received a FAILED status from a ClaimPhoneNumber API call, you - * have one day to retry claiming the phone number before the number is released back to the - * inventory for other customers to claim.

    - *
  • - *
- */ -export interface PhoneNumberStatus { - /** - * @public - *

The status.

- */ - Status?: PhoneNumberWorkflowStatus; - - /** - * @public - *

The status message.

- */ - Message?: string; -} - -/** - * @public - * @enum - */ -export const PhoneNumberType = { - DID: "DID", - SHARED: "SHARED", - SHORT_CODE: "SHORT_CODE", - THIRD_PARTY_DID: "THIRD_PARTY_DID", - THIRD_PARTY_TF: "THIRD_PARTY_TF", - TOLL_FREE: "TOLL_FREE", - UIFN: "UIFN", -} as const; - -/** - * @public - */ -export type PhoneNumberType = (typeof PhoneNumberType)[keyof typeof PhoneNumberType]; - -/** - * @public - *

Information about a phone number that has been claimed to your Amazon Connect instance - * or traffic distribution group.

- */ -export interface ClaimedPhoneNumberSummary { - /** - * @public - *

A unique identifier for the phone number.

- */ - PhoneNumberId?: string; - - /** - * @public - *

The Amazon Resource Name (ARN) of the phone number.

- */ - PhoneNumberArn?: string; - - /** - * @public - *

The phone number. Phone numbers are formatted [+] [country code] [subscriber number including area code].

- */ - PhoneNumber?: string; - - /** - * @public - *

The ISO country code.

- */ - PhoneNumberCountryCode?: PhoneNumberCountryCode; - - /** - * @public - *

The type of phone number.

- */ - PhoneNumberType?: PhoneNumberType; - - /** - * @public - *

The description of the phone number.

- */ - PhoneNumberDescription?: string; - - /** - * @public - *

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone number inbound traffic is routed through.

- */ - TargetArn?: string; - - /** - * @public - *

The identifier of the Amazon Connect instance that phone numbers are claimed to. You - * can find the - * instance ID in the Amazon Resource Name (ARN) of the instance.

- */ - InstanceId?: string; - - /** - * @public - *

The tags used to organize, track, or control access for this resource. For example, \{ "Tags": \{"key1":"value1", "key2":"value2"\} \}.

- */ - Tags?: Record; - - /** - * @public - *

The status of the phone number.

- *
    - *
  • - *

    - * CLAIMED means the previous ClaimPhoneNumber or UpdatePhoneNumber operation succeeded.

    - *
  • - *
  • - *

    - * IN_PROGRESS means a ClaimPhoneNumber, UpdatePhoneNumber, or UpdatePhoneNumberMetadata operation is still in progress and has not yet completed. - * You can call DescribePhoneNumber at - * a later time to verify if the previous operation has completed.

    - *
  • - *
  • - *

    - * FAILED indicates that the previous ClaimPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the - * failure reason. A common reason for a failure may be that the TargetArn value you - * are claiming or updating a phone number to has reached its limit of total claimed numbers. If - * you received a FAILED status from a ClaimPhoneNumber API call, you - * have one day to retry claiming the phone number before the number is released back to the - * inventory for other customers to claim.

    - *
  • - *
- * - *

You will not be billed for the phone number during the 1-day period if number claiming - * fails.

- *
- */ - PhoneNumberStatus?: PhoneNumberStatus; - - /** - * @public - *

The claimed phone number ARN that was previously imported from the external service, such as - * Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like the ARN of the phone number - * that was imported from Amazon Pinpoint.

- */ - SourcePhoneNumberArn?: string; -} - -/** - * @public - */ -export interface DescribePhoneNumberResponse { - /** - * @public - *

Information about a phone number that's been claimed to your Amazon Connect instance or - * traffic distribution group.

- */ - ClaimedPhoneNumberSummary?: ClaimedPhoneNumberSummary; -} - -/** - * @public - */ -export interface DescribePromptRequest { - /** - * @public - *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

- */ - InstanceId: string | undefined; - - /** - * @public - *

A unique identifier for the prompt.

- */ - PromptId: string | undefined; -} - /** * @internal */ diff --git a/clients/client-connect/src/models/models_1.ts b/clients/client-connect/src/models/models_1.ts index 10d9d6001db88..8d6e1f727bf8e 100644 --- a/clients/client-connect/src/models/models_1.ts +++ b/clients/client-connect/src/models/models_1.ts @@ -8,6 +8,7 @@ import { AgentAvailabilityTimer, AgentConfig, AgentContactReference, + AgentHierarchyGroups, AgentStatusReference, AgentStatusSummary, AgentStatusType, @@ -18,6 +19,7 @@ import { ContactFlowModuleState, ContactFlowState, ContactFlowType, + ContactInitiationMethod, ContactState, DirectoryType, Distribution, @@ -27,7 +29,6 @@ import { EventSourceName, FlowAssociationResourceType, FlowAssociationSummary, - HoursOfOperation, InstanceStatus, InstanceStorageConfig, InstanceStorageResourceType, @@ -40,7 +41,7 @@ import { OutboundCallerConfig, ParticipantRole, PhoneNumberCountryCode, - PhoneNumberType, + PredefinedAttributeValues, QueueReference, QuickConnectConfig, QuickConnectType, @@ -57,6 +58,7 @@ import { UseCaseType, UserIdentityInfo, UserPhoneConfig, + UserProficiency, View, ViewFilterSensitiveLog, ViewStatus, @@ -65,6 +67,269 @@ import { VocabularyState, } from "./models_0"; +/** + * @public + * @enum + */ +export const PhoneNumberWorkflowStatus = { + Claimed: "CLAIMED", + Failed: "FAILED", + InProgress: "IN_PROGRESS", +} as const; + +/** + * @public + */ +export type PhoneNumberWorkflowStatus = (typeof PhoneNumberWorkflowStatus)[keyof typeof PhoneNumberWorkflowStatus]; + +/** + * @public + *

The status of the phone number.

+ *
    + *
  • + *

    + * CLAIMED means the previous ClaimPhoneNumber or UpdatePhoneNumber operation succeeded.

    + *
  • + *
  • + *

    + * IN_PROGRESS means a ClaimPhoneNumber, UpdatePhoneNumber, or UpdatePhoneNumberMetadata operation is still in progress and has not yet completed. + * You can call DescribePhoneNumber at + * a later time to verify if the previous operation has completed.

    + *
  • + *
  • + *

    + * FAILED indicates that the previous ClaimPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the + * failure reason. A common reason for a failure may be that the TargetArn value you + * are claiming or updating a phone number to has reached its limit of total claimed numbers. If + * you received a FAILED status from a ClaimPhoneNumber API call, you + * have one day to retry claiming the phone number before the number is released back to the + * inventory for other customers to claim.

    + *
  • + *
+ */ +export interface PhoneNumberStatus { + /** + * @public + *

The status.

+ */ + Status?: PhoneNumberWorkflowStatus; + + /** + * @public + *

The status message.

+ */ + Message?: string; +} + +/** + * @public + * @enum + */ +export const PhoneNumberType = { + DID: "DID", + SHARED: "SHARED", + SHORT_CODE: "SHORT_CODE", + THIRD_PARTY_DID: "THIRD_PARTY_DID", + THIRD_PARTY_TF: "THIRD_PARTY_TF", + TOLL_FREE: "TOLL_FREE", + UIFN: "UIFN", +} as const; + +/** + * @public + */ +export type PhoneNumberType = (typeof PhoneNumberType)[keyof typeof PhoneNumberType]; + +/** + * @public + *

Information about a phone number that has been claimed to your Amazon Connect instance + * or traffic distribution group.

+ */ +export interface ClaimedPhoneNumberSummary { + /** + * @public + *

A unique identifier for the phone number.

+ */ + PhoneNumberId?: string; + + /** + * @public + *

The Amazon Resource Name (ARN) of the phone number.

+ */ + PhoneNumberArn?: string; + + /** + * @public + *

The phone number. Phone numbers are formatted [+] [country code] [subscriber number including area code].

+ */ + PhoneNumber?: string; + + /** + * @public + *

The ISO country code.

+ */ + PhoneNumberCountryCode?: PhoneNumberCountryCode; + + /** + * @public + *

The type of phone number.

+ */ + PhoneNumberType?: PhoneNumberType; + + /** + * @public + *

The description of the phone number.

+ */ + PhoneNumberDescription?: string; + + /** + * @public + *

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone number inbound traffic is routed through.

+ */ + TargetArn?: string; + + /** + * @public + *

The identifier of the Amazon Connect instance that phone numbers are claimed to. You + * can find the + * instance ID in the Amazon Resource Name (ARN) of the instance.

+ */ + InstanceId?: string; + + /** + * @public + *

The tags used to organize, track, or control access for this resource. For example, \{ "Tags": \{"key1":"value1", "key2":"value2"\} \}.

+ */ + Tags?: Record; + + /** + * @public + *

The status of the phone number.

+ *
    + *
  • + *

    + * CLAIMED means the previous ClaimPhoneNumber or UpdatePhoneNumber operation succeeded.

    + *
  • + *
  • + *

    + * IN_PROGRESS means a ClaimPhoneNumber, UpdatePhoneNumber, or UpdatePhoneNumberMetadata operation is still in progress and has not yet completed. + * You can call DescribePhoneNumber at + * a later time to verify if the previous operation has completed.

    + *
  • + *
  • + *

    + * FAILED indicates that the previous ClaimPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the + * failure reason. A common reason for a failure may be that the TargetArn value you + * are claiming or updating a phone number to has reached its limit of total claimed numbers. If + * you received a FAILED status from a ClaimPhoneNumber API call, you + * have one day to retry claiming the phone number before the number is released back to the + * inventory for other customers to claim.

    + *
  • + *
+ * + *

You will not be billed for the phone number during the 1-day period if number claiming + * fails.

+ *
+ */ + PhoneNumberStatus?: PhoneNumberStatus; + + /** + * @public + *

The claimed phone number ARN that was previously imported from the external service, such as + * Amazon Pinpoint. If it is from Amazon Pinpoint, it looks like the ARN of the phone number + * that was imported from Amazon Pinpoint.

+ */ + SourcePhoneNumberArn?: string; +} + +/** + * @public + */ +export interface DescribePhoneNumberResponse { + /** + * @public + *

Information about a phone number that's been claimed to your Amazon Connect instance or + * traffic distribution group.

+ */ + ClaimedPhoneNumberSummary?: ClaimedPhoneNumberSummary; +} + +/** + * @public + */ +export interface DescribePredefinedAttributeRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The name of the predefined attribute.

+ */ + Name: string | undefined; +} + +/** + * @public + *

Information about a predefined attribute.

+ */ +export interface PredefinedAttribute { + /** + * @public + *

The name of the predefined attribute.

+ */ + Name?: string; + + /** + * @public + *

The values of the predefined attribute.

+ */ + Values?: PredefinedAttributeValues; + + /** + * @public + *

Last modified time.

+ */ + LastModifiedTime?: Date; + + /** + * @public + *

Last modified region.

+ */ + LastModifiedRegion?: string; +} + +/** + * @public + */ +export interface DescribePredefinedAttributeResponse { + /** + * @public + *

Information about the predefined attribute.

+ */ + PredefinedAttribute?: PredefinedAttribute; +} + +/** + * @public + */ +export interface DescribePromptRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

A unique identifier for the prompt.

+ */ + PromptId: string | undefined; +} + /** * @public *

Information about a prompt.

@@ -1519,6 +1784,48 @@ export interface DisassociateTrafficDistributionGroupUserRequest { */ export interface DisassociateTrafficDistributionGroupUserResponse {} +/** + * @public + *

Information about proficiency to be disassociated from the user.

+ */ +export interface UserProficiencyDisassociate { + /** + * @public + *

The name of user's proficiency.

+ */ + AttributeName: string | undefined; + + /** + * @public + *

The value of user's proficiency.

+ */ + AttributeValue: string | undefined; +} + +/** + * @public + */ +export interface DisassociateUserProficienciesRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The identifier of the user account.

+ */ + UserId: string | undefined; + + /** + * @public + *

The proficiencies to disassociate from the user.

+ */ + UserProficiencies: UserProficiencyDisassociate[] | undefined; +} + /** * @public */ @@ -1659,6 +1966,13 @@ export interface Filters { *

A list of up to 100 routing profile IDs or ARNs.

*/ RoutingProfiles?: string[]; + + /** + * @public + *

A list of expressions as a filter, in which an expression is an object of a step in a + * routing criteria.

+ */ + RoutingStepExpressions?: string[]; } /** @@ -1669,6 +1983,7 @@ export const Grouping = { CHANNEL: "CHANNEL", QUEUE: "QUEUE", ROUTING_PROFILE: "ROUTING_PROFILE", + ROUTING_STEP_EXPRESSION: "ROUTING_STEP_EXPRESSION", } as const; /** @@ -1952,6 +2267,12 @@ export interface Dimensions { *

Information about the routing profile assigned to the user.

*/ RoutingProfile?: RoutingProfileReference; + + /** + * @public + *

The expression of a step in a routing criteria.

+ */ + RoutingStepExpression?: string; } /** @@ -5740,8 +6061,8 @@ export interface ListPhoneNumbersV2Request { *

The identifier of the Amazon Connect instance that phone numbers are claimed to. You * can find the * instance ID in the Amazon Resource Name (ARN) of the instance. If both TargetArn and InstanceId are not - * provided, this API lists numbers claimed to all the Amazon Connect instances belonging to your - * account in the same AWS Region as the request.

+ * provided, this API lists numbers claimed to all the Amazon Connect instances belonging to your account in + * the same AWS Region as the request.

*/ InstanceId?: string; @@ -5863,10 +6184,11 @@ export interface ListPhoneNumbersV2Response { /** * @public */ -export interface ListPromptsRequest { +export interface ListPredefinedAttributesRequest { /** * @public - *

The identifier of the Amazon Connect instance.

+ *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN) of the instance.

*/ InstanceId: string | undefined; @@ -5879,43 +6201,31 @@ export interface ListPromptsRequest { /** * @public - *

The maximum number of results to return per page. The default MaxResult size is 100.

+ *

The maximum number of results to return per page.

*/ MaxResults?: number; } /** * @public - *

Contains information about the prompt.

+ *

Summary of a predefined attribute.

*/ -export interface PromptSummary { +export interface PredefinedAttributeSummary { /** * @public - *

The identifier of the prompt.

- */ - Id?: string; - - /** - * @public - *

The Amazon Resource Name (ARN) of the prompt.

- */ - Arn?: string; - - /** - * @public - *

The name of the prompt.

+ *

The name of the predefined attribute.

*/ Name?: string; /** * @public - *

The timestamp when this resource was last modified.

+ *

Last modified time.

*/ LastModifiedTime?: Date; /** * @public - *

The Amazon Web Services Region where this resource was last modified.

+ *

Last modified region.

*/ LastModifiedRegion?: string; } @@ -5923,7 +6233,84 @@ export interface PromptSummary { /** * @public */ -export interface ListPromptsResponse { +export interface ListPredefinedAttributesResponse { + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

Summary of the predefined attributes.

+ */ + PredefinedAttributeSummaryList?: PredefinedAttributeSummary[]; +} + +/** + * @public + */ +export interface ListPromptsRequest { + /** + * @public + *

The identifier of the Amazon Connect instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The maximum number of results to return per page. The default MaxResult size is 100.

+ */ + MaxResults?: number; +} + +/** + * @public + *

Contains information about the prompt.

+ */ +export interface PromptSummary { + /** + * @public + *

The identifier of the prompt.

+ */ + Id?: string; + + /** + * @public + *

The Amazon Resource Name (ARN) of the prompt.

+ */ + Arn?: string; + + /** + * @public + *

The name of the prompt.

+ */ + Name?: string; + + /** + * @public + *

The timestamp when this resource was last modified.

+ */ + LastModifiedTime?: Date; + + /** + * @public + *

The Amazon Web Services Region where this resource was last modified.

+ */ + LastModifiedRegion?: string; +} + +/** + * @public + */ +export interface ListPromptsResponse { /** * @public *

Information about the prompts.

@@ -7836,6 +8223,66 @@ export interface ListUserHierarchyGroupsResponse { NextToken?: string; } +/** + * @public + */ +export interface ListUserProficienciesRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The identifier of the user account.

+ */ + UserId: string | undefined; + + /** + * @public + *

The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The maximum number of results to return per page.

+ */ + MaxResults?: number; +} + +/** + * @public + */ +export interface ListUserProficienciesResponse { + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

Information about the user proficiencies.

+ */ + UserProficiencyList?: UserProficiency[]; + + /** + * @public + *

The last time that the user's proficiencies are were modified.

+ */ + LastModifiedTime?: Date; + + /** + * @public + *

The region in which a user's proficiencies were last modified.

+ */ + LastModifiedRegion?: string; +} + /** * @public */ @@ -8162,7 +8609,8 @@ export interface MonitorContactResponse { /** * @public - *

Operation cannot be performed at this time as there is a conflict with another operation or contact state.

+ *

Operation cannot be performed at this time as there is a conflict with another operation or + * contact state.

*/ export class ConflictException extends __BaseException { readonly name: "ConflictException" = "ConflictException"; @@ -8463,582 +8911,190 @@ export interface SearchAvailablePhoneNumbersResponse { * @public * @enum */ -export const StringComparisonType = { - CONTAINS: "CONTAINS", - EXACT: "EXACT", - STARTS_WITH: "STARTS_WITH", +export const SearchContactsMatchType = { + MATCH_ALL: "MATCH_ALL", + MATCH_ANY: "MATCH_ANY", } as const; /** * @public */ -export type StringComparisonType = (typeof StringComparisonType)[keyof typeof StringComparisonType]; +export type SearchContactsMatchType = (typeof SearchContactsMatchType)[keyof typeof SearchContactsMatchType]; /** * @public - *

A leaf node condition which can be used to specify a string condition.

+ *

The transcript criteria used to search

*/ -export interface StringCondition { +export interface TranscriptCriteria { /** * @public - *

The name of the field in the string condition.

+ *

The participant role in a transcript

*/ - FieldName?: string; + ParticipantRole: ParticipantRole | undefined; /** * @public - *

The value of the string.

+ *

The words or phrases used to search within a transcript.

*/ - Value?: string; + SearchText: string[] | undefined; /** * @public - *

The type of comparison to be made when evaluating the string condition.

+ *

The match type of search texts in a transcript criteria.

*/ - ComparisonType?: StringComparisonType; + MatchType: SearchContactsMatchType | undefined; } /** * @public - *

A leaf node condition which can be used to specify a tag condition, for example, HAVE - * BPO = 123.

+ *

The transcript object used to search results.

*/ -export interface TagCondition { +export interface Transcript { /** * @public - *

The tag key in the tag condition.

+ *

The array of transcript search criteria

*/ - TagKey?: string; + Criteria: TranscriptCriteria[] | undefined; /** * @public - *

The tag value in the tag condition.

+ *

The match type of multiple transcript criteira

*/ - TagValue?: string; + MatchType?: SearchContactsMatchType; } /** * @public - *

An object that can be used to specify Tag conditions inside the SearchFilter. - * This accepts an OR of AND (List of List) input where:

- *
    - *
  • - *

    Top level list specifies conditions that need to be applied with OR - * operator

    - *
  • - *
  • - *

    Inner list specifies conditions that need to be applied with AND - * operator.

    - *
  • - *
+ *

A structure that defines filters can be used to search within outputs analyzed by Amazon Connect Contact Lens in a contact.

*/ -export interface ControlPlaneTagFilter { - /** - * @public - *

A list of conditions which would be applied together with an OR condition. - *

- */ - OrConditions?: TagCondition[][]; - +export interface ContactAnalysis { /** * @public - *

A list of conditions which would be applied together with an AND - * condition.

+ *

A structure that defines filters can be used to search with text within an Amazon Connect Contact Lens analyzed transcript.

*/ - AndConditions?: TagCondition[]; - - /** - * @public - *

A leaf node condition which can be used to specify a tag condition.

- */ - TagCondition?: TagCondition; + Transcript?: Transcript; } /** * @public - *

Filters to be applied to search results.

+ *

The criteria of searchable contact attributes.

*/ -export interface HoursOfOperationSearchFilter { +export interface SearchableContactAttributesCriteria { /** * @public - *

An object that can be used to specify Tag conditions inside the SearchFilter. - * This accepts an OR of AND (List of List) input where:

- *
    - *
  • - *

    Top level list specifies conditions that need to be applied with OR - * operator

    - *
  • - *
  • - *

    Inner list specifies conditions that need to be applied with AND - * operator.

    - *
  • - *
+ *

The searchable contact attribute key

*/ - TagFilter?: ControlPlaneTagFilter; -} - -/** - * @public - */ -export interface SearchHoursOfOperationsResponse { - /** - * @public - *

Information about the hours of operations.

- */ - HoursOfOperations?: HoursOfOperation[]; - - /** - * @public - *

If there are additional results, this is the token for the next set of results.

- */ - NextToken?: string; + Key: string | undefined; /** * @public - *

The total number of hours of operations which matched your search query.

- */ - ApproximateTotalCount?: number; -} - -/** - * @public - *

Filters to be applied to search results.

- */ -export interface PromptSearchFilter { - /** - * @public - *

An object that can be used to specify Tag conditions inside the SearchFilter. - * This accepts an OR of AND (List of List) input where:

- *
    - *
  • - *

    Top level list specifies conditions that need to be applied with OR - * operator

    - *
  • - *
  • - *

    Inner list specifies conditions that need to be applied with AND - * operator.

    - *
  • - *
+ *

The array of contact attribute values used to filter search results.

*/ - TagFilter?: ControlPlaneTagFilter; + Values: string[] | undefined; } /** * @public + *

A structure that defines searchable contact attributes which can be used to filter search results.

*/ -export interface SearchPromptsResponse { - /** - * @public - *

Information about the prompts.

- */ - Prompts?: Prompt[]; - +export interface SearchableContactAttributes { /** * @public - *

If there are additional results, this is the token for the next set of results.

+ *

The array of searhale contact attribute criteria

*/ - NextToken?: string; + Criteria: SearchableContactAttributesCriteria[] | undefined; /** * @public - *

The total number of quick connects which matched your search query.

+ *

The match type of multiple searchable contact attributes criteria.

*/ - ApproximateTotalCount?: number; + MatchType?: SearchContactsMatchType; } /** * @public - * @enum - */ -export const SearchableQueueType = { - STANDARD: "STANDARD", -} as const; - -/** - * @public - */ -export type SearchableQueueType = (typeof SearchableQueueType)[keyof typeof SearchableQueueType]; - -/** - * @public - *

Filters to be applied to search results.

+ *

A structure of search criteria to be used to return contacts

*/ -export interface QueueSearchFilter { +export interface SearchCriteria { /** * @public - *

An object that can be used to specify Tag conditions inside the SearchFilter. - * This accepts an OR of AND (List of List) input where:

- *
    - *
  • - *

    Top level list specifies conditions that need to be applied with OR - * operator

    - *
  • - *
  • - *

    Inner list specifies conditions that need to be applied with AND - * operator.

    - *
  • - *
+ *

The array of agent ids

*/ - TagFilter?: ControlPlaneTagFilter; -} + AgentIds?: string[]; -/** - * @public - */ -export interface SearchQueuesResponse { /** * @public - *

Information about the queues.

- */ - Queues?: Queue[]; - - /** - * @public - *

If there are additional results, this is the token for the next set of results.

+ *

The agent hierarchy groups

*/ - NextToken?: string; + AgentHierarchyGroups?: AgentHierarchyGroups; /** * @public - *

The total number of queues which matched your search query.

+ *

The array of channels

*/ - ApproximateTotalCount?: number; -} - -/** - * @public - *

Filters to be applied to search results.

- */ -export interface QuickConnectSearchFilter { - /** - * @public - *

An object that can be used to specify Tag conditions inside the SearchFilter. - * This accepts an OR of AND (List of List) input where:

- *
    - *
  • - *

    Top level list specifies conditions that need to be applied with OR - * operator

    - *
  • - *
  • - *

    Inner list specifies conditions that need to be applied with AND - * operator.

    - *
  • - *
- */ - TagFilter?: ControlPlaneTagFilter; -} - -/** - * @public - */ -export interface SearchQuickConnectsResponse { - /** - * @public - *

Information about the quick connects.

- */ - QuickConnects?: QuickConnect[]; - - /** - * @public - *

If there are additional results, this is the token for the next set of results.

- */ - NextToken?: string; - - /** - * @public - *

The total number of quick connects which matched your search query.

- */ - ApproximateTotalCount?: number; -} - -/** - * @public - *

Maximum number (1000) of tags have been returned with current request. Consider changing - * request parameters to get more tags.

- */ -export class MaximumResultReturnedException extends __BaseException { - readonly name: "MaximumResultReturnedException" = "MaximumResultReturnedException"; - readonly $fault: "client" = "client"; - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "MaximumResultReturnedException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, MaximumResultReturnedException.prototype); - this.Message = opts.Message; - } -} - -/** - * @public - *

The search criteria to be used to return tags.

- */ -export interface TagSearchCondition { - /** - * @public - *

The tag key used in the tag search condition.

- */ - tagKey?: string; - - /** - * @public - *

The tag value used in the tag search condition.

- */ - tagValue?: string; - - /** - * @public - *

The type of comparison to be made when evaluating the tag key in tag search - * condition.

- */ - tagKeyComparisonType?: StringComparisonType; - - /** - * @public - *

The type of comparison to be made when evaluating the tag value in tag search - * condition.

- */ - tagValueComparisonType?: StringComparisonType; -} - -/** - * @public - *

The search criteria to be used to search tags.

- */ -export interface ResourceTagsSearchCriteria { - /** - * @public - *

The search criteria to be used to return tags.

- */ - TagSearchCondition?: TagSearchCondition; -} - -/** - * @public - */ -export interface SearchResourceTagsRequest { - /** - * @public - *

The identifier of the Amazon Connect instance. You can find the instanceId in the Amazon - * Resource Name (ARN) of the instance.

- */ - InstanceId: string | undefined; - - /** - * @public - *

The list of resource types to be used to search tags from. If not provided or if any empty - * list is provided, this API will search from all supported resource types.

- */ - ResourceTypes?: string[]; - - /** - * @public - *

The token for the next set of results. Use the value returned in the previous response in - * the next request to retrieve the next set of results.

- */ - NextToken?: string; - - /** - * @public - *

The maximum number of results to return per page.

- */ - MaxResults?: number; - - /** - * @public - *

The search criteria to be used to return tags.

- */ - SearchCriteria?: ResourceTagsSearchCriteria; -} - -/** - * @public - *

A tag set contains tag key and tag value.

- */ -export interface TagSet { - /** - * @public - *

The tag key in the tagSet.

- */ - key?: string; - - /** - * @public - *

The tag value in the tagSet.

- */ - value?: string; -} - -/** - * @public - */ -export interface SearchResourceTagsResponse { - /** - * @public - *

A list of tags used in the Amazon Connect instance.

- */ - Tags?: TagSet[]; - - /** - * @public - *

If there are additional results, this is the token for the next set of results.

- */ - NextToken?: string; -} + Channels?: Channel[]; -/** - * @public - *

Filters to be applied to search results.

- */ -export interface RoutingProfileSearchFilter { /** * @public - *

An object that can be used to specify Tag conditions inside the SearchFilter. - * This accepts an OR of AND (List of List) input where:

- *
    - *
  • - *

    Top level list specifies conditions that need to be applied with OR - * operator

    - *
  • - *
  • - *

    Inner list specifies conditions that need to be applied with AND - * operator.

    - *
  • - *
+ *

The ContactAnalysis object used in search criteria

*/ - TagFilter?: ControlPlaneTagFilter; -} + ContactAnalysis?: ContactAnalysis; -/** - * @public - */ -export interface SearchRoutingProfilesResponse { /** * @public - *

Information about the routing profiles.

+ *

The array of initiaton methods

*/ - RoutingProfiles?: RoutingProfile[]; + InitiationMethods?: ContactInitiationMethod[]; /** * @public - *

If there are additional results, this is the token for the next set of results.

+ *

The array of queue ids.

*/ - NextToken?: string; + QueueIds?: string[]; /** * @public - *

The total number of routing profiles which matched your search query.

+ *

The SearchableContactAttributes object used in search criteria

*/ - ApproximateTotalCount?: number; + SearchableContactAttributes?: SearchableContactAttributes; } /** * @public - *

Filters to be applied to search results.

+ * @enum */ -export interface SecurityProfilesSearchFilter { - /** - * @public - *

An object that can be used to specify Tag conditions inside the SearchFilter. - * This accepts an OR of AND (List of List) input where:

- *
    - *
  • - *

    Top level list specifies conditions that need to be applied with OR - * operator

    - *
  • - *
  • - *

    Inner list specifies conditions that need to be applied with AND - * operator.

    - *
  • - *
- */ - TagFilter?: ControlPlaneTagFilter; -} +export const SortableFieldName = { + CHANNEL: "CHANNEL", + CONNECTED_TO_AGENT_TIMESTAMP: "CONNECTED_TO_AGENT_TIMESTAMP", + DISCONNECT_TIMESTAMP: "DISCONNECT_TIMESTAMP", + INITIATION_METHOD: "INITIATION_METHOD", + INITIATION_TIMESTAMP: "INITIATION_TIMESTAMP", + SCHEDULED_TIMESTAMP: "SCHEDULED_TIMESTAMP", +} as const; /** * @public - *

Information about the returned security profiles.

*/ -export interface SecurityProfileSearchSummary { - /** - * @public - *

The identifier of the security profile.

- */ - Id?: string; - - /** - * @public - *

The organization resource identifier.

- */ - OrganizationResourceId?: string; - - /** - * @public - *

The Amazon Resource Name (ARN) of the security profile.

- */ - Arn?: string; - - /** - * @public - *

The name of the security profile.

- */ - SecurityProfileName?: string; - - /** - * @public - *

The description of the security profile.

- */ - Description?: string; - - /** - * @public - *

The tags used to organize, track, or control access for this resource. For example, \{ "Tags": \{"key1":"value1", "key2":"value2"\} \}.

- */ - Tags?: Record; -} +export type SortableFieldName = (typeof SortableFieldName)[keyof typeof SortableFieldName]; /** * @public + *

A structure that defines the sort by and a sort order

*/ -export interface SearchSecurityProfilesResponse { +export interface Sort { /** * @public - *

Information about the security profiles.

+ *

The name of the field on which to sort.

*/ - SecurityProfiles?: SecurityProfileSearchSummary[]; + FieldName: SortableFieldName | undefined; /** * @public - *

If there are additional results, this is the token for the next set of results.

+ *

An ascending or descending sort.

*/ - NextToken?: string; - - /** - * @public - *

The total number of security profiles which matched your search query.

- */ - ApproximateTotalCount?: number; + Order: SortOrder | undefined; } -/** - * @public - * @enum - */ -export const HierarchyGroupMatchType = { - EXACT: "EXACT", - WITH_CHILD_GROUPS: "WITH_CHILD_GROUPS", -} as const; - -/** - * @public - */ -export type HierarchyGroupMatchType = (typeof HierarchyGroupMatchType)[keyof typeof HierarchyGroupMatchType]; - /** * @internal */ @@ -9125,3 +9181,59 @@ export const ReplicateInstanceRequestFilterSensitiveLog = (obj: ReplicateInstanc ...obj, ...(obj.ReplicaAlias && { ReplicaAlias: SENSITIVE_STRING }), }); + +/** + * @internal + */ +export const TranscriptCriteriaFilterSensitiveLog = (obj: TranscriptCriteria): any => ({ + ...obj, + ...(obj.SearchText && { SearchText: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const TranscriptFilterSensitiveLog = (obj: Transcript): any => ({ + ...obj, + ...(obj.Criteria && { Criteria: obj.Criteria.map((item) => TranscriptCriteriaFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const ContactAnalysisFilterSensitiveLog = (obj: ContactAnalysis): any => ({ + ...obj, + ...(obj.Transcript && { Transcript: TranscriptFilterSensitiveLog(obj.Transcript) }), +}); + +/** + * @internal + */ +export const SearchableContactAttributesCriteriaFilterSensitiveLog = ( + obj: SearchableContactAttributesCriteria +): any => ({ + ...obj, + ...(obj.Key && { Key: SENSITIVE_STRING }), + ...(obj.Values && { Values: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const SearchableContactAttributesFilterSensitiveLog = (obj: SearchableContactAttributes): any => ({ + ...obj, + ...(obj.Criteria && { + Criteria: obj.Criteria.map((item) => SearchableContactAttributesCriteriaFilterSensitiveLog(item)), + }), +}); + +/** + * @internal + */ +export const SearchCriteriaFilterSensitiveLog = (obj: SearchCriteria): any => ({ + ...obj, + ...(obj.ContactAnalysis && { ContactAnalysis: ContactAnalysisFilterSensitiveLog(obj.ContactAnalysis) }), + ...(obj.SearchableContactAttributes && { + SearchableContactAttributes: SearchableContactAttributesFilterSensitiveLog(obj.SearchableContactAttributes), + }), +}); diff --git a/clients/client-connect/src/models/models_2.ts b/clients/client-connect/src/models/models_2.ts index 5789bdc76eb3b..7d6548a80e761 100644 --- a/clients/client-connect/src/models/models_2.ts +++ b/clients/client-connect/src/models/models_2.ts @@ -9,20 +9,24 @@ import { AgentStatusState, AllowedCapabilities, Application, + Channel, ContactFlowModuleState, ContactFlowState, + ContactInitiationMethod, Evaluation, EvaluationAnswerData, EvaluationFormQuestion, EvaluationFormScoringStrategy, EvaluationFormVersionStatus, EvaluationNote, + HoursOfOperation, HoursOfOperationConfig, InstanceAttributeType, InstanceStorageConfig, InstanceStorageResourceType, MediaConcurrency, OutboundCallerConfig, + PredefinedAttributeValues, QuickConnectConfig, Reference, RehydrationType, @@ -35,6 +39,7 @@ import { TaskTemplateStatus, UserIdentityInfo, UserPhoneConfig, + UserProficiency, View, ViewFilterSensitiveLog, ViewInputContent, @@ -45,21 +50,840 @@ import { } from "./models_0"; import { - ControlPlaneTagFilter, - HierarchyGroupMatchType, - HoursOfOperationSearchFilter, - PromptSearchFilter, - QueueSearchFilter, + PredefinedAttribute, + Prompt, + Queue, QueueStatus, - QuickConnectSearchFilter, - RoutingProfileSearchFilter, - SearchableQueueType, - SecurityProfilesSearchFilter, + QuickConnect, + RoutingProfile, + SearchCriteria, + SearchCriteriaFilterSensitiveLog, SignInConfig, - StringCondition, + Sort, TelephonyConfig, } from "./models_1"; +/** + * @public + * @enum + */ +export const SearchContactsTimeRangeType = { + CONNECTED_TO_AGENT_TIMESTAMP: "CONNECTED_TO_AGENT_TIMESTAMP", + DISCONNECT_TIMESTAMP: "DISCONNECT_TIMESTAMP", + INITIATION_TIMESTAMP: "INITIATION_TIMESTAMP", + SCHEDULED_TIMESTAMP: "SCHEDULED_TIMESTAMP", +} as const; + +/** + * @public + */ +export type SearchContactsTimeRangeType = + (typeof SearchContactsTimeRangeType)[keyof typeof SearchContactsTimeRangeType]; + +/** + * @public + *

A structure of time range that you want to search results

+ */ +export interface SearchContactsTimeRange { + /** + * @public + *

The type of timestamp to search

+ */ + Type: SearchContactsTimeRangeType | undefined; + + /** + * @public + *

The start time of the time range.

+ */ + StartTime: Date | undefined; + + /** + * @public + *

The end time of the time range.

+ */ + EndTime: Date | undefined; +} + +/** + * @public + */ +export interface SearchContactsRequest { + /** + * @public + *

The identifier of Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance

+ */ + InstanceId: string | undefined; + + /** + * @public + *

Time range that you want to search results

+ */ + TimeRange: SearchContactsTimeRange | undefined; + + /** + * @public + *

The search criteria to be used to return contacts.

+ */ + SearchCriteria?: SearchCriteria; + + /** + * @public + *

The maximum number of results to return per page.

+ */ + MaxResults?: number; + + /** + * @public + *

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

Specifies a field to sort by and a sort order

+ */ + Sort?: Sort; +} + +/** + * @public + *

Information about the agent who accepted the contact.

+ */ +export interface ContactSearchSummaryAgentInfo { + /** + * @public + *

The identifier of the agent who accepted the contact.

+ */ + Id?: string; + + /** + * @public + *

The timestamp when the contact was connected to the agent.

+ */ + ConnectedToAgentTimestamp?: Date; +} + +/** + * @public + *

If this contact was queued, this contains information about the queue.

+ */ +export interface ContactSearchSummaryQueueInfo { + /** + * @public + *

The unique identifier for the queue.

+ */ + Id?: string; + + /** + * @public + *

The timestamp when the contact was added to the queue.

+ */ + EnqueueTimestamp?: Date; +} + +/** + * @public + *

Information of returned contact.

+ */ +export interface ContactSearchSummary { + /** + * @public + *

The Amazon Resource Name (ARN) of the contact

+ */ + Arn?: string; + + /** + * @public + *

The identifier of the contact summary.

+ */ + Id?: string; + + /** + * @public + *

If this contact is related to other contacts, this is the ID of the initial contact.

+ */ + InitialContactId?: string; + + /** + * @public + *

If this contact is not the first contact, this is the ID of the previous contact.

+ */ + PreviousContactId?: string; + + /** + * @public + *

Indicates how the contact was initiated.

+ */ + InitiationMethod?: ContactInitiationMethod; + + /** + * @public + *

How the contact reached your contact center.

+ */ + Channel?: Channel; + + /** + * @public + *

If this contact was queued, this contains information about the queue.

+ */ + QueueInfo?: ContactSearchSummaryQueueInfo; + + /** + * @public + *

Information about the agent who accepted the contact.

+ */ + AgentInfo?: ContactSearchSummaryAgentInfo; + + /** + * @public + *

The date and time this contact was initiated, in UTC time. For INBOUND, this is when the contact arrived. For OUTBOUND, this is when the agent began dialing. For CALLBACK, this is when the callback contact was created. For TRANSFER and QUEUE_TRANSFER, this is when the transfer was initiated. For API, this is when the request arrived. For EXTERNAL_OUTBOUND, this is when the agent started dialing the external participant. For MONITOR, this is when the supervisor started listening to a contact.

+ */ + InitiationTimestamp?: Date; + + /** + * @public + *

The timestamp when the customer endpoint disconnected from Amazon Connect.

+ */ + DisconnectTimestamp?: Date; + + /** + * @public + *

The timestamp, in Unix epoch time format, at which to start running the inbound flow.

+ */ + ScheduledTimestamp?: Date; +} + +/** + * @public + */ +export interface SearchContactsResponse { + /** + * @public + *

Information about the contacts.

+ */ + Contacts: ContactSearchSummary[] | undefined; + + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The total number of contacts which matched your search query.

+ */ + TotalCount?: number; +} + +/** + * @public + * @enum + */ +export const StringComparisonType = { + CONTAINS: "CONTAINS", + EXACT: "EXACT", + STARTS_WITH: "STARTS_WITH", +} as const; + +/** + * @public + */ +export type StringComparisonType = (typeof StringComparisonType)[keyof typeof StringComparisonType]; + +/** + * @public + *

A leaf node condition which can be used to specify a string condition.

+ * + *

The currently supported values for FieldName are name and + * description.

+ *
+ */ +export interface StringCondition { + /** + * @public + *

The name of the field in the string condition.

+ */ + FieldName?: string; + + /** + * @public + *

The value of the string.

+ */ + Value?: string; + + /** + * @public + *

The type of comparison to be made when evaluating the string condition.

+ */ + ComparisonType?: StringComparisonType; +} + +/** + * @public + *

A leaf node condition which can be used to specify a tag condition, for example, HAVE + * BPO = 123.

+ */ +export interface TagCondition { + /** + * @public + *

The tag key in the tag condition.

+ */ + TagKey?: string; + + /** + * @public + *

The tag value in the tag condition.

+ */ + TagValue?: string; +} + +/** + * @public + *

An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

+ *
    + *
  • + *

    Top level list specifies conditions that need to be applied with OR + * operator

    + *
  • + *
  • + *

    Inner list specifies conditions that need to be applied with AND + * operator.

    + *
  • + *
+ */ +export interface ControlPlaneTagFilter { + /** + * @public + *

A list of conditions which would be applied together with an OR condition. + *

+ */ + OrConditions?: TagCondition[][]; + + /** + * @public + *

A list of conditions which would be applied together with an AND + * condition.

+ */ + AndConditions?: TagCondition[]; + + /** + * @public + *

A leaf node condition which can be used to specify a tag condition.

+ */ + TagCondition?: TagCondition; +} + +/** + * @public + *

Filters to be applied to search results.

+ */ +export interface HoursOfOperationSearchFilter { + /** + * @public + *

An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

+ *
    + *
  • + *

    Top level list specifies conditions that need to be applied with OR + * operator

    + *
  • + *
  • + *

    Inner list specifies conditions that need to be applied with AND + * operator.

    + *
  • + *
+ */ + TagFilter?: ControlPlaneTagFilter; +} + +/** + * @public + */ +export interface SearchHoursOfOperationsResponse { + /** + * @public + *

Information about the hours of operations.

+ */ + HoursOfOperations?: HoursOfOperation[]; + + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The total number of hours of operations which matched your search query.

+ */ + ApproximateTotalCount?: number; +} + +/** + * @public + */ +export interface SearchPredefinedAttributesResponse { + /** + * @public + *

Predefined attributes matched by the search criteria.

+ */ + PredefinedAttributes?: PredefinedAttribute[]; + + /** + * @public + *

The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The approximate number of predefined attributes which matched your search query.

+ */ + ApproximateTotalCount?: number; +} + +/** + * @public + *

Filters to be applied to search results.

+ */ +export interface PromptSearchFilter { + /** + * @public + *

An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

+ *
    + *
  • + *

    Top level list specifies conditions that need to be applied with OR + * operator

    + *
  • + *
  • + *

    Inner list specifies conditions that need to be applied with AND + * operator.

    + *
  • + *
+ */ + TagFilter?: ControlPlaneTagFilter; +} + +/** + * @public + */ +export interface SearchPromptsResponse { + /** + * @public + *

Information about the prompts.

+ */ + Prompts?: Prompt[]; + + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The total number of quick connects which matched your search query.

+ */ + ApproximateTotalCount?: number; +} + +/** + * @public + * @enum + */ +export const SearchableQueueType = { + STANDARD: "STANDARD", +} as const; + +/** + * @public + */ +export type SearchableQueueType = (typeof SearchableQueueType)[keyof typeof SearchableQueueType]; + +/** + * @public + *

Filters to be applied to search results.

+ */ +export interface QueueSearchFilter { + /** + * @public + *

An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

+ *
    + *
  • + *

    Top level list specifies conditions that need to be applied with OR + * operator

    + *
  • + *
  • + *

    Inner list specifies conditions that need to be applied with AND + * operator.

    + *
  • + *
+ */ + TagFilter?: ControlPlaneTagFilter; +} + +/** + * @public + */ +export interface SearchQueuesResponse { + /** + * @public + *

Information about the queues.

+ */ + Queues?: Queue[]; + + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The total number of queues which matched your search query.

+ */ + ApproximateTotalCount?: number; +} + +/** + * @public + *

Filters to be applied to search results.

+ */ +export interface QuickConnectSearchFilter { + /** + * @public + *

An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

+ *
    + *
  • + *

    Top level list specifies conditions that need to be applied with OR + * operator

    + *
  • + *
  • + *

    Inner list specifies conditions that need to be applied with AND + * operator.

    + *
  • + *
+ */ + TagFilter?: ControlPlaneTagFilter; +} + +/** + * @public + */ +export interface SearchQuickConnectsResponse { + /** + * @public + *

Information about the quick connects.

+ */ + QuickConnects?: QuickConnect[]; + + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The total number of quick connects which matched your search query.

+ */ + ApproximateTotalCount?: number; +} + +/** + * @public + *

Maximum number (1000) of tags have been returned with current request. Consider changing + * request parameters to get more tags.

+ */ +export class MaximumResultReturnedException extends __BaseException { + readonly name: "MaximumResultReturnedException" = "MaximumResultReturnedException"; + readonly $fault: "client" = "client"; + Message?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "MaximumResultReturnedException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, MaximumResultReturnedException.prototype); + this.Message = opts.Message; + } +} + +/** + * @public + *

The search criteria to be used to return tags.

+ */ +export interface TagSearchCondition { + /** + * @public + *

The tag key used in the tag search condition.

+ */ + tagKey?: string; + + /** + * @public + *

The tag value used in the tag search condition.

+ */ + tagValue?: string; + + /** + * @public + *

The type of comparison to be made when evaluating the tag key in tag search + * condition.

+ */ + tagKeyComparisonType?: StringComparisonType; + + /** + * @public + *

The type of comparison to be made when evaluating the tag value in tag search + * condition.

+ */ + tagValueComparisonType?: StringComparisonType; +} + +/** + * @public + *

The search criteria to be used to search tags.

+ */ +export interface ResourceTagsSearchCriteria { + /** + * @public + *

The search criteria to be used to return tags.

+ */ + TagSearchCondition?: TagSearchCondition; +} + +/** + * @public + */ +export interface SearchResourceTagsRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instanceId in the Amazon + * Resource Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The list of resource types to be used to search tags from. If not provided or if any empty + * list is provided, this API will search from all supported resource types.

+ */ + ResourceTypes?: string[]; + + /** + * @public + *

The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The maximum number of results to return per page.

+ */ + MaxResults?: number; + + /** + * @public + *

The search criteria to be used to return tags.

+ */ + SearchCriteria?: ResourceTagsSearchCriteria; +} + +/** + * @public + *

A tag set contains tag key and tag value.

+ */ +export interface TagSet { + /** + * @public + *

The tag key in the tagSet.

+ */ + key?: string; + + /** + * @public + *

The tag value in the tagSet.

+ */ + value?: string; +} + +/** + * @public + */ +export interface SearchResourceTagsResponse { + /** + * @public + *

A list of tags used in the Amazon Connect instance.

+ */ + Tags?: TagSet[]; + + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; +} + +/** + * @public + *

Filters to be applied to search results.

+ */ +export interface RoutingProfileSearchFilter { + /** + * @public + *

An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

+ *
    + *
  • + *

    Top level list specifies conditions that need to be applied with OR + * operator

    + *
  • + *
  • + *

    Inner list specifies conditions that need to be applied with AND + * operator.

    + *
  • + *
+ */ + TagFilter?: ControlPlaneTagFilter; +} + +/** + * @public + */ +export interface SearchRoutingProfilesResponse { + /** + * @public + *

Information about the routing profiles.

+ */ + RoutingProfiles?: RoutingProfile[]; + + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The total number of routing profiles which matched your search query.

+ */ + ApproximateTotalCount?: number; +} + +/** + * @public + *

Filters to be applied to search results.

+ */ +export interface SecurityProfilesSearchFilter { + /** + * @public + *

An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

+ *
    + *
  • + *

    Top level list specifies conditions that need to be applied with OR + * operator

    + *
  • + *
  • + *

    Inner list specifies conditions that need to be applied with AND + * operator.

    + *
  • + *
+ */ + TagFilter?: ControlPlaneTagFilter; +} + +/** + * @public + *

Information about the returned security profiles.

+ */ +export interface SecurityProfileSearchSummary { + /** + * @public + *

The identifier of the security profile.

+ */ + Id?: string; + + /** + * @public + *

The organization resource identifier.

+ */ + OrganizationResourceId?: string; + + /** + * @public + *

The Amazon Resource Name (ARN) of the security profile.

+ */ + Arn?: string; + + /** + * @public + *

The name of the security profile.

+ */ + SecurityProfileName?: string; + + /** + * @public + *

The description of the security profile.

+ */ + Description?: string; + + /** + * @public + *

The tags used to organize, track, or control access for this resource. For example, \{ "Tags": \{"key1":"value1", "key2":"value2"\} \}.

+ */ + Tags?: Record; +} + +/** + * @public + */ +export interface SearchSecurityProfilesResponse { + /** + * @public + *

Information about the security profiles.

+ */ + SecurityProfiles?: SecurityProfileSearchSummary[]; + + /** + * @public + *

If there are additional results, this is the token for the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The total number of security profiles which matched your search query.

+ */ + ApproximateTotalCount?: number; +} + +/** + * @public + * @enum + */ +export const HierarchyGroupMatchType = { + EXACT: "EXACT", + WITH_CHILD_GROUPS: "WITH_CHILD_GROUPS", +} as const; + +/** + * @public + */ +export type HierarchyGroupMatchType = (typeof HierarchyGroupMatchType)[keyof typeof HierarchyGroupMatchType]; + /** * @public *

A leaf node condition which can be used to specify a hierarchy group condition.

@@ -1010,18 +1834,19 @@ export interface StartOutboundVoiceContactRequest { /** * @public *

A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Contacts can - * have the following reference types at the time of creation: URL | NUMBER | STRING | DATE | EMAIL. - * ATTACHMENT is not a supported reference type during voice contact creation.

+ * have the following reference types at the time of creation: URL | + * NUMBER | STRING | DATE | EMAIL. + * ATTACHMENT is not a supported reference type during voice contact creation.

*/ References?: Record; /** * @public - *

The contactId that is related to this contact. Linking voice, task, or chat by using - * RelatedContactID copies over contact attributes from the related contact to the new contact. All - * updates to user-defined attributes in the new contact are limited to the individual contact ID. - * There are no limits to the number of contacts that can be linked by using RelatedContactId. - *

+ *

The contactId that is related to this contact. Linking voice, task, or chat by + * using RelatedContactID copies over contact attributes from the related contact to + * the new contact. All updates to user-defined attributes in the new contact are limited to the + * individual contact ID. There are no limits to the number of contacts that can be linked by using + * RelatedContactId.

*/ RelatedContactId?: string; @@ -1712,7 +2537,8 @@ export interface TagContactRequest { /** * @public - *

The tags to be assigned to the contact resource. For example, \{ "Tags": \{"key1":"value1", "key2":"value2"\} \}.

+ *

The tags to be assigned to the contact resource. For example, \{ "Tags": \{"key1":"value1", + * "key2":"value2"\} \}.

* *

Authorization is not supported by this tag.

*
@@ -1821,7 +2647,8 @@ export interface UntagContactRequest { /** * @public - *

A list of tag keys. Existing tags on the contact whose keys are members of this list will be removed.

+ *

A list of tag keys. Existing tags on the contact whose keys are members of this list will be + * removed.

*/ TagKeys: string[] | undefined; } @@ -2187,6 +3014,44 @@ export interface UpdateContactFlowNameRequest { */ export interface UpdateContactFlowNameResponse {} +/** + * @public + */ +export interface UpdateContactRoutingDataRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The identifier of the contact in this instance of Amazon Connect.

+ */ + ContactId: string | undefined; + + /** + * @public + *

The number of seconds to add or subtract from the contact's routing age. Contacts are routed + * to agents on a first-come, first-serve basis. This means that changing their amount of time in + * queue compared to others also changes their position in queue.

+ */ + QueueTimeAdjustmentSeconds?: number; + + /** + * @public + *

Priority of the contact in the queue. The default priority for new contacts is 5. You can + * raise the priority of a contact compared to other contacts in the queue by assigning them a + * higher priority, such as 1 or 2.

+ */ + QueuePriority?: number; +} + +/** + * @public + */ +export interface UpdateContactRoutingDataResponse {} + /** * @public */ @@ -2626,6 +3491,30 @@ export interface UpdatePhoneNumberMetadataRequest { ClientToken?: string; } +/** + * @public + */ +export interface UpdatePredefinedAttributeRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The name of the predefined attribute.

+ */ + Name: string | undefined; + + /** + * @public + *

The values of the predefined attribute.

+ */ + Values?: PredefinedAttributeValues; +} + /** * @public */ @@ -3407,6 +4296,31 @@ export interface UpdateUserPhoneConfigRequest { InstanceId: string | undefined; } +/** + * @public + */ +export interface UpdateUserProficienciesRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The identifier of the user account.

+ */ + UserId: string | undefined; + + /** + * @public + *

The proficiencies to be updated for the user. Proficiencies must first be associated to the + * user. You can do this using AssociateUserProficiencies API.

+ */ + UserProficiencies: UserProficiency[] | undefined; +} + /** * @public */ @@ -3838,6 +4752,36 @@ export interface HoursOfOperationSearchCriteria { StringCondition?: StringCondition; } +/** + * @public + *

The search criteria to be used to return predefined attributes.

+ */ +export interface PredefinedAttributeSearchCriteria { + /** + * @public + *

A list of conditions which would be applied together with an OR + * condition.

+ */ + OrConditions?: PredefinedAttributeSearchCriteria[]; + + /** + * @public + *

A list of conditions which would be applied together with an AND + * condition.

+ */ + AndConditions?: PredefinedAttributeSearchCriteria[]; + + /** + * @public + *

A leaf node condition which can be used to specify a string condition.

+ * + *

The currently supported values for FieldName are name and + * description.

+ *
+ */ + StringCondition?: StringCondition; +} + /** * @public *

The search criteria to be used to return prompts.

@@ -3990,7 +4934,11 @@ export interface SecurityProfileSearchCriteria { /** * @public - *

A leaf node condition which can be used to specify a string condition.

+ *

A leaf node condition which can be used to specify a string condition.

+ * + *

The currently supported values for FieldName are name and + * description.

+ *
*/ StringCondition?: StringCondition; } @@ -4162,6 +5110,37 @@ export interface SearchHoursOfOperationsRequest { SearchCriteria?: HoursOfOperationSearchCriteria; } +/** + * @public + */ +export interface SearchPredefinedAttributesRequest { + /** + * @public + *

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource + * Name (ARN) of the instance.

+ */ + InstanceId: string | undefined; + + /** + * @public + *

The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

+ */ + NextToken?: string; + + /** + * @public + *

The maximum number of results to return per page.

+ */ + MaxResults?: number; + + /** + * @public + *

The search criteria to be used to return predefined attributes.

+ */ + SearchCriteria?: PredefinedAttributeSearchCriteria; +} + /** * @public */ @@ -4405,6 +5384,14 @@ export interface SearchUsersRequest { SearchCriteria?: UserSearchCriteria; } +/** + * @internal + */ +export const SearchContactsRequestFilterSensitiveLog = (obj: SearchContactsRequest): any => ({ + ...obj, + ...(obj.SearchCriteria && { SearchCriteria: SearchCriteriaFilterSensitiveLog(obj.SearchCriteria) }), +}); + /** * @internal */ diff --git a/clients/client-connect/src/pagination/ListPredefinedAttributesPaginator.ts b/clients/client-connect/src/pagination/ListPredefinedAttributesPaginator.ts new file mode 100644 index 0000000000000..acbb8c2f5e7c7 --- /dev/null +++ b/clients/client-connect/src/pagination/ListPredefinedAttributesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListPredefinedAttributesCommand, + ListPredefinedAttributesCommandInput, + ListPredefinedAttributesCommandOutput, +} from "../commands/ListPredefinedAttributesCommand"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListPredefinedAttributes: ( + config: ConnectPaginationConfiguration, + input: ListPredefinedAttributesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + ConnectPaginationConfiguration, + ListPredefinedAttributesCommandInput, + ListPredefinedAttributesCommandOutput +>(ConnectClient, ListPredefinedAttributesCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-connect/src/pagination/ListUserProficienciesPaginator.ts b/clients/client-connect/src/pagination/ListUserProficienciesPaginator.ts new file mode 100644 index 0000000000000..93725c0b72f01 --- /dev/null +++ b/clients/client-connect/src/pagination/ListUserProficienciesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListUserProficienciesCommand, + ListUserProficienciesCommandInput, + ListUserProficienciesCommandOutput, +} from "../commands/ListUserProficienciesCommand"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListUserProficiencies: ( + config: ConnectPaginationConfiguration, + input: ListUserProficienciesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + ConnectPaginationConfiguration, + ListUserProficienciesCommandInput, + ListUserProficienciesCommandOutput +>(ConnectClient, ListUserProficienciesCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-connect/src/pagination/SearchContactsPaginator.ts b/clients/client-connect/src/pagination/SearchContactsPaginator.ts new file mode 100644 index 0000000000000..6bf04017948c6 --- /dev/null +++ b/clients/client-connect/src/pagination/SearchContactsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + SearchContactsCommand, + SearchContactsCommandInput, + SearchContactsCommandOutput, +} from "../commands/SearchContactsCommand"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateSearchContacts: ( + config: ConnectPaginationConfiguration, + input: SearchContactsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + ConnectPaginationConfiguration, + SearchContactsCommandInput, + SearchContactsCommandOutput +>(ConnectClient, SearchContactsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-connect/src/pagination/SearchPredefinedAttributesPaginator.ts b/clients/client-connect/src/pagination/SearchPredefinedAttributesPaginator.ts new file mode 100644 index 0000000000000..bf8f0266ef23d --- /dev/null +++ b/clients/client-connect/src/pagination/SearchPredefinedAttributesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + SearchPredefinedAttributesCommand, + SearchPredefinedAttributesCommandInput, + SearchPredefinedAttributesCommandOutput, +} from "../commands/SearchPredefinedAttributesCommand"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateSearchPredefinedAttributes: ( + config: ConnectPaginationConfiguration, + input: SearchPredefinedAttributesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + ConnectPaginationConfiguration, + SearchPredefinedAttributesCommandInput, + SearchPredefinedAttributesCommandOutput +>(ConnectClient, SearchPredefinedAttributesCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-connect/src/pagination/index.ts b/clients/client-connect/src/pagination/index.ts index e6233b9cab367..5cb359ca5430f 100644 --- a/clients/client-connect/src/pagination/index.ts +++ b/clients/client-connect/src/pagination/index.ts @@ -27,6 +27,7 @@ export * from "./ListLambdaFunctionsPaginator"; export * from "./ListLexBotsPaginator"; export * from "./ListPhoneNumbersPaginator"; export * from "./ListPhoneNumbersV2Paginator"; +export * from "./ListPredefinedAttributesPaginator"; export * from "./ListPromptsPaginator"; export * from "./ListQueueQuickConnectsPaginator"; export * from "./ListQueuesPaginator"; @@ -44,11 +45,14 @@ export * from "./ListTrafficDistributionGroupUsersPaginator"; export * from "./ListTrafficDistributionGroupsPaginator"; export * from "./ListUseCasesPaginator"; export * from "./ListUserHierarchyGroupsPaginator"; +export * from "./ListUserProficienciesPaginator"; export * from "./ListUsersPaginator"; export * from "./ListViewVersionsPaginator"; export * from "./ListViewsPaginator"; export * from "./SearchAvailablePhoneNumbersPaginator"; +export * from "./SearchContactsPaginator"; export * from "./SearchHoursOfOperationsPaginator"; +export * from "./SearchPredefinedAttributesPaginator"; export * from "./SearchPromptsPaginator"; export * from "./SearchQueuesPaginator"; export * from "./SearchQuickConnectsPaginator"; diff --git a/clients/client-connect/src/protocols/Aws_restJson1.ts b/clients/client-connect/src/protocols/Aws_restJson1.ts index af1f584b1bff8..dc490bc4189c6 100644 --- a/clients/client-connect/src/protocols/Aws_restJson1.ts +++ b/clients/client-connect/src/protocols/Aws_restJson1.ts @@ -15,6 +15,7 @@ import { expectString as __expectString, extendedEncodeURIComponent as __extendedEncodeURIComponent, limitedParseDouble as __limitedParseDouble, + limitedParseFloat32 as __limitedParseFloat32, map, parseEpochTimestamp as __parseEpochTimestamp, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, @@ -77,6 +78,10 @@ import { AssociateTrafficDistributionGroupUserCommandInput, AssociateTrafficDistributionGroupUserCommandOutput, } from "../commands/AssociateTrafficDistributionGroupUserCommand"; +import { + AssociateUserProficienciesCommandInput, + AssociateUserProficienciesCommandOutput, +} from "../commands/AssociateUserProficienciesCommand"; import { BatchAssociateAnalyticsDataSetCommandInput, BatchAssociateAnalyticsDataSetCommandOutput, @@ -115,6 +120,10 @@ import { CreatePersistentContactAssociationCommandInput, CreatePersistentContactAssociationCommandOutput, } from "../commands/CreatePersistentContactAssociationCommand"; +import { + CreatePredefinedAttributeCommandInput, + CreatePredefinedAttributeCommandOutput, +} from "../commands/CreatePredefinedAttributeCommand"; import { CreatePromptCommandInput, CreatePromptCommandOutput } from "../commands/CreatePromptCommand"; import { CreateQueueCommandInput, CreateQueueCommandOutput } from "../commands/CreateQueueCommand"; import { CreateQuickConnectCommandInput, CreateQuickConnectCommandOutput } from "../commands/CreateQuickConnectCommand"; @@ -167,6 +176,10 @@ import { DeleteIntegrationAssociationCommandInput, DeleteIntegrationAssociationCommandOutput, } from "../commands/DeleteIntegrationAssociationCommand"; +import { + DeletePredefinedAttributeCommandInput, + DeletePredefinedAttributeCommandOutput, +} from "../commands/DeletePredefinedAttributeCommand"; import { DeletePromptCommandInput, DeletePromptCommandOutput } from "../commands/DeletePromptCommand"; import { DeleteQueueCommandInput, DeleteQueueCommandOutput } from "../commands/DeleteQueueCommand"; import { DeleteQuickConnectCommandInput, DeleteQuickConnectCommandOutput } from "../commands/DeleteQuickConnectCommand"; @@ -231,6 +244,10 @@ import { DescribePhoneNumberCommandInput, DescribePhoneNumberCommandOutput, } from "../commands/DescribePhoneNumberCommand"; +import { + DescribePredefinedAttributeCommandInput, + DescribePredefinedAttributeCommandOutput, +} from "../commands/DescribePredefinedAttributeCommand"; import { DescribePromptCommandInput, DescribePromptCommandOutput } from "../commands/DescribePromptCommand"; import { DescribeQueueCommandInput, DescribeQueueCommandOutput } from "../commands/DescribeQueueCommand"; import { @@ -300,6 +317,10 @@ import { DisassociateTrafficDistributionGroupUserCommandInput, DisassociateTrafficDistributionGroupUserCommandOutput, } from "../commands/DisassociateTrafficDistributionGroupUserCommand"; +import { + DisassociateUserProficienciesCommandInput, + DisassociateUserProficienciesCommandOutput, +} from "../commands/DisassociateUserProficienciesCommand"; import { DismissUserContactCommandInput, DismissUserContactCommandOutput } from "../commands/DismissUserContactCommand"; import { GetContactAttributesCommandInput, @@ -384,6 +405,10 @@ import { import { ListLexBotsCommandInput, ListLexBotsCommandOutput } from "../commands/ListLexBotsCommand"; import { ListPhoneNumbersCommandInput, ListPhoneNumbersCommandOutput } from "../commands/ListPhoneNumbersCommand"; import { ListPhoneNumbersV2CommandInput, ListPhoneNumbersV2CommandOutput } from "../commands/ListPhoneNumbersV2Command"; +import { + ListPredefinedAttributesCommandInput, + ListPredefinedAttributesCommandOutput, +} from "../commands/ListPredefinedAttributesCommand"; import { ListPromptsCommandInput, ListPromptsCommandOutput } from "../commands/ListPromptsCommand"; import { ListQueueQuickConnectsCommandInput, @@ -435,6 +460,10 @@ import { ListUserHierarchyGroupsCommandInput, ListUserHierarchyGroupsCommandOutput, } from "../commands/ListUserHierarchyGroupsCommand"; +import { + ListUserProficienciesCommandInput, + ListUserProficienciesCommandOutput, +} from "../commands/ListUserProficienciesCommand"; import { ListUsersCommandInput, ListUsersCommandOutput } from "../commands/ListUsersCommand"; import { ListViewsCommandInput, ListViewsCommandOutput } from "../commands/ListViewsCommand"; import { ListViewVersionsCommandInput, ListViewVersionsCommandOutput } from "../commands/ListViewVersionsCommand"; @@ -452,10 +481,15 @@ import { SearchAvailablePhoneNumbersCommandInput, SearchAvailablePhoneNumbersCommandOutput, } from "../commands/SearchAvailablePhoneNumbersCommand"; +import { SearchContactsCommandInput, SearchContactsCommandOutput } from "../commands/SearchContactsCommand"; import { SearchHoursOfOperationsCommandInput, SearchHoursOfOperationsCommandOutput, } from "../commands/SearchHoursOfOperationsCommand"; +import { + SearchPredefinedAttributesCommandInput, + SearchPredefinedAttributesCommandOutput, +} from "../commands/SearchPredefinedAttributesCommand"; import { SearchPromptsCommandInput, SearchPromptsCommandOutput } from "../commands/SearchPromptsCommand"; import { SearchQueuesCommandInput, SearchQueuesCommandOutput } from "../commands/SearchQueuesCommand"; import { @@ -548,6 +582,10 @@ import { UpdateContactFlowNameCommandInput, UpdateContactFlowNameCommandOutput, } from "../commands/UpdateContactFlowNameCommand"; +import { + UpdateContactRoutingDataCommandInput, + UpdateContactRoutingDataCommandOutput, +} from "../commands/UpdateContactRoutingDataCommand"; import { UpdateContactScheduleCommandInput, UpdateContactScheduleCommandOutput, @@ -577,6 +615,10 @@ import { UpdatePhoneNumberMetadataCommandInput, UpdatePhoneNumberMetadataCommandOutput, } from "../commands/UpdatePhoneNumberMetadataCommand"; +import { + UpdatePredefinedAttributeCommandInput, + UpdatePredefinedAttributeCommandOutput, +} from "../commands/UpdatePredefinedAttributeCommand"; import { UpdatePromptCommandInput, UpdatePromptCommandOutput } from "../commands/UpdatePromptCommand"; import { UpdateQueueHoursOfOperationCommandInput, @@ -650,6 +692,10 @@ import { UpdateUserPhoneConfigCommandInput, UpdateUserPhoneConfigCommandOutput, } from "../commands/UpdateUserPhoneConfigCommand"; +import { + UpdateUserProficienciesCommandInput, + UpdateUserProficienciesCommandOutput, +} from "../commands/UpdateUserProficienciesCommand"; import { UpdateUserRoutingProfileCommandInput, UpdateUserRoutingProfileCommandOutput, @@ -665,6 +711,7 @@ import { AccessDeniedException, AgentConfig, AgentContactReference, + AgentHierarchyGroups, AgentInfo, AgentStatus, AgentStatusReference, @@ -677,6 +724,7 @@ import { Contact, ContactDataRequest, ContactFlowNotPublishedException, + ContactInitiationMethod, ContactState, CreateCaseActionDefinition, CrossChannelBehavior, @@ -732,7 +780,7 @@ import { ParticipantDetailsToAdd, PhoneNumberCountryCode, PhoneNumberQuickConnectConfig, - PhoneNumberType, + PredefinedAttributeValues, PropertyValidationException, QueueInfo, QueueQuickConnectConfig, @@ -763,14 +811,15 @@ import { UpdateCaseActionDefinition, UserIdentityInfo, UserPhoneConfig, + UserProficiency, UserQuickConnectConfig, View, ViewInputContent, } from "../models/models_0"; import { ConflictException, + ContactAnalysis, ContactFilter, - ControlPlaneTagFilter, Credentials, CurrentMetric, CurrentMetricData, @@ -790,25 +839,23 @@ import { HistoricalMetric, HistoricalMetricData, HistoricalMetricResult, - HoursOfOperationSearchFilter, HoursOfOperationSummary, InstanceSummary, IntervalDetails, - MaximumResultReturnedException, MetricDataV2, MetricFilterV2, MetricInterval, MetricResultV2, MetricV2, OutputTypeNotFoundException, + PhoneNumberType, + PredefinedAttribute, + PredefinedAttributeSummary, Prompt, - PromptSearchFilter, PromptSummary, Queue, - QueueSearchFilter, QueueSummary, QuickConnect, - QuickConnectSearchFilter, QuickConnectSummary, RealtimeContactAnalysisSegment, RealTimeContactAnalysisSegmentAttachments, @@ -816,29 +863,30 @@ import { RealTimeContactAnalysisSegmentTranscript, RealTimeContactAnalysisSegmentType, RealTimeContactAnalysisTimeData, - ResourceTagsSearchCriteria, RoutingProfile, - RoutingProfileSearchFilter, RoutingProfileSummary, Rule, RuleSummary, + SearchableContactAttributes, + SearchableContactAttributesCriteria, + SearchCriteria, SecurityKey, SecurityProfile, - SecurityProfilesSearchFilter, SecurityProfileSummary, SignInConfig, SignInDistribution, - StringCondition, - TagCondition, - TagSearchCondition, + Sort, TaskTemplateMetadata, TelephonyConfig, Threshold, ThresholdV2, + Transcript, + TranscriptCriteria, User, UserData, UserDataFilters, UserNotFoundException, + UserProficiencyDisassociate, UserSummary, Vocabulary, } from "../models/models_1"; @@ -849,6 +897,10 @@ import { ChatParticipantRoleConfig, ChatStreamingConfiguration, ContactNotFoundException, + ContactSearchSummary, + ContactSearchSummaryAgentInfo, + ContactSearchSummaryQueueInfo, + ControlPlaneTagFilter, DestinationNotAllowedException, DisconnectReason, EvaluationAnswerInput, @@ -860,18 +912,31 @@ import { HierarchyLevelUpdate, HierarchyStructureUpdate, HoursOfOperationSearchCriteria, + HoursOfOperationSearchFilter, + MaximumResultReturnedException, NewSessionDetails, OutboundContactNotPermittedException, ParticipantDetails, ParticipantTimerConfiguration, ParticipantTimerValue, PersistentChat, + PredefinedAttributeSearchCriteria, PromptSearchCriteria, + PromptSearchFilter, QueueSearchCriteria, + QueueSearchFilter, QuickConnectSearchCriteria, + QuickConnectSearchFilter, + ResourceTagsSearchCriteria, RoutingProfileSearchCriteria, + RoutingProfileSearchFilter, + SearchContactsTimeRange, SecurityProfileSearchCriteria, + SecurityProfilesSearchFilter, SegmentAttributeValue, + StringCondition, + TagCondition, + TagSearchCondition, UpdateParticipantRoleConfigChannelInfo, UserSearchCriteria, UserSearchFilter, @@ -1212,6 +1277,30 @@ export const se_AssociateTrafficDistributionGroupUserCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1AssociateUserProficienciesCommand + */ +export const se_AssociateUserProficienciesCommand = async ( + input: AssociateUserProficienciesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/users/{InstanceId}/{UserId}/associate-proficiencies"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("UserId", () => input.UserId!, "{UserId}", false); + let body: any; + body = JSON.stringify( + take(input, { + UserProficiencies: (_) => se_UserProficiencyList(_, context), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1BatchAssociateAnalyticsDataSetCommand */ @@ -1577,6 +1666,30 @@ export const se_CreatePersistentContactAssociationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreatePredefinedAttributeCommand + */ +export const se_CreatePredefinedAttributeCommand = async ( + input: CreatePredefinedAttributeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/predefined-attributes/{InstanceId}"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + let body: any; + body = JSON.stringify( + take(input, { + Name: [], + Values: (_) => _json(_), + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreatePromptCommand */ @@ -2106,6 +2219,23 @@ export const se_DeleteIntegrationAssociationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeletePredefinedAttributeCommand + */ +export const se_DeletePredefinedAttributeCommand = async ( + input: DeletePredefinedAttributeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/predefined-attributes/{InstanceId}/{Name}"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("Name", () => input.Name!, "{Name}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeletePromptCommand */ @@ -2536,6 +2666,23 @@ export const se_DescribePhoneNumberCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DescribePredefinedAttributeCommand + */ +export const se_DescribePredefinedAttributeCommand = async ( + input: DescribePredefinedAttributeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/predefined-attributes/{InstanceId}/{Name}"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("Name", () => input.Name!, "{Name}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DescribePromptCommand */ @@ -2986,6 +3133,30 @@ export const se_DisassociateTrafficDistributionGroupUserCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DisassociateUserProficienciesCommand + */ +export const se_DisassociateUserProficienciesCommand = async ( + input: DisassociateUserProficienciesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/users/{InstanceId}/{UserId}/disassociate-proficiencies"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("UserId", () => input.UserId!, "{UserId}", false); + let body: any; + body = JSON.stringify( + take(input, { + UserProficiencies: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DismissUserContactCommand */ @@ -3703,6 +3874,26 @@ export const se_ListPhoneNumbersV2Command = async ( return b.build(); }; +/** + * serializeAws_restJson1ListPredefinedAttributesCommand + */ +export const se_ListPredefinedAttributesCommand = async ( + input: ListPredefinedAttributesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/predefined-attributes/{InstanceId}"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + const query: any = map({ + [_nT]: [, input[_NT]!], + [_mR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListPromptsCommand */ @@ -4077,6 +4268,27 @@ export const se_ListUserHierarchyGroupsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListUserProficienciesCommand + */ +export const se_ListUserProficienciesCommand = async ( + input: ListUserProficienciesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/users/{InstanceId}/{UserId}/proficiencies"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("UserId", () => input.UserId!, "{UserId}", false); + const query: any = map({ + [_nT]: [, input[_NT]!], + [_mR]: [() => input.MaxResults !== void 0, () => input[_MR]!.toString()], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListUsersCommand */ @@ -4333,6 +4545,33 @@ export const se_SearchAvailablePhoneNumbersCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1SearchContactsCommand + */ +export const se_SearchContactsCommand = async ( + input: SearchContactsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/search-contacts"); + let body: any; + body = JSON.stringify( + take(input, { + InstanceId: [], + MaxResults: [], + NextToken: [], + SearchCriteria: (_) => _json(_), + Sort: (_) => _json(_), + TimeRange: (_) => se_SearchContactsTimeRange(_, context), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1SearchHoursOfOperationsCommand */ @@ -4359,6 +4598,31 @@ export const se_SearchHoursOfOperationsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1SearchPredefinedAttributesCommand + */ +export const se_SearchPredefinedAttributesCommand = async ( + input: SearchPredefinedAttributesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/search-predefined-attributes"); + let body: any; + body = JSON.stringify( + take(input, { + InstanceId: [], + MaxResults: [], + NextToken: [], + SearchCriteria: (_) => se_PredefinedAttributeSearchCriteria(_, context), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1SearchPromptsCommand */ @@ -5267,6 +5531,31 @@ export const se_UpdateContactFlowNameCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateContactRoutingDataCommand + */ +export const se_UpdateContactRoutingDataCommand = async ( + input: UpdateContactRoutingDataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/contacts/{InstanceId}/{ContactId}/routing-data"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("ContactId", () => input.ContactId!, "{ContactId}", false); + let body: any; + body = JSON.stringify( + take(input, { + QueuePriority: [], + QueueTimeAdjustmentSeconds: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateContactScheduleCommand */ @@ -5472,6 +5761,30 @@ export const se_UpdatePhoneNumberMetadataCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdatePredefinedAttributeCommand + */ +export const se_UpdatePredefinedAttributeCommand = async ( + input: UpdatePredefinedAttributeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/predefined-attributes/{InstanceId}/{Name}"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("Name", () => input.Name!, "{Name}", false); + let body: any; + body = JSON.stringify( + take(input, { + Values: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdatePromptCommand */ @@ -6018,6 +6331,30 @@ export const se_UpdateUserPhoneConfigCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateUserProficienciesCommand + */ +export const se_UpdateUserProficienciesCommand = async ( + input: UpdateUserProficienciesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/users/{InstanceId}/{UserId}/proficiencies"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("UserId", () => input.UserId!, "{UserId}", false); + let body: any; + body = JSON.stringify( + take(input, { + UserProficiencies: (_) => se_UserProficiencyList(_, context), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateUserRoutingProfileCommand */ @@ -6950,22 +7287,77 @@ const de_AssociateTrafficDistributionGroupUserCommandError = async ( }; /** - * deserializeAws_restJson1BatchAssociateAnalyticsDataSetCommand + * deserializeAws_restJson1AssociateUserProficienciesCommand */ -export const de_BatchAssociateAnalyticsDataSetCommand = async ( +export const de_AssociateUserProficienciesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_BatchAssociateAnalyticsDataSetCommandError(output, context); + return de_AssociateUserProficienciesCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); - const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - const doc = take(data, { - Created: _json, - Errors: _json, + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1AssociateUserProficienciesCommandError + */ +const de_AssociateUserProficienciesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1BatchAssociateAnalyticsDataSetCommand + */ +export const de_BatchAssociateAnalyticsDataSetCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_BatchAssociateAnalyticsDataSetCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Created: _json, + Errors: _json, }); Object.assign(contents, doc); return contents; @@ -7838,6 +8230,67 @@ const de_CreatePersistentContactAssociationCommandError = async ( } }; +/** + * deserializeAws_restJson1CreatePredefinedAttributeCommand + */ +export const de_CreatePredefinedAttributeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CreatePredefinedAttributeCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1CreatePredefinedAttributeCommandError + */ +const de_CreatePredefinedAttributeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "DuplicateResourceException": + case "com.amazonaws.connect#DuplicateResourceException": + throw await de_DuplicateResourceExceptionRes(parsedOutput, context); + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.connect#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1CreatePromptCommand */ @@ -9204,6 +9657,64 @@ const de_DeleteIntegrationAssociationCommandError = async ( } }; +/** + * deserializeAws_restJson1DeletePredefinedAttributeCommand + */ +export const de_DeletePredefinedAttributeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_DeletePredefinedAttributeCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeletePredefinedAttributeCommandError + */ +const de_DeletePredefinedAttributeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceInUseException": + case "com.amazonaws.connect#ResourceInUseException": + throw await de_ResourceInUseExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1DeletePromptCommand */ @@ -10651,6 +11162,65 @@ const de_DescribePhoneNumberCommandError = async ( } }; +/** + * deserializeAws_restJson1DescribePredefinedAttributeCommand + */ +export const de_DescribePredefinedAttributeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_DescribePredefinedAttributeCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + PredefinedAttribute: (_) => de_PredefinedAttribute(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1DescribePredefinedAttributeCommandError + */ +const de_DescribePredefinedAttributeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1DescribePromptCommand */ @@ -12026,14 +12596,14 @@ const de_DisassociateTrafficDistributionGroupUserCommandError = async ( }; /** - * deserializeAws_restJson1DismissUserContactCommand + * deserializeAws_restJson1DisassociateUserProficienciesCommand */ -export const de_DismissUserContactCommand = async ( +export const de_DisassociateUserProficienciesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_DismissUserContactCommandError(output, context); + return de_DisassociateUserProficienciesCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), @@ -12043,21 +12613,18 @@ export const de_DismissUserContactCommand = async ( }; /** - * deserializeAws_restJson1DismissUserContactCommandError + * deserializeAws_restJson1DisassociateUserProficienciesCommandError */ -const de_DismissUserContactCommandError = async ( +const de_DisassociateUserProficienciesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "AccessDeniedException": - case "com.amazonaws.connect#AccessDeniedException": - throw await de_AccessDeniedExceptionRes(parsedOutput, context); case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": throw await de_InternalServiceExceptionRes(parsedOutput, context); @@ -12084,48 +12651,53 @@ const de_DismissUserContactCommandError = async ( }; /** - * deserializeAws_restJson1GetContactAttributesCommand + * deserializeAws_restJson1DismissUserContactCommand */ -export const de_GetContactAttributesCommand = async ( +export const de_DismissUserContactCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_GetContactAttributesCommandError(output, context); + return de_DismissUserContactCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); - const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - const doc = take(data, { - Attributes: _json, - }); - Object.assign(contents, doc); + await collectBody(output.body, context); return contents; }; /** - * deserializeAws_restJson1GetContactAttributesCommandError + * deserializeAws_restJson1DismissUserContactCommandError */ -const de_GetContactAttributesCommandError = async ( +const de_DismissUserContactCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.connect#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); case "InternalServiceException": case "com.amazonaws.connect#InternalServiceException": throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); case "InvalidRequestException": case "com.amazonaws.connect#InvalidRequestException": throw await de_InvalidRequestExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.connect#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); default: const parsedBody = parsedOutput.body; return throwDefaultError({ @@ -12137,12 +12709,65 @@ const de_GetContactAttributesCommandError = async ( }; /** - * deserializeAws_restJson1GetCurrentMetricDataCommand + * deserializeAws_restJson1GetContactAttributesCommand */ -export const de_GetCurrentMetricDataCommand = async ( +export const de_GetContactAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_GetContactAttributesCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Attributes: _json, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1GetContactAttributesCommandError + */ +const de_GetContactAttributesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1GetCurrentMetricDataCommand + */ +export const de_GetCurrentMetricDataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_GetCurrentMetricDataCommandError(output, context); } @@ -14005,6 +14630,66 @@ const de_ListPhoneNumbersV2CommandError = async ( } }; +/** + * deserializeAws_restJson1ListPredefinedAttributesCommand + */ +export const de_ListPredefinedAttributesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_ListPredefinedAttributesCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + NextToken: __expectString, + PredefinedAttributeSummaryList: (_) => de_PredefinedAttributeSummaryList(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListPredefinedAttributesCommandError + */ +const de_ListPredefinedAttributesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1ListPromptsCommand */ @@ -15091,6 +15776,68 @@ const de_ListUserHierarchyGroupsCommandError = async ( } }; +/** + * deserializeAws_restJson1ListUserProficienciesCommand + */ +export const de_ListUserProficienciesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_ListUserProficienciesCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + LastModifiedRegion: __expectString, + LastModifiedTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + NextToken: __expectString, + UserProficiencyList: (_) => de_UserProficiencyList(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListUserProficienciesCommandError + */ +const de_ListUserProficienciesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1ListUsersCommand */ @@ -15762,6 +16509,67 @@ const de_SearchAvailablePhoneNumbersCommandError = async ( } }; +/** + * deserializeAws_restJson1SearchContactsCommand + */ +export const de_SearchContactsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_SearchContactsCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + Contacts: (_) => de_Contacts(_, context), + NextToken: __expectString, + TotalCount: __expectLong, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1SearchContactsCommandError + */ +const de_SearchContactsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1SearchHoursOfOperationsCommand */ @@ -15823,6 +16631,67 @@ const de_SearchHoursOfOperationsCommandError = async ( } }; +/** + * deserializeAws_restJson1SearchPredefinedAttributesCommand + */ +export const de_SearchPredefinedAttributesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_SearchPredefinedAttributesCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + ApproximateTotalCount: __expectLong, + NextToken: __expectString, + PredefinedAttributes: (_) => de_PredefinedAttributeSearchSummaryList(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1SearchPredefinedAttributesCommandError + */ +const de_SearchPredefinedAttributesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1SearchPromptsCommand */ @@ -17847,9 +18716,67 @@ const de_UpdateContactFlowNameCommandError = async ( case "InvalidParameterException": case "com.amazonaws.connect#InvalidParameterException": throw await de_InvalidParameterExceptionRes(parsedOutput, context); - case "InvalidRequestException": - case "com.amazonaws.connect#InvalidRequestException": - throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1UpdateContactRoutingDataCommand + */ +export const de_UpdateContactRoutingDataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_UpdateContactRoutingDataCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1UpdateContactRoutingDataCommandError + */ +const de_UpdateContactRoutingDataCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.connect#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "ResourceConflictException": + case "com.amazonaws.connect#ResourceConflictException": + throw await de_ResourceConflictExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.connect#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); @@ -18344,6 +19271,61 @@ const de_UpdatePhoneNumberMetadataCommandError = async ( } }; +/** + * deserializeAws_restJson1UpdatePredefinedAttributeCommand + */ +export const de_UpdatePredefinedAttributeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_UpdatePredefinedAttributeCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1UpdatePredefinedAttributeCommandError + */ +const de_UpdatePredefinedAttributeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1UpdatePromptCommand */ @@ -19595,6 +20577,61 @@ const de_UpdateUserPhoneConfigCommandError = async ( } }; +/** + * deserializeAws_restJson1UpdateUserProficienciesCommand + */ +export const de_UpdateUserProficienciesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_UpdateUserProficienciesCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1UpdateUserProficienciesCommandError + */ +const de_UpdateUserProficienciesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1UpdateUserRoutingProfileCommand */ @@ -20334,6 +21371,10 @@ const de_UserNotFoundExceptionRes = async ( // se_AgentConfig omitted. +// se_AgentHierarchyGroups omitted. + +// se_AgentResourceIdList omitted. + // se_AgentsMinOneMaxHundred omitted. // se_AllowedAccessControlTags omitted. @@ -20356,6 +21397,8 @@ const de_UserNotFoundExceptionRes = async ( // se_Campaign omitted. +// se_ChannelList omitted. + // se_Channels omitted. // se_ChatEvent omitted. @@ -20366,6 +21409,8 @@ const de_UserNotFoundExceptionRes = async ( // se_ChatStreamingConfiguration omitted. +// se_ContactAnalysis omitted. + // se_ContactDataRequest omitted. // se_ContactDataRequestList omitted. @@ -20577,6 +21622,8 @@ const se_FieldValueUnion = (input: FieldValueUnion, context: __SerdeContext): an // se_HierarchyGroupCondition omitted. +// se_HierarchyGroupIdList omitted. + // se_HierarchyLevelUpdate omitted. // se_HierarchyStructureUpdate omitted. @@ -20637,6 +21684,8 @@ const se_HoursOfOperationSearchCriteria = (input: HoursOfOperationSearchCriteria // se_HoursOfOperationTimeSlice omitted. +// se_InitiationMethodList omitted. + // se_InstanceStorageConfig omitted. // se_IntervalDetails omitted. @@ -20717,6 +21766,38 @@ const se_MetricV2 = (input: MetricV2, context: __SerdeContext): any => { // se_PhoneNumberTypes omitted. +/** + * serializeAws_restJson1PredefinedAttributeSearchConditionList + */ +const se_PredefinedAttributeSearchConditionList = ( + input: PredefinedAttributeSearchCriteria[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_PredefinedAttributeSearchCriteria(entry, context); + }); +}; + +/** + * serializeAws_restJson1PredefinedAttributeSearchCriteria + */ +const se_PredefinedAttributeSearchCriteria = ( + input: PredefinedAttributeSearchCriteria, + context: __SerdeContext +): any => { + return take(input, { + AndConditions: (_) => se_PredefinedAttributeSearchConditionList(_, context), + OrConditions: (_) => se_PredefinedAttributeSearchConditionList(_, context), + StringCondition: _json, + }); +}; + +// se_PredefinedAttributeStringValuesList omitted. + +// se_PredefinedAttributeValues omitted. + /** * serializeAws_restJson1PromptSearchConditionList */ @@ -20741,6 +21822,8 @@ const se_PromptSearchCriteria = (input: PromptSearchCriteria, context: __SerdeCo // se_PromptSearchFilter omitted. +// se_QueueIdList omitted. + // se_QueueQuickConnectConfig omitted. // se_Queues omitted. @@ -20816,6 +21899,8 @@ const se_QuickConnectSearchCriteria = (input: QuickConnectSearchCriteria, contex // se_ResourceTypeList omitted. +// se_RoutingExpressions omitted. + // se_RoutingProfileQueueConfig omitted. // se_RoutingProfileQueueConfigList omitted. @@ -20881,6 +21966,29 @@ const se_RuleActions = (input: RuleAction[], context: __SerdeContext): any => { // se_S3Config omitted. +// se_SearchableContactAttributes omitted. + +// se_SearchableContactAttributesCriteria omitted. + +// se_SearchableContactAttributesCriteriaList omitted. + +// se_SearchableContactAttributeValueList omitted. + +/** + * serializeAws_restJson1SearchContactsTimeRange + */ +const se_SearchContactsTimeRange = (input: SearchContactsTimeRange, context: __SerdeContext): any => { + return take(input, { + EndTime: (_) => Math.round(_.getTime() / 1000), + StartTime: (_) => Math.round(_.getTime() / 1000), + Type: [], + }); +}; + +// se_SearchCriteria omitted. + +// se_SearchTextList omitted. + // se_SecurityProfileIds omitted. /** @@ -20926,6 +22034,8 @@ const se_SecurityProfileSearchCriteria = (input: SecurityProfileSearchCriteria, // se_SingleSelectQuestionRuleCategoryAutomation omitted. +// se_Sort omitted. + // se_StringCondition omitted. // se_SupportedMessagingContentTypes omitted. @@ -20991,6 +22101,12 @@ const se_ThresholdV2 = (input: ThresholdV2, context: __SerdeContext): any => { }); }; +// se_Transcript omitted. + +// se_TranscriptCriteria omitted. + +// se_TranscriptCriteriaList omitted. + /** * serializeAws_restJson1UpdateCaseActionDefinition */ @@ -21012,6 +22128,32 @@ const se_UpdateCaseActionDefinition = (input: UpdateCaseActionDefinition, contex // se_UserPhoneConfig omitted. +/** + * serializeAws_restJson1UserProficiency + */ +const se_UserProficiency = (input: UserProficiency, context: __SerdeContext): any => { + return take(input, { + AttributeName: [], + AttributeValue: [], + Level: __serializeFloat, + }); +}; + +// se_UserProficiencyDisassociate omitted. + +// se_UserProficiencyDisassociateList omitted. + +/** + * serializeAws_restJson1UserProficiencyList + */ +const se_UserProficiencyList = (input: UserProficiency[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_UserProficiency(entry, context); + }); +}; + // se_UserQuickConnectConfig omitted. /** @@ -21202,6 +22344,8 @@ const de_Contact = (output: any, context: __SerdeContext): Contact => { Name: __expectString, PreviousContactId: __expectString, QueueInfo: (_: any) => de_QueueInfo(_, context), + QueuePriority: __expectLong, + QueueTimeAdjustmentSeconds: __expectInt32, RelatedContactId: __expectString, ScheduledTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), Tags: _json, @@ -21225,6 +22369,57 @@ const de_Contact = (output: any, context: __SerdeContext): Contact => { // de_ContactReferences omitted. +/** + * deserializeAws_restJson1Contacts + */ +const de_Contacts = (output: any, context: __SerdeContext): ContactSearchSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_ContactSearchSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1ContactSearchSummary + */ +const de_ContactSearchSummary = (output: any, context: __SerdeContext): ContactSearchSummary => { + return take(output, { + AgentInfo: (_: any) => de_ContactSearchSummaryAgentInfo(_, context), + Arn: __expectString, + Channel: __expectString, + DisconnectTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + Id: __expectString, + InitialContactId: __expectString, + InitiationMethod: __expectString, + InitiationTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + PreviousContactId: __expectString, + QueueInfo: (_: any) => de_ContactSearchSummaryQueueInfo(_, context), + ScheduledTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }) as any; +}; + +/** + * deserializeAws_restJson1ContactSearchSummaryAgentInfo + */ +const de_ContactSearchSummaryAgentInfo = (output: any, context: __SerdeContext): ContactSearchSummaryAgentInfo => { + return take(output, { + ConnectedToAgentTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + Id: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1ContactSearchSummaryQueueInfo + */ +const de_ContactSearchSummaryQueueInfo = (output: any, context: __SerdeContext): ContactSearchSummaryQueueInfo => { + return take(output, { + EnqueueTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + Id: __expectString, + }) as any; +}; + // de_ContactTagMap omitted. /** @@ -22067,6 +23262,57 @@ const de_MetricV2 = (output: any, context: __SerdeContext): MetricV2 => { // de_PhoneNumberSummaryList omitted. +/** + * deserializeAws_restJson1PredefinedAttribute + */ +const de_PredefinedAttribute = (output: any, context: __SerdeContext): PredefinedAttribute => { + return take(output, { + LastModifiedRegion: __expectString, + LastModifiedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + Name: __expectString, + Values: (_: any) => _json(__expectUnion(_)), + }) as any; +}; + +/** + * deserializeAws_restJson1PredefinedAttributeSearchSummaryList + */ +const de_PredefinedAttributeSearchSummaryList = (output: any, context: __SerdeContext): PredefinedAttribute[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_PredefinedAttribute(entry, context); + }); + return retVal; +}; + +// de_PredefinedAttributeStringValuesList omitted. + +/** + * deserializeAws_restJson1PredefinedAttributeSummary + */ +const de_PredefinedAttributeSummary = (output: any, context: __SerdeContext): PredefinedAttributeSummary => { + return take(output, { + LastModifiedRegion: __expectString, + LastModifiedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + Name: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1PredefinedAttributeSummaryList + */ +const de_PredefinedAttributeSummaryList = (output: any, context: __SerdeContext): PredefinedAttributeSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_PredefinedAttributeSummary(entry, context); + }); + return retVal; +}; + +// de_PredefinedAttributeValues omitted. + // de_ProblemDetail omitted. // de_Problems omitted. @@ -22813,6 +24059,29 @@ const de_UserDataList = (output: any, context: __SerdeContext): UserData[] => { // de_UserPhoneConfig omitted. +/** + * deserializeAws_restJson1UserProficiency + */ +const de_UserProficiency = (output: any, context: __SerdeContext): UserProficiency => { + return take(output, { + AttributeName: __expectString, + AttributeValue: __expectString, + Level: __limitedParseFloat32, + }) as any; +}; + +/** + * deserializeAws_restJson1UserProficiencyList + */ +const de_UserProficiencyList = (output: any, context: __SerdeContext): UserProficiency[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_UserProficiency(entry, context); + }); + return retVal; +}; + // de_UserQuickConnectConfig omitted. // de_UserReference omitted. diff --git a/codegen/sdk-codegen/aws-models/connect.json b/codegen/sdk-codegen/aws-models/connect.json index c3296e45287f3..b264cfef03b6a 100644 --- a/codegen/sdk-codegen/aws-models/connect.json +++ b/codegen/sdk-codegen/aws-models/connect.json @@ -319,6 +319,44 @@ } } }, + "com.amazonaws.connect#AgentHierarchyGroups": { + "type": "structure", + "members": { + "L1Ids": { + "target": "com.amazonaws.connect#HierarchyGroupIdList", + "traits": { + "smithy.api#documentation": "

The identifiers for level 1 hierarchy groups.

" + } + }, + "L2Ids": { + "target": "com.amazonaws.connect#HierarchyGroupIdList", + "traits": { + "smithy.api#documentation": "

The identifiers for level 2 hierarchy groups.

" + } + }, + "L3Ids": { + "target": "com.amazonaws.connect#HierarchyGroupIdList", + "traits": { + "smithy.api#documentation": "

The identifiers for level 3 hierarchy groups.

" + } + }, + "L4Ids": { + "target": "com.amazonaws.connect#HierarchyGroupIdList", + "traits": { + "smithy.api#documentation": "

The identifiers for level 4 hierarchy groups.

" + } + }, + "L5Ids": { + "target": "com.amazonaws.connect#HierarchyGroupIdList", + "traits": { + "smithy.api#documentation": "

The identifiers for level 5 hierarchy groups.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that defines agent hierarchy group levels which can be used to filter search results. Important: Agent hierarchy group level information in search result is a snapshot, it does not represent current agent hierarchy who handled the contact.

" + } + }, "com.amazonaws.connect#AgentInfo": { "type": "structure", "members": { @@ -371,6 +409,18 @@ } } }, + "com.amazonaws.connect#AgentResourceIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#AgentResourceId" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.connect#AgentStatus": { "type": "structure", "members": { @@ -720,6 +770,9 @@ { "target": "com.amazonaws.connect#AssociateTrafficDistributionGroupUser" }, + { + "target": "com.amazonaws.connect#AssociateUserProficiencies" + }, { "target": "com.amazonaws.connect#BatchAssociateAnalyticsDataSet" }, @@ -762,6 +815,9 @@ { "target": "com.amazonaws.connect#CreatePersistentContactAssociation" }, + { + "target": "com.amazonaws.connect#CreatePredefinedAttribute" + }, { "target": "com.amazonaws.connect#CreatePrompt" }, @@ -828,6 +884,9 @@ { "target": "com.amazonaws.connect#DeleteIntegrationAssociation" }, + { + "target": "com.amazonaws.connect#DeletePredefinedAttribute" + }, { "target": "com.amazonaws.connect#DeletePrompt" }, @@ -903,6 +962,9 @@ { "target": "com.amazonaws.connect#DescribePhoneNumber" }, + { + "target": "com.amazonaws.connect#DescribePredefinedAttribute" + }, { "target": "com.amazonaws.connect#DescribePrompt" }, @@ -975,6 +1037,9 @@ { "target": "com.amazonaws.connect#DisassociateTrafficDistributionGroupUser" }, + { + "target": "com.amazonaws.connect#DisassociateUserProficiencies" + }, { "target": "com.amazonaws.connect#DismissUserContact" }, @@ -1074,6 +1139,9 @@ { "target": "com.amazonaws.connect#ListPhoneNumbersV2" }, + { + "target": "com.amazonaws.connect#ListPredefinedAttributes" + }, { "target": "com.amazonaws.connect#ListPrompts" }, @@ -1128,6 +1196,9 @@ { "target": "com.amazonaws.connect#ListUserHierarchyGroups" }, + { + "target": "com.amazonaws.connect#ListUserProficiencies" + }, { "target": "com.amazonaws.connect#ListUsers" }, @@ -1161,9 +1232,15 @@ { "target": "com.amazonaws.connect#SearchAvailablePhoneNumbers" }, + { + "target": "com.amazonaws.connect#SearchContacts" + }, { "target": "com.amazonaws.connect#SearchHoursOfOperations" }, + { + "target": "com.amazonaws.connect#SearchPredefinedAttributes" + }, { "target": "com.amazonaws.connect#SearchPrompts" }, @@ -1269,6 +1346,9 @@ { "target": "com.amazonaws.connect#UpdateContactFlowName" }, + { + "target": "com.amazonaws.connect#UpdateContactRoutingData" + }, { "target": "com.amazonaws.connect#UpdateContactSchedule" }, @@ -1293,6 +1373,9 @@ { "target": "com.amazonaws.connect#UpdatePhoneNumberMetadata" }, + { + "target": "com.amazonaws.connect#UpdatePredefinedAttribute" + }, { "target": "com.amazonaws.connect#UpdatePrompt" }, @@ -1359,6 +1442,9 @@ { "target": "com.amazonaws.connect#UpdateUserPhoneConfig" }, + { + "target": "com.amazonaws.connect#UpdateUserProficiencies" + }, { "target": "com.amazonaws.connect#UpdateUserRoutingProfile" }, @@ -3261,6 +3347,71 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#AssociateUserProficiencies": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#AssociateUserProficienciesRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

>Associates a set of proficiencies with a user.

", + "smithy.api#http": { + "method": "POST", + "uri": "/users/{InstanceId}/{UserId}/associate-proficiencies", + "code": 200 + } + } + }, + "com.amazonaws.connect#AssociateUserProficienciesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN of the instance).

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "UserId": { + "target": "com.amazonaws.connect#UserId", + "traits": { + "smithy.api#documentation": "

The identifier of the user account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "UserProficiencies": { + "target": "com.amazonaws.connect#UserProficiencyList", + "traits": { + "smithy.api#documentation": "

The proficiencies to associate with the user.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.connect#AssociationId": { "type": "string", "traits": { @@ -3870,6 +4021,12 @@ } } }, + "com.amazonaws.connect#ChannelList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#Channel" + } + }, "com.amazonaws.connect#ChannelToCountMap": { "type": "map", "key": { @@ -4252,7 +4409,7 @@ } }, "traits": { - "smithy.api#documentation": "

Operation cannot be performed at this time as there is a conflict with another operation or contact state.

", + "smithy.api#documentation": "

Operation cannot be performed at this time as there is a conflict with another operation or\n contact state.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -4400,10 +4557,22 @@ "smithy.api#documentation": "

Information about Amazon Connect Wisdom.

" } }, + "QueueTimeAdjustmentSeconds": { + "target": "com.amazonaws.connect#QueueTimeAdjustmentSeconds", + "traits": { + "smithy.api#documentation": "

An integer that represents the queue time adjust to be applied to the contact, in seconds\n (longer / larger queue time are routed preferentially). Cannot be specified if the QueuePriority\n is specified. Must be statically defined and a valid integer value.

" + } + }, + "QueuePriority": { + "target": "com.amazonaws.connect#QueuePriority", + "traits": { + "smithy.api#documentation": "

An integer that represents the queue priority to be applied to the contact (lower priorities\n are routed preferentially). Cannot be specified if the QueueTimeAdjustmentSeconds is specified.\n Must be statically defined, must be larger than zero, and a valid integer value. Default Value is\n 5.

" + } + }, "Tags": { "target": "com.amazonaws.connect#ContactTagMap", "traits": { - "smithy.api#documentation": "

Tags associated with the contact. This contains both Amazon Web Services generated and user-defined tags.

" + "smithy.api#documentation": "

Tags associated with the contact. This contains both Amazon Web Services generated and\n user-defined tags.

" } } }, @@ -4411,6 +4580,20 @@ "smithy.api#documentation": "

Contains information about a contact.

" } }, + "com.amazonaws.connect#ContactAnalysis": { + "type": "structure", + "members": { + "Transcript": { + "target": "com.amazonaws.connect#Transcript", + "traits": { + "smithy.api#documentation": "

A structure that defines filters can be used to search with text within an Amazon Connect Contact Lens analyzed transcript.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that defines filters can be used to search within outputs analyzed by Amazon Connect Contact Lens in a contact.

" + } + }, "com.amazonaws.connect#ContactDataRequest": { "type": "structure", "members": { @@ -4968,6 +5151,120 @@ "target": "com.amazonaws.connect#Reference" } }, + "com.amazonaws.connect#ContactSearchSummary": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the contact

" + } + }, + "Id": { + "target": "com.amazonaws.connect#ContactId", + "traits": { + "smithy.api#documentation": "

The identifier of the contact summary.

" + } + }, + "InitialContactId": { + "target": "com.amazonaws.connect#ContactId", + "traits": { + "smithy.api#documentation": "

If this contact is related to other contacts, this is the ID of the initial contact.

" + } + }, + "PreviousContactId": { + "target": "com.amazonaws.connect#ContactId", + "traits": { + "smithy.api#documentation": "

If this contact is not the first contact, this is the ID of the previous contact.

" + } + }, + "InitiationMethod": { + "target": "com.amazonaws.connect#ContactInitiationMethod", + "traits": { + "smithy.api#documentation": "

Indicates how the contact was initiated.

" + } + }, + "Channel": { + "target": "com.amazonaws.connect#Channel", + "traits": { + "smithy.api#documentation": "

How the contact reached your contact center.

" + } + }, + "QueueInfo": { + "target": "com.amazonaws.connect#ContactSearchSummaryQueueInfo", + "traits": { + "smithy.api#documentation": "

If this contact was queued, this contains information about the queue.

" + } + }, + "AgentInfo": { + "target": "com.amazonaws.connect#ContactSearchSummaryAgentInfo", + "traits": { + "smithy.api#documentation": "

Information about the agent who accepted the contact.

" + } + }, + "InitiationTimestamp": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time this contact was initiated, in UTC time. For INBOUND, this is when the contact arrived. For OUTBOUND, this is when the agent began dialing. For CALLBACK, this is when the callback contact was created. For TRANSFER and QUEUE_TRANSFER, this is when the transfer was initiated. For API, this is when the request arrived. For EXTERNAL_OUTBOUND, this is when the agent started dialing the external participant. For MONITOR, this is when the supervisor started listening to a contact.

" + } + }, + "DisconnectTimestamp": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the customer endpoint disconnected from Amazon Connect.

" + } + }, + "ScheduledTimestamp": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp, in Unix epoch time format, at which to start running the inbound flow.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information of returned contact.

" + } + }, + "com.amazonaws.connect#ContactSearchSummaryAgentInfo": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.connect#AgentResourceId", + "traits": { + "smithy.api#documentation": "

The identifier of the agent who accepted the contact.

" + } + }, + "ConnectedToAgentTimestamp": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the contact was connected to the agent.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the agent who accepted the contact.

" + } + }, + "com.amazonaws.connect#ContactSearchSummaryQueueInfo": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.connect#QueueId", + "traits": { + "smithy.api#documentation": "

The unique identifier for the queue.

" + } + }, + "EnqueueTimestamp": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the contact was added to the queue.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

If this contact was queued, this contains information about the queue.

" + } + }, "com.amazonaws.connect#ContactState": { "type": "enum", "members": { @@ -5085,6 +5382,12 @@ } } }, + "com.amazonaws.connect#Contacts": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#ContactSearchSummary" + } + }, "com.amazonaws.connect#Content": { "type": "string", "traits": { @@ -6107,6 +6410,76 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#CreatePredefinedAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#CreatePredefinedAttributeRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.connect#DuplicateResourceException" + }, + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#LimitExceededException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a new predefined attribute for the specified Amazon Connect instance.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/predefined-attributes/{InstanceId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#CreatePredefinedAttributeRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.connect#PredefinedAttributeName", + "traits": { + "smithy.api#documentation": "

The name of the predefined attribute.

", + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.connect#PredefinedAttributeValues", + "traits": { + "smithy.api#documentation": "

The values of the predefined attribute.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.connect#CreatePrompt": { "type": "operation", "input": { @@ -8521,6 +8894,68 @@ "smithy.api#input": {} } }, + "com.amazonaws.connect#DeletePredefinedAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DeletePredefinedAttributeRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceInUseException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a predefined attribute from the specified Amazon Connect instance.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/predefined-attributes/{InstanceId}/{Name}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.connect#DeletePredefinedAttributeRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.connect#PredefinedAttributeName", + "traits": { + "smithy.api#documentation": "

The name of the predefined attribute.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.connect#DeletePrompt": { "type": "operation", "input": { @@ -10221,6 +10656,78 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#DescribePredefinedAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DescribePredefinedAttributeRequest" + }, + "output": { + "target": "com.amazonaws.connect#DescribePredefinedAttributeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Describes a predefined attribute for the specified Amazon Connect instance.

", + "smithy.api#http": { + "method": "GET", + "uri": "/predefined-attributes/{InstanceId}/{Name}", + "code": 200 + } + } + }, + "com.amazonaws.connect#DescribePredefinedAttributeRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.connect#PredefinedAttributeName", + "traits": { + "smithy.api#documentation": "

The name of the predefined attribute.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#DescribePredefinedAttributeResponse": { + "type": "structure", + "members": { + "PredefinedAttribute": { + "target": "com.amazonaws.connect#PredefinedAttribute", + "traits": { + "smithy.api#documentation": "

Information about the predefined attribute.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#DescribePrompt": { "type": "operation", "input": { @@ -11139,6 +11646,12 @@ }, "RoutingProfile": { "target": "com.amazonaws.connect#RoutingProfileReference" + }, + "RoutingStepExpression": { + "target": "com.amazonaws.connect#RoutingExpression", + "traits": { + "smithy.api#documentation": "

The expression of a step in a routing criteria.

" + } } }, "traits": { @@ -11973,6 +12486,71 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#DisassociateUserProficiencies": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DisassociateUserProficienciesRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Disassociates a set of proficiencies from a user.

", + "smithy.api#http": { + "method": "POST", + "uri": "/users/{InstanceId}/{UserId}/disassociate-proficiencies", + "code": 200 + } + } + }, + "com.amazonaws.connect#DisassociateUserProficienciesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "UserId": { + "target": "com.amazonaws.connect#UserId", + "traits": { + "smithy.api#documentation": "

The identifier of the user account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "UserProficiencies": { + "target": "com.amazonaws.connect#UserProficiencyDisassociateList", + "traits": { + "smithy.api#documentation": "

The proficiencies to disassociate from the user.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.connect#DisconnectReason": { "type": "structure", "members": { @@ -13884,6 +14462,12 @@ "traits": { "smithy.api#documentation": "

A list of up to 100 routing profile IDs or ARNs.

" } + }, + "RoutingStepExpressions": { + "target": "com.amazonaws.connect#RoutingExpressions", + "traits": { + "smithy.api#documentation": "

A list of expressions as a filter, in which an expression is an object of a step in a\n routing criteria.

" + } } }, "traits": { @@ -15024,6 +15608,12 @@ "traits": { "smithy.api#enumValue": "ROUTING_PROFILE" } + }, + "ROUTING_STEP_EXPRESSION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ROUTING_STEP_EXPRESSION" + } } } }, @@ -15133,6 +15723,18 @@ "com.amazonaws.connect#HierarchyGroupId": { "type": "string" }, + "com.amazonaws.connect#HierarchyGroupIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#HierarchyGroupId" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, "com.amazonaws.connect#HierarchyGroupMatchType": { "type": "enum", "members": { @@ -16095,6 +16697,12 @@ "com.amazonaws.connect#InboundCallsEnabled": { "type": "boolean" }, + "com.amazonaws.connect#InitiationMethodList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#ContactInitiationMethod" + } + }, "com.amazonaws.connect#Instance": { "type": "structure", "members": { @@ -18997,7 +19605,7 @@ "InstanceId": { "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You\n can find the\n instance ID in the Amazon Resource Name (ARN) of the instance. If both TargetArn and InstanceId are not\n provided, this API lists numbers claimed to all the Amazon Connect instances belonging to your\n account in the same AWS Region as the request.

" + "smithy.api#documentation": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You\n can find the\n instance ID in the Amazon Resource Name (ARN) of the instance. If both TargetArn and InstanceId are not\n provided, this API lists numbers claimed to all the Amazon Connect instances belonging to your account in\n the same AWS Region as the request.

" } }, "MaxResults": { @@ -19055,6 +19663,96 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#ListPredefinedAttributes": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListPredefinedAttributesRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListPredefinedAttributesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists predefined attributes for the specified Amazon Connect instance.

", + "smithy.api#http": { + "method": "GET", + "uri": "/predefined-attributes/{InstanceId}", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "PredefinedAttributeSummaryList", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#ListPredefinedAttributesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#ListPredefinedAttributesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + } + }, + "PredefinedAttributeSummaryList": { + "target": "com.amazonaws.connect#PredefinedAttributeSummaryList", + "traits": { + "smithy.api#documentation": "

Summary of the predefined attributes.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#ListPrompts": { "type": "operation", "input": { @@ -20811,6 +21509,116 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#ListUserProficiencies": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListUserProficienciesRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListUserProficienciesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists proficiencies associated with a user.

", + "smithy.api#http": { + "method": "GET", + "uri": "/users/{InstanceId}/{UserId}/proficiencies", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "UserProficiencyList", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#ListUserProficienciesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "UserId": { + "target": "com.amazonaws.connect#UserId", + "traits": { + "smithy.api#documentation": "

The identifier of the user account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#ListUserProficienciesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.connect#NextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + } + }, + "UserProficiencyList": { + "target": "com.amazonaws.connect#UserProficiencyList", + "traits": { + "smithy.api#documentation": "

Information about the user proficiencies.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The last time that the user's proficiencies are were modified.

" + } + }, + "LastModifiedRegion": { + "target": "com.amazonaws.connect#RegionName", + "traits": { + "smithy.api#documentation": "

The region in which a user's proficiencies were last modified.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#ListUsers": { "type": "operation", "input": { @@ -23931,6 +24739,149 @@ } } }, + "com.amazonaws.connect#PredefinedAttribute": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.connect#PredefinedAttributeName", + "traits": { + "smithy.api#documentation": "

The name of the predefined attribute.

" + } + }, + "Values": { + "target": "com.amazonaws.connect#PredefinedAttributeValues", + "traits": { + "smithy.api#documentation": "

The values of the predefined attribute.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

Last modified time.

" + } + }, + "LastModifiedRegion": { + "target": "com.amazonaws.connect#RegionName", + "traits": { + "smithy.api#documentation": "

Last modified region.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a predefined attribute.

" + } + }, + "com.amazonaws.connect#PredefinedAttributeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.connect#PredefinedAttributeSearchConditionList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#PredefinedAttributeSearchCriteria" + } + }, + "com.amazonaws.connect#PredefinedAttributeSearchCriteria": { + "type": "structure", + "members": { + "OrConditions": { + "target": "com.amazonaws.connect#PredefinedAttributeSearchConditionList", + "traits": { + "smithy.api#documentation": "

A list of conditions which would be applied together with an OR\n condition.

" + } + }, + "AndConditions": { + "target": "com.amazonaws.connect#PredefinedAttributeSearchConditionList", + "traits": { + "smithy.api#documentation": "

A list of conditions which would be applied together with an AND\n condition.

" + } + }, + "StringCondition": { + "target": "com.amazonaws.connect#StringCondition" + } + }, + "traits": { + "smithy.api#documentation": "

The search criteria to be used to return predefined attributes.

" + } + }, + "com.amazonaws.connect#PredefinedAttributeSearchSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#PredefinedAttribute" + } + }, + "com.amazonaws.connect#PredefinedAttributeStringValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.connect#PredefinedAttributeStringValuesList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#PredefinedAttributeStringValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 75 + } + } + }, + "com.amazonaws.connect#PredefinedAttributeSummary": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.connect#PredefinedAttributeName", + "traits": { + "smithy.api#documentation": "

The name of the predefined attribute.

" + } + }, + "LastModifiedTime": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

Last modified time.

" + } + }, + "LastModifiedRegion": { + "target": "com.amazonaws.connect#RegionName", + "traits": { + "smithy.api#documentation": "

Last modified region.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Summary of a predefined attribute.

" + } + }, + "com.amazonaws.connect#PredefinedAttributeSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#PredefinedAttributeSummary" + } + }, + "com.amazonaws.connect#PredefinedAttributeValues": { + "type": "union", + "members": { + "StringList": { + "target": "com.amazonaws.connect#PredefinedAttributeStringValuesList", + "traits": { + "smithy.api#documentation": "

Predefined attribute values of type string list.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about values of a predefined attribute.

" + } + }, "com.amazonaws.connect#Prefix": { "type": "string", "traits": { @@ -23984,6 +24935,15 @@ } } }, + "com.amazonaws.connect#ProficiencyLevel": { + "type": "float", + "traits": { + "smithy.api#range": { + "min": 1.0, + "max": 5.0 + } + } + }, "com.amazonaws.connect#Prompt": { "type": "structure", "members": { @@ -24420,6 +25380,18 @@ "com.amazonaws.connect#QueueId": { "type": "string" }, + "com.amazonaws.connect#QueueIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#QueueId" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.connect#QueueInfo": { "type": "structure", "members": { @@ -24458,6 +25430,15 @@ } } }, + "com.amazonaws.connect#QueuePriority": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 9223372036854775807 + } + } + }, "com.amazonaws.connect#QueueQuickConnectConfig": { "type": "structure", "members": { @@ -24622,6 +25603,9 @@ "target": "com.amazonaws.connect#QueueSummary" } }, + "com.amazonaws.connect#QueueTimeAdjustmentSeconds": { + "type": "integer" + }, "com.amazonaws.connect#QueueType": { "type": "enum", "members": { @@ -26277,6 +27261,27 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#RoutingExpression": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 3000 + } + } + }, + "com.amazonaws.connect#RoutingExpressions": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#RoutingExpression" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, "com.amazonaws.connect#RoutingProfile": { "type": "structure", "members": { @@ -27067,6 +28072,244 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#SearchContacts": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#SearchContactsRequest" + }, + "output": { + "target": "com.amazonaws.connect#SearchContactsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Searches contacts in an Amazon Connect instance.

", + "smithy.api#http": { + "method": "POST", + "uri": "/search-contacts", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Contacts", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#SearchContactsMatchType": { + "type": "enum", + "members": { + "MATCH_ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MATCH_ALL" + } + }, + "MATCH_ANY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MATCH_ANY" + } + } + } + }, + "com.amazonaws.connect#SearchContactsRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance

", + "smithy.api#required": {} + } + }, + "TimeRange": { + "target": "com.amazonaws.connect#SearchContactsTimeRange", + "traits": { + "smithy.api#documentation": "

Time range that you want to search results

", + "smithy.api#required": {} + } + }, + "SearchCriteria": { + "target": "com.amazonaws.connect#SearchCriteria", + "traits": { + "smithy.api#documentation": "

The search criteria to be used to return contacts.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

" + } + }, + "NextToken": { + "target": "com.amazonaws.connect#LargeNextToken", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "Sort": { + "target": "com.amazonaws.connect#Sort", + "traits": { + "smithy.api#documentation": "

Specifies a field to sort by and a sort order

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#SearchContactsResponse": { + "type": "structure", + "members": { + "Contacts": { + "target": "com.amazonaws.connect#Contacts", + "traits": { + "smithy.api#documentation": "

Information about the contacts.

", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#LargeNextToken", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + } + }, + "TotalCount": { + "target": "com.amazonaws.connect#TotalCount", + "traits": { + "smithy.api#documentation": "

The total number of contacts which matched your search query.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.connect#SearchContactsTimeRange": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.connect#SearchContactsTimeRangeType", + "traits": { + "smithy.api#documentation": "

The type of timestamp to search

", + "smithy.api#required": {} + } + }, + "StartTime": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The start time of the time range.

", + "smithy.api#required": {} + } + }, + "EndTime": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The end time of the time range.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure of time range that you want to search results

" + } + }, + "com.amazonaws.connect#SearchContactsTimeRangeType": { + "type": "enum", + "members": { + "INITIATION_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INITIATION_TIMESTAMP" + } + }, + "SCHEDULED_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SCHEDULED_TIMESTAMP" + } + }, + "CONNECTED_TO_AGENT_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONNECTED_TO_AGENT_TIMESTAMP" + } + }, + "DISCONNECT_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISCONNECT_TIMESTAMP" + } + } + } + }, + "com.amazonaws.connect#SearchCriteria": { + "type": "structure", + "members": { + "AgentIds": { + "target": "com.amazonaws.connect#AgentResourceIdList", + "traits": { + "smithy.api#documentation": "

The array of agent ids

" + } + }, + "AgentHierarchyGroups": { + "target": "com.amazonaws.connect#AgentHierarchyGroups", + "traits": { + "smithy.api#documentation": "

The agent hierarchy groups

" + } + }, + "Channels": { + "target": "com.amazonaws.connect#ChannelList", + "traits": { + "smithy.api#documentation": "

The array of channels

" + } + }, + "ContactAnalysis": { + "target": "com.amazonaws.connect#ContactAnalysis", + "traits": { + "smithy.api#documentation": "

The ContactAnalysis object used in search criteria

" + } + }, + "InitiationMethods": { + "target": "com.amazonaws.connect#InitiationMethodList", + "traits": { + "smithy.api#documentation": "

The array of initiaton methods

" + } + }, + "QueueIds": { + "target": "com.amazonaws.connect#QueueIdList", + "traits": { + "smithy.api#documentation": "

The array of queue ids.

" + } + }, + "SearchableContactAttributes": { + "target": "com.amazonaws.connect#SearchableContactAttributes", + "traits": { + "smithy.api#documentation": "

The SearchableContactAttributes object used in search criteria

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure of search criteria to be used to return contacts

" + } + }, "com.amazonaws.connect#SearchHoursOfOperations": { "type": "operation", "input": { @@ -27172,6 +28415,105 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#SearchPredefinedAttributes": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#SearchPredefinedAttributesRequest" + }, + "output": { + "target": "com.amazonaws.connect#SearchPredefinedAttributesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Predefined attributes that meet certain criteria.

", + "smithy.api#http": { + "method": "POST", + "uri": "/search-predefined-attributes", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "PredefinedAttributes", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#SearchPredefinedAttributesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN) of the instance.

", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

" + } + }, + "SearchCriteria": { + "target": "com.amazonaws.connect#PredefinedAttributeSearchCriteria", + "traits": { + "smithy.api#documentation": "

The search criteria to be used to return predefined attributes.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#SearchPredefinedAttributesResponse": { + "type": "structure", + "members": { + "PredefinedAttributes": { + "target": "com.amazonaws.connect#PredefinedAttributeSearchSummaryList", + "traits": { + "smithy.api#documentation": "

Predefined attributes matched by the search criteria.

" + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + } + }, + "ApproximateTotalCount": { + "target": "com.amazonaws.connect#ApproximateTotalCount", + "traits": { + "smithy.api#documentation": "

The approximate number of predefined attributes which matched your search query.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#SearchPrompts": { "type": "operation", "input": { @@ -27799,6 +29141,28 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#SearchText": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.connect#SearchTextList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#SearchText" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.connect#SearchUsers": { "type": "operation", "input": { @@ -28004,6 +29368,93 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#SearchableContactAttributeKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.connect#SearchableContactAttributeValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.connect#SearchableContactAttributeValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#SearchableContactAttributeValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + }, + "com.amazonaws.connect#SearchableContactAttributes": { + "type": "structure", + "members": { + "Criteria": { + "target": "com.amazonaws.connect#SearchableContactAttributesCriteriaList", + "traits": { + "smithy.api#documentation": "

The array of searhale contact attribute criteria

", + "smithy.api#required": {} + } + }, + "MatchType": { + "target": "com.amazonaws.connect#SearchContactsMatchType", + "traits": { + "smithy.api#documentation": "

The match type of multiple searchable contact attributes criteria.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that defines searchable contact attributes which can be used to filter search results.

" + } + }, + "com.amazonaws.connect#SearchableContactAttributesCriteria": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.connect#SearchableContactAttributeKey", + "traits": { + "smithy.api#documentation": "

The searchable contact attribute key

", + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.connect#SearchableContactAttributeValueList", + "traits": { + "smithy.api#documentation": "

The array of contact attribute values used to filter search results.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The criteria of searchable contact attributes.

" + } + }, + "com.amazonaws.connect#SearchableContactAttributesCriteriaList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#SearchableContactAttributesCriteria" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 15 + } + } + }, "com.amazonaws.connect#SearchableQueueType": { "type": "enum", "members": { @@ -28608,6 +30059,28 @@ "com.amazonaws.connect#SnapshotVersion": { "type": "string" }, + "com.amazonaws.connect#Sort": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.connect#SortableFieldName", + "traits": { + "smithy.api#documentation": "

The name of the field on which to sort.

", + "smithy.api#required": {} + } + }, + "Order": { + "target": "com.amazonaws.connect#SortOrder", + "traits": { + "smithy.api#documentation": "

An ascending or descending sort.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that defines the sort by and a sort order

" + } + }, "com.amazonaws.connect#SortOrder": { "type": "enum", "members": { @@ -28625,6 +30098,47 @@ } } }, + "com.amazonaws.connect#SortableFieldName": { + "type": "enum", + "members": { + "INITIATION_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INITIATION_TIMESTAMP" + } + }, + "SCHEDULED_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SCHEDULED_TIMESTAMP" + } + }, + "CONNECTED_TO_AGENT_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONNECTED_TO_AGENT_TIMESTAMP" + } + }, + "DISCONNECT_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISCONNECT_TIMESTAMP" + } + }, + "INITIATION_METHOD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INITIATION_METHOD" + } + }, + "CHANNEL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CHANNEL" + } + } + } + }, "com.amazonaws.connect#SourceApplicationName": { "type": "string", "traits": { @@ -29126,13 +30640,13 @@ "References": { "target": "com.amazonaws.connect#ContactReferences", "traits": { - "smithy.api#documentation": "

A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Contacts can\n have the following reference types at the time of creation: URL | NUMBER | STRING | DATE | EMAIL.\n ATTACHMENT is not a supported reference type during voice contact creation.

" + "smithy.api#documentation": "

A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Contacts can\n have the following reference types at the time of creation: URL |\n NUMBER | STRING | DATE | EMAIL.\n ATTACHMENT is not a supported reference type during voice contact creation.

" } }, "RelatedContactId": { "target": "com.amazonaws.connect#ContactId", "traits": { - "smithy.api#documentation": "

The contactId that is related to this contact. Linking voice, task, or chat by using\n RelatedContactID copies over contact attributes from the related contact to the new contact. All\n updates to user-defined attributes in the new contact are limited to the individual contact ID.\n There are no limits to the number of contacts that can be linked by using RelatedContactId.\n

" + "smithy.api#documentation": "

The contactId that is related to this contact. Linking voice, task, or chat by\n using RelatedContactID copies over contact attributes from the related contact to\n the new contact. All updates to user-defined attributes in the new contact are limited to the\n individual contact ID. There are no limits to the number of contacts that can be linked by using\n RelatedContactId.

" } }, "DestinationPhoneNumber": { @@ -29793,7 +31307,7 @@ } }, "traits": { - "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

" + "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

\n \n

The currently supported values for FieldName are name and\n description.

\n
" } }, "com.amazonaws.connect#StringReference": { @@ -30083,7 +31597,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds the specified tags to the contact resource. For more information about this API is used, see Set up granular billing for a detailed\n view of your Amazon Connect usage.\n

", + "smithy.api#documentation": "

Adds the specified tags to the contact resource. For more information about this API is\n used, see Set\n up granular billing for a detailed view of your Amazon Connect usage.

", "smithy.api#http": { "method": "POST", "uri": "/contact/tags", @@ -30112,7 +31626,7 @@ "Tags": { "target": "com.amazonaws.connect#ContactTagMap", "traits": { - "smithy.api#documentation": "

The tags to be assigned to the contact resource. For example, { \"Tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

\n \n

Authorization is not supported by this tag.

\n
", + "smithy.api#documentation": "

The tags to be assigned to the contact resource. For example, { \"Tags\": {\"key1\":\"value1\",\n \"key2\":\"value2\"} }.

\n \n

Authorization is not supported by this tag.

\n
", "smithy.api#required": {} } } @@ -30859,6 +32373,9 @@ "smithy.api#httpError": 429 } }, + "com.amazonaws.connect#TotalCount": { + "type": "long" + }, "com.amazonaws.connect#TotalPauseCount": { "type": "integer", "traits": { @@ -31092,6 +32609,68 @@ } } }, + "com.amazonaws.connect#Transcript": { + "type": "structure", + "members": { + "Criteria": { + "target": "com.amazonaws.connect#TranscriptCriteriaList", + "traits": { + "smithy.api#documentation": "

The array of transcript search criteria

", + "smithy.api#required": {} + } + }, + "MatchType": { + "target": "com.amazonaws.connect#SearchContactsMatchType", + "traits": { + "smithy.api#documentation": "

The match type of multiple transcript criteira

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The transcript object used to search results.

" + } + }, + "com.amazonaws.connect#TranscriptCriteria": { + "type": "structure", + "members": { + "ParticipantRole": { + "target": "com.amazonaws.connect#ParticipantRole", + "traits": { + "smithy.api#documentation": "

The participant role in a transcript

", + "smithy.api#required": {} + } + }, + "SearchText": { + "target": "com.amazonaws.connect#SearchTextList", + "traits": { + "smithy.api#documentation": "

The words or phrases used to search within a transcript.

", + "smithy.api#required": {} + } + }, + "MatchType": { + "target": "com.amazonaws.connect#SearchContactsMatchType", + "traits": { + "smithy.api#documentation": "

The match type of search texts in a transcript criteria.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The transcript criteria used to search

" + } + }, + "com.amazonaws.connect#TranscriptCriteriaList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#TranscriptCriteria" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 6 + } + } + }, "com.amazonaws.connect#TransferContact": { "type": "operation", "input": { @@ -31258,7 +32837,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes the specified tags from the contact resource. For more information about this API is used, see Set up granular billing for a detailed\n view of your Amazon Connect usage.

", + "smithy.api#documentation": "

Removes the specified tags from the contact resource. For more information about this API is\n used, see Set\n up granular billing for a detailed view of your Amazon Connect usage.

", "smithy.api#http": { "method": "DELETE", "uri": "/contact/tags/{InstanceId}/{ContactId}", @@ -31289,7 +32868,7 @@ "TagKeys": { "target": "com.amazonaws.connect#ContactTagKeys", "traits": { - "smithy.api#documentation": "

A list of tag keys. Existing tags on the contact whose keys are members of this list will be removed.

", + "smithy.api#documentation": "

A list of tag keys. Existing tags on the contact whose keys are members of this list will be\n removed.

", "smithy.api#httpQuery": "TagKeys", "smithy.api#required": {} } @@ -32130,6 +33709,86 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#UpdateContactRoutingData": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#UpdateContactRoutingDataRequest" + }, + "output": { + "target": "com.amazonaws.connect#UpdateContactRoutingDataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#AccessDeniedException" + }, + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#ResourceConflictException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change.

\n

Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds).\n These properties can be used to change a customer's position in the queue. For example, you can\n move a contact to the back of the queue by setting a lower routing priority relative to other\n contacts in queue; or you can move a contact to the front of the queue by increasing the routing\n age which will make the contact look artificially older and therefore higher up in the\n first-in-first-out routing order. Note that adjusting the routing age of a contact affects only\n its position in queue, and not its actual queue wait time as reported through metrics. These\n properties can also be updated by using the Set routing priority / age flow\n block.

", + "smithy.api#http": { + "method": "POST", + "uri": "/contacts/{InstanceId}/{ContactId}/routing-data", + "code": 200 + } + } + }, + "com.amazonaws.connect#UpdateContactRoutingDataRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ContactId": { + "target": "com.amazonaws.connect#ContactId", + "traits": { + "smithy.api#documentation": "

The identifier of the contact in this instance of Amazon Connect.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "QueueTimeAdjustmentSeconds": { + "target": "com.amazonaws.connect#QueueTimeAdjustmentSeconds", + "traits": { + "smithy.api#documentation": "

The number of seconds to add or subtract from the contact's routing age. Contacts are routed\n to agents on a first-come, first-serve basis. This means that changing their amount of time in\n queue compared to others also changes their position in queue.

" + } + }, + "QueuePriority": { + "target": "com.amazonaws.connect#QueuePriority", + "traits": { + "smithy.api#documentation": "

Priority of the contact in the queue. The default priority for new contacts is 5. You can\n raise the priority of a contact compared to other contacts in the queue by assigning them a\n higher priority, such as 1 or 2.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#UpdateContactRoutingDataResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#UpdateContactSchedule": { "type": "operation", "input": { @@ -32830,6 +34489,70 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#UpdatePredefinedAttribute": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#UpdatePredefinedAttributeRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a predefined attribute for the specified Amazon Connect instance.

", + "smithy.api#http": { + "method": "POST", + "uri": "/predefined-attributes/{InstanceId}/{Name}", + "code": 200 + } + } + }, + "com.amazonaws.connect#UpdatePredefinedAttributeRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.connect#PredefinedAttributeName", + "traits": { + "smithy.api#documentation": "

The name of the predefined attribute.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Values": { + "target": "com.amazonaws.connect#PredefinedAttributeValues", + "traits": { + "smithy.api#documentation": "

The values of the predefined attribute.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.connect#UpdatePrompt": { "type": "operation", "input": { @@ -34496,6 +36219,71 @@ "smithy.api#input": {} } }, + "com.amazonaws.connect#UpdateUserProficiencies": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#UpdateUserProficienciesRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the properties associated with the proficiencies of a user.

", + "smithy.api#http": { + "method": "POST", + "uri": "/users/{InstanceId}/{UserId}/proficiencies", + "code": 200 + } + } + }, + "com.amazonaws.connect#UpdateUserProficienciesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource\n Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "UserId": { + "target": "com.amazonaws.connect#UserId", + "traits": { + "smithy.api#documentation": "

The identifier of the user account.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "UserProficiencies": { + "target": "com.amazonaws.connect#UserProficiencyList", + "traits": { + "smithy.api#documentation": "

The proficiencies to be updated for the user. Proficiencies must first be associated to the\n user. You can do this using AssociateUserProficiencies API.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.connect#UpdateUserRoutingProfile": { "type": "operation", "input": { @@ -35198,6 +36986,70 @@ "smithy.api#documentation": "

Contains information about the phone configuration settings for a user.

" } }, + "com.amazonaws.connect#UserProficiency": { + "type": "structure", + "members": { + "AttributeName": { + "target": "com.amazonaws.connect#PredefinedAttributeName", + "traits": { + "smithy.api#documentation": "

The name of user's proficiency. You must use name of predefined attribute present in the\n Amazon Connect instance.

", + "smithy.api#required": {} + } + }, + "AttributeValue": { + "target": "com.amazonaws.connect#PredefinedAttributeStringValue", + "traits": { + "smithy.api#documentation": "

The value of user's proficiency. You must use value of predefined attribute present in the\n Amazon Connect instance.

", + "smithy.api#required": {} + } + }, + "Level": { + "target": "com.amazonaws.connect#ProficiencyLevel", + "traits": { + "smithy.api#default": 1, + "smithy.api#documentation": "

The level of the proficiency. The valid values are 1, 2, 3, 4 and 5.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about proficiency of a user.

" + } + }, + "com.amazonaws.connect#UserProficiencyDisassociate": { + "type": "structure", + "members": { + "AttributeName": { + "target": "com.amazonaws.connect#PredefinedAttributeName", + "traits": { + "smithy.api#documentation": "

The name of user's proficiency.

", + "smithy.api#required": {} + } + }, + "AttributeValue": { + "target": "com.amazonaws.connect#PredefinedAttributeStringValue", + "traits": { + "smithy.api#documentation": "

The value of user's proficiency.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about proficiency to be disassociated from the user.

" + } + }, + "com.amazonaws.connect#UserProficiencyDisassociateList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#UserProficiencyDisassociate" + } + }, + "com.amazonaws.connect#UserProficiencyList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#UserProficiency" + } + }, "com.amazonaws.connect#UserQuickConnectConfig": { "type": "structure", "members": {