From 6398b6f3ba711532872e39c5affd5b07ffb5ec80 Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 12 Dec 2024 19:32:12 +0000 Subject: [PATCH] feat(client-connect): Configure holidays and other overrides to hours of operation in advance. During contact handling, Amazon Connect automatically checks for overrides and provides customers with an appropriate flow path. After an override period passes call center automatically reverts to standard hours of operation. --- clients/client-connect/README.md | 56 + clients/client-connect/src/Connect.ts | 161 + clients/client-connect/src/ConnectClient.ts | 42 + .../CreateHoursOfOperationOverrideCommand.ts | 137 + .../src/commands/CreateQueueCommand.ts | 3 +- .../DeleteHoursOfOperationOverrideCommand.ts | 111 + .../src/commands/DeleteTaskTemplateCommand.ts | 2 +- .../DeleteTrafficDistributionGroupCommand.ts | 2 +- .../src/commands/DeleteUseCaseCommand.ts | 2 +- .../src/commands/DeleteUserCommand.ts | 2 +- ...DescribeHoursOfOperationOverrideCommand.ts | 135 + .../GetEffectiveHoursOfOperationsCommand.ts | 132 + .../ListHoursOfOperationOverridesCommand.ts | 141 + ...ealtimeContactAnalysisSegmentsV2Command.ts | 6 +- .../SearchContactFlowModulesCommand.ts | 4 + .../SearchHoursOfOperationOverridesCommand.ts | 194 + .../UpdateHoursOfOperationOverrideCommand.ts | 133 + .../UpdateQueueOutboundEmailConfigCommand.ts | 2 +- .../src/commands/UpdateTaskTemplateCommand.ts | 3 +- .../UpdateTrafficDistributionCommand.ts | 2 +- .../commands/UpdateUserHierarchyCommand.ts | 2 +- .../UpdateUserHierarchyGroupNameCommand.ts | 2 +- .../UpdateUserHierarchyStructureCommand.ts | 2 +- .../commands/UpdateUserIdentityInfoCommand.ts | 2 +- .../commands/UpdateUserPhoneConfigCommand.ts | 2 +- .../UpdateUserProficienciesCommand.ts | 2 +- .../UpdateUserRoutingProfileCommand.ts | 2 +- .../UpdateUserSecurityProfilesCommand.ts | 2 +- .../src/commands/UpdateViewContentCommand.ts | 2 +- .../src/commands/UpdateViewMetadataCommand.ts | 2 +- clients/client-connect/src/commands/index.ts | 7 + clients/client-connect/src/models/models_0.ts | 233 +- clients/client-connect/src/models/models_1.ts | 676 +- clients/client-connect/src/models/models_2.ts | 7341 ++++++++--------- clients/client-connect/src/models/models_3.ts | 649 +- .../ListHoursOfOperationOverridesPaginator.ts | 24 + ...earchHoursOfOperationOverridesPaginator.ts | 24 + .../client-connect/src/pagination/index.ts | 2 + .../src/protocols/Aws_restJson1.ts | 413 +- codegen/sdk-codegen/aws-models/connect.json | 1061 ++- 40 files changed, 7531 insertions(+), 4189 deletions(-) create mode 100644 clients/client-connect/src/commands/CreateHoursOfOperationOverrideCommand.ts create mode 100644 clients/client-connect/src/commands/DeleteHoursOfOperationOverrideCommand.ts create mode 100644 clients/client-connect/src/commands/DescribeHoursOfOperationOverrideCommand.ts create mode 100644 clients/client-connect/src/commands/GetEffectiveHoursOfOperationsCommand.ts create mode 100644 clients/client-connect/src/commands/ListHoursOfOperationOverridesCommand.ts create mode 100644 clients/client-connect/src/commands/SearchHoursOfOperationOverridesCommand.ts create mode 100644 clients/client-connect/src/commands/UpdateHoursOfOperationOverrideCommand.ts create mode 100644 clients/client-connect/src/pagination/ListHoursOfOperationOverridesPaginator.ts create mode 100644 clients/client-connect/src/pagination/SearchHoursOfOperationOverridesPaginator.ts diff --git a/clients/client-connect/README.md b/clients/client-connect/README.md index db4d2e79c8581..34aca0a4f6e9f 100644 --- a/clients/client-connect/README.md +++ b/clients/client-connect/README.md @@ -465,6 +465,14 @@ CreateHoursOfOperation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/CreateHoursOfOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/CreateHoursOfOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/CreateHoursOfOperationCommandOutput/) + +
+ +CreateHoursOfOperationOverride + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/CreateHoursOfOperationOverrideCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/CreateHoursOfOperationOverrideCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/CreateHoursOfOperationOverrideCommandOutput/) +
@@ -689,6 +697,14 @@ DeleteHoursOfOperation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DeleteHoursOfOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DeleteHoursOfOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DeleteHoursOfOperationCommandOutput/) +
+
+ +DeleteHoursOfOperationOverride + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DeleteHoursOfOperationOverrideCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DeleteHoursOfOperationOverrideCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DeleteHoursOfOperationOverrideCommandOutput/) +
@@ -905,6 +921,14 @@ DescribeHoursOfOperation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DescribeHoursOfOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DescribeHoursOfOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DescribeHoursOfOperationCommandOutput/) +
+
+ +DescribeHoursOfOperationOverride + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/DescribeHoursOfOperationOverrideCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DescribeHoursOfOperationOverrideCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/DescribeHoursOfOperationOverrideCommandOutput/) +
@@ -1185,6 +1209,14 @@ GetCurrentUserData [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/GetCurrentUserDataCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/GetCurrentUserDataCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/GetCurrentUserDataCommandOutput/) +
+
+ +GetEffectiveHoursOfOperations + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/GetEffectiveHoursOfOperationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/GetEffectiveHoursOfOperationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/GetEffectiveHoursOfOperationsCommandOutput/) +
@@ -1369,6 +1401,14 @@ ListFlowAssociations [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/ListFlowAssociationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListFlowAssociationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListFlowAssociationsCommandOutput/) +
+
+ +ListHoursOfOperationOverrides + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/ListHoursOfOperationOverridesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListHoursOfOperationOverridesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/ListHoursOfOperationOverridesCommandOutput/) +
@@ -1729,6 +1769,14 @@ SearchEmailAddresses [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/SearchEmailAddressesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchEmailAddressesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchEmailAddressesCommandOutput/) +
+
+ +SearchHoursOfOperationOverrides + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/SearchHoursOfOperationOverridesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchHoursOfOperationOverridesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchHoursOfOperationOverridesCommandOutput/) +
@@ -2129,6 +2177,14 @@ UpdateHoursOfOperation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/UpdateHoursOfOperationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateHoursOfOperationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateHoursOfOperationCommandOutput/) +
+
+ +UpdateHoursOfOperationOverride + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/UpdateHoursOfOperationOverrideCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateHoursOfOperationOverrideCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/UpdateHoursOfOperationOverrideCommandOutput/) +
diff --git a/clients/client-connect/src/Connect.ts b/clients/client-connect/src/Connect.ts index 78a71250be375..a330632b1f48e 100644 --- a/clients/client-connect/src/Connect.ts +++ b/clients/client-connect/src/Connect.ts @@ -152,6 +152,11 @@ import { CreateHoursOfOperationCommandInput, CreateHoursOfOperationCommandOutput, } from "./commands/CreateHoursOfOperationCommand"; +import { + CreateHoursOfOperationOverrideCommand, + CreateHoursOfOperationOverrideCommandInput, + CreateHoursOfOperationOverrideCommandOutput, +} from "./commands/CreateHoursOfOperationOverrideCommand"; import { CreateInstanceCommand, CreateInstanceCommandInput, @@ -276,6 +281,11 @@ import { DeleteHoursOfOperationCommandInput, DeleteHoursOfOperationCommandOutput, } from "./commands/DeleteHoursOfOperationCommand"; +import { + DeleteHoursOfOperationOverrideCommand, + DeleteHoursOfOperationOverrideCommandInput, + DeleteHoursOfOperationOverrideCommandOutput, +} from "./commands/DeleteHoursOfOperationOverrideCommand"; import { DeleteInstanceCommand, DeleteInstanceCommandInput, @@ -395,6 +405,11 @@ import { DescribeHoursOfOperationCommandInput, DescribeHoursOfOperationCommandOutput, } from "./commands/DescribeHoursOfOperationCommand"; +import { + DescribeHoursOfOperationOverrideCommand, + DescribeHoursOfOperationOverrideCommandInput, + DescribeHoursOfOperationOverrideCommandOutput, +} from "./commands/DescribeHoursOfOperationOverrideCommand"; import { DescribeInstanceAttributeCommand, DescribeInstanceAttributeCommandInput, @@ -570,6 +585,11 @@ import { GetCurrentUserDataCommandInput, GetCurrentUserDataCommandOutput, } from "./commands/GetCurrentUserDataCommand"; +import { + GetEffectiveHoursOfOperationsCommand, + GetEffectiveHoursOfOperationsCommandInput, + GetEffectiveHoursOfOperationsCommandOutput, +} from "./commands/GetEffectiveHoursOfOperationsCommand"; import { GetFederationTokenCommand, GetFederationTokenCommandInput, @@ -681,6 +701,11 @@ import { ListFlowAssociationsCommandInput, ListFlowAssociationsCommandOutput, } from "./commands/ListFlowAssociationsCommand"; +import { + ListHoursOfOperationOverridesCommand, + ListHoursOfOperationOverridesCommandInput, + ListHoursOfOperationOverridesCommandOutput, +} from "./commands/ListHoursOfOperationOverridesCommand"; import { ListHoursOfOperationsCommand, ListHoursOfOperationsCommandInput, @@ -882,6 +907,11 @@ import { SearchEmailAddressesCommandInput, SearchEmailAddressesCommandOutput, } from "./commands/SearchEmailAddressesCommand"; +import { + SearchHoursOfOperationOverridesCommand, + SearchHoursOfOperationOverridesCommandInput, + SearchHoursOfOperationOverridesCommandOutput, +} from "./commands/SearchHoursOfOperationOverridesCommand"; import { SearchHoursOfOperationsCommand, SearchHoursOfOperationsCommandInput, @@ -1116,6 +1146,11 @@ import { UpdateHoursOfOperationCommandInput, UpdateHoursOfOperationCommandOutput, } from "./commands/UpdateHoursOfOperationCommand"; +import { + UpdateHoursOfOperationOverrideCommand, + UpdateHoursOfOperationOverrideCommandInput, + UpdateHoursOfOperationOverrideCommandOutput, +} from "./commands/UpdateHoursOfOperationOverrideCommand"; import { UpdateInstanceAttributeCommand, UpdateInstanceAttributeCommandInput, @@ -1315,6 +1350,7 @@ const commands = { CreateEmailAddressCommand, CreateEvaluationFormCommand, CreateHoursOfOperationCommand, + CreateHoursOfOperationOverrideCommand, CreateInstanceCommand, CreateIntegrationAssociationCommand, CreateParticipantCommand, @@ -1343,6 +1379,7 @@ const commands = { DeleteEmailAddressCommand, DeleteEvaluationFormCommand, DeleteHoursOfOperationCommand, + DeleteHoursOfOperationOverrideCommand, DeleteInstanceCommand, DeleteIntegrationAssociationCommand, DeletePredefinedAttributeCommand, @@ -1370,6 +1407,7 @@ const commands = { DescribeEmailAddressCommand, DescribeEvaluationFormCommand, DescribeHoursOfOperationCommand, + DescribeHoursOfOperationOverrideCommand, DescribeInstanceCommand, DescribeInstanceAttributeCommand, DescribeInstanceStorageConfigCommand, @@ -1405,6 +1443,7 @@ const commands = { GetContactAttributesCommand, GetCurrentMetricDataCommand, GetCurrentUserDataCommand, + GetEffectiveHoursOfOperationsCommand, GetFederationTokenCommand, GetFlowAssociationCommand, GetMetricDataCommand, @@ -1428,6 +1467,7 @@ const commands = { ListEvaluationFormsCommand, ListEvaluationFormVersionsCommand, ListFlowAssociationsCommand, + ListHoursOfOperationOverridesCommand, ListHoursOfOperationsCommand, ListInstanceAttributesCommand, ListInstancesCommand, @@ -1473,6 +1513,7 @@ const commands = { SearchContactFlowsCommand, SearchContactsCommand, SearchEmailAddressesCommand, + SearchHoursOfOperationOverridesCommand, SearchHoursOfOperationsCommand, SearchPredefinedAttributesCommand, SearchPromptsCommand, @@ -1523,6 +1564,7 @@ const commands = { UpdateEmailAddressMetadataCommand, UpdateEvaluationFormCommand, UpdateHoursOfOperationCommand, + UpdateHoursOfOperationOverrideCommand, UpdateInstanceAttributeCommand, UpdateInstanceStorageConfigCommand, UpdateParticipantRoleConfigCommand, @@ -2046,6 +2088,23 @@ export interface Connect { cb: (err: any, data?: CreateHoursOfOperationCommandOutput) => void ): void; + /** + * @see {@link CreateHoursOfOperationOverrideCommand} + */ + createHoursOfOperationOverride( + args: CreateHoursOfOperationOverrideCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createHoursOfOperationOverride( + args: CreateHoursOfOperationOverrideCommandInput, + cb: (err: any, data?: CreateHoursOfOperationOverrideCommandOutput) => void + ): void; + createHoursOfOperationOverride( + args: CreateHoursOfOperationOverrideCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateHoursOfOperationOverrideCommandOutput) => void + ): void; + /** * @see {@link CreateInstanceCommand} */ @@ -2483,6 +2542,23 @@ export interface Connect { cb: (err: any, data?: DeleteHoursOfOperationCommandOutput) => void ): void; + /** + * @see {@link DeleteHoursOfOperationOverrideCommand} + */ + deleteHoursOfOperationOverride( + args: DeleteHoursOfOperationOverrideCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteHoursOfOperationOverride( + args: DeleteHoursOfOperationOverrideCommandInput, + cb: (err: any, data?: DeleteHoursOfOperationOverrideCommandOutput) => void + ): void; + deleteHoursOfOperationOverride( + args: DeleteHoursOfOperationOverrideCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteHoursOfOperationOverrideCommandOutput) => void + ): void; + /** * @see {@link DeleteInstanceCommand} */ @@ -2900,6 +2976,23 @@ export interface Connect { cb: (err: any, data?: DescribeHoursOfOperationCommandOutput) => void ): void; + /** + * @see {@link DescribeHoursOfOperationOverrideCommand} + */ + describeHoursOfOperationOverride( + args: DescribeHoursOfOperationOverrideCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeHoursOfOperationOverride( + args: DescribeHoursOfOperationOverrideCommandInput, + cb: (err: any, data?: DescribeHoursOfOperationOverrideCommandOutput) => void + ): void; + describeHoursOfOperationOverride( + args: DescribeHoursOfOperationOverrideCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeHoursOfOperationOverrideCommandOutput) => void + ): void; + /** * @see {@link DescribeInstanceCommand} */ @@ -3462,6 +3555,23 @@ export interface Connect { cb: (err: any, data?: GetCurrentUserDataCommandOutput) => void ): void; + /** + * @see {@link GetEffectiveHoursOfOperationsCommand} + */ + getEffectiveHoursOfOperations( + args: GetEffectiveHoursOfOperationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getEffectiveHoursOfOperations( + args: GetEffectiveHoursOfOperationsCommandInput, + cb: (err: any, data?: GetEffectiveHoursOfOperationsCommandOutput) => void + ): void; + getEffectiveHoursOfOperations( + args: GetEffectiveHoursOfOperationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetEffectiveHoursOfOperationsCommandOutput) => void + ): void; + /** * @see {@link GetFederationTokenCommand} */ @@ -3829,6 +3939,23 @@ export interface Connect { cb: (err: any, data?: ListFlowAssociationsCommandOutput) => void ): void; + /** + * @see {@link ListHoursOfOperationOverridesCommand} + */ + listHoursOfOperationOverrides( + args: ListHoursOfOperationOverridesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listHoursOfOperationOverrides( + args: ListHoursOfOperationOverridesCommandInput, + cb: (err: any, data?: ListHoursOfOperationOverridesCommandOutput) => void + ): void; + listHoursOfOperationOverrides( + args: ListHoursOfOperationOverridesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListHoursOfOperationOverridesCommandOutput) => void + ): void; + /** * @see {@link ListHoursOfOperationsCommand} */ @@ -4525,6 +4652,23 @@ export interface Connect { cb: (err: any, data?: SearchEmailAddressesCommandOutput) => void ): void; + /** + * @see {@link SearchHoursOfOperationOverridesCommand} + */ + searchHoursOfOperationOverrides( + args: SearchHoursOfOperationOverridesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + searchHoursOfOperationOverrides( + args: SearchHoursOfOperationOverridesCommandInput, + cb: (err: any, data?: SearchHoursOfOperationOverridesCommandOutput) => void + ): void; + searchHoursOfOperationOverrides( + args: SearchHoursOfOperationOverridesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SearchHoursOfOperationOverridesCommandOutput) => void + ): void; + /** * @see {@link SearchHoursOfOperationsCommand} */ @@ -5318,6 +5462,23 @@ export interface Connect { cb: (err: any, data?: UpdateHoursOfOperationCommandOutput) => void ): void; + /** + * @see {@link UpdateHoursOfOperationOverrideCommand} + */ + updateHoursOfOperationOverride( + args: UpdateHoursOfOperationOverrideCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateHoursOfOperationOverride( + args: UpdateHoursOfOperationOverrideCommandInput, + cb: (err: any, data?: UpdateHoursOfOperationOverrideCommandOutput) => void + ): void; + updateHoursOfOperationOverride( + args: UpdateHoursOfOperationOverrideCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateHoursOfOperationOverrideCommandOutput) => void + ): void; + /** * @see {@link UpdateInstanceAttributeCommand} */ diff --git a/clients/client-connect/src/ConnectClient.ts b/clients/client-connect/src/ConnectClient.ts index ad4d5da3b0bc2..c8b769012f6cf 100644 --- a/clients/client-connect/src/ConnectClient.ts +++ b/clients/client-connect/src/ConnectClient.ts @@ -146,6 +146,10 @@ import { CreateHoursOfOperationCommandInput, CreateHoursOfOperationCommandOutput, } from "./commands/CreateHoursOfOperationCommand"; +import { + CreateHoursOfOperationOverrideCommandInput, + CreateHoursOfOperationOverrideCommandOutput, +} from "./commands/CreateHoursOfOperationOverrideCommand"; import { CreateInstanceCommandInput, CreateInstanceCommandOutput } from "./commands/CreateInstanceCommand"; import { CreateIntegrationAssociationCommandInput, @@ -213,6 +217,10 @@ import { DeleteHoursOfOperationCommandInput, DeleteHoursOfOperationCommandOutput, } from "./commands/DeleteHoursOfOperationCommand"; +import { + DeleteHoursOfOperationOverrideCommandInput, + DeleteHoursOfOperationOverrideCommandOutput, +} from "./commands/DeleteHoursOfOperationOverrideCommand"; import { DeleteInstanceCommandInput, DeleteInstanceCommandOutput } from "./commands/DeleteInstanceCommand"; import { DeleteIntegrationAssociationCommandInput, @@ -285,6 +293,10 @@ import { DescribeHoursOfOperationCommandInput, DescribeHoursOfOperationCommandOutput, } from "./commands/DescribeHoursOfOperationCommand"; +import { + DescribeHoursOfOperationOverrideCommandInput, + DescribeHoursOfOperationOverrideCommandOutput, +} from "./commands/DescribeHoursOfOperationOverrideCommand"; import { DescribeInstanceAttributeCommandInput, DescribeInstanceAttributeCommandOutput, @@ -386,6 +398,10 @@ import { GetCurrentMetricDataCommandOutput, } from "./commands/GetCurrentMetricDataCommand"; import { GetCurrentUserDataCommandInput, GetCurrentUserDataCommandOutput } from "./commands/GetCurrentUserDataCommand"; +import { + GetEffectiveHoursOfOperationsCommandInput, + GetEffectiveHoursOfOperationsCommandOutput, +} from "./commands/GetEffectiveHoursOfOperationsCommand"; import { GetFederationTokenCommandInput, GetFederationTokenCommandOutput } from "./commands/GetFederationTokenCommand"; import { GetFlowAssociationCommandInput, GetFlowAssociationCommandOutput } from "./commands/GetFlowAssociationCommand"; import { GetMetricDataCommandInput, GetMetricDataCommandOutput } from "./commands/GetMetricDataCommand"; @@ -448,6 +464,10 @@ import { ListFlowAssociationsCommandInput, ListFlowAssociationsCommandOutput, } from "./commands/ListFlowAssociationsCommand"; +import { + ListHoursOfOperationOverridesCommandInput, + ListHoursOfOperationOverridesCommandOutput, +} from "./commands/ListHoursOfOperationOverridesCommand"; import { ListHoursOfOperationsCommandInput, ListHoursOfOperationsCommandOutput, @@ -562,6 +582,10 @@ import { SearchEmailAddressesCommandInput, SearchEmailAddressesCommandOutput, } from "./commands/SearchEmailAddressesCommand"; +import { + SearchHoursOfOperationOverridesCommandInput, + SearchHoursOfOperationOverridesCommandOutput, +} from "./commands/SearchHoursOfOperationOverridesCommand"; import { SearchHoursOfOperationsCommandInput, SearchHoursOfOperationsCommandOutput, @@ -705,6 +729,10 @@ import { UpdateHoursOfOperationCommandInput, UpdateHoursOfOperationCommandOutput, } from "./commands/UpdateHoursOfOperationCommand"; +import { + UpdateHoursOfOperationOverrideCommandInput, + UpdateHoursOfOperationOverrideCommandOutput, +} from "./commands/UpdateHoursOfOperationOverrideCommand"; import { UpdateInstanceAttributeCommandInput, UpdateInstanceAttributeCommandOutput, @@ -862,6 +890,7 @@ export type ServiceInputTypes = | CreateEmailAddressCommandInput | CreateEvaluationFormCommandInput | CreateHoursOfOperationCommandInput + | CreateHoursOfOperationOverrideCommandInput | CreateInstanceCommandInput | CreateIntegrationAssociationCommandInput | CreateParticipantCommandInput @@ -890,6 +919,7 @@ export type ServiceInputTypes = | DeleteEmailAddressCommandInput | DeleteEvaluationFormCommandInput | DeleteHoursOfOperationCommandInput + | DeleteHoursOfOperationOverrideCommandInput | DeleteInstanceCommandInput | DeleteIntegrationAssociationCommandInput | DeletePredefinedAttributeCommandInput @@ -917,6 +947,7 @@ export type ServiceInputTypes = | DescribeEmailAddressCommandInput | DescribeEvaluationFormCommandInput | DescribeHoursOfOperationCommandInput + | DescribeHoursOfOperationOverrideCommandInput | DescribeInstanceAttributeCommandInput | DescribeInstanceCommandInput | DescribeInstanceStorageConfigCommandInput @@ -952,6 +983,7 @@ export type ServiceInputTypes = | GetContactAttributesCommandInput | GetCurrentMetricDataCommandInput | GetCurrentUserDataCommandInput + | GetEffectiveHoursOfOperationsCommandInput | GetFederationTokenCommandInput | GetFlowAssociationCommandInput | GetMetricDataCommandInput @@ -975,6 +1007,7 @@ export type ServiceInputTypes = | ListEvaluationFormVersionsCommandInput | ListEvaluationFormsCommandInput | ListFlowAssociationsCommandInput + | ListHoursOfOperationOverridesCommandInput | ListHoursOfOperationsCommandInput | ListInstanceAttributesCommandInput | ListInstanceStorageConfigsCommandInput @@ -1020,6 +1053,7 @@ export type ServiceInputTypes = | SearchContactFlowsCommandInput | SearchContactsCommandInput | SearchEmailAddressesCommandInput + | SearchHoursOfOperationOverridesCommandInput | SearchHoursOfOperationsCommandInput | SearchPredefinedAttributesCommandInput | SearchPromptsCommandInput @@ -1070,6 +1104,7 @@ export type ServiceInputTypes = | UpdateEmailAddressMetadataCommandInput | UpdateEvaluationFormCommandInput | UpdateHoursOfOperationCommandInput + | UpdateHoursOfOperationOverrideCommandInput | UpdateInstanceAttributeCommandInput | UpdateInstanceStorageConfigCommandInput | UpdateParticipantRoleConfigCommandInput @@ -1139,6 +1174,7 @@ export type ServiceOutputTypes = | CreateEmailAddressCommandOutput | CreateEvaluationFormCommandOutput | CreateHoursOfOperationCommandOutput + | CreateHoursOfOperationOverrideCommandOutput | CreateInstanceCommandOutput | CreateIntegrationAssociationCommandOutput | CreateParticipantCommandOutput @@ -1167,6 +1203,7 @@ export type ServiceOutputTypes = | DeleteEmailAddressCommandOutput | DeleteEvaluationFormCommandOutput | DeleteHoursOfOperationCommandOutput + | DeleteHoursOfOperationOverrideCommandOutput | DeleteInstanceCommandOutput | DeleteIntegrationAssociationCommandOutput | DeletePredefinedAttributeCommandOutput @@ -1194,6 +1231,7 @@ export type ServiceOutputTypes = | DescribeEmailAddressCommandOutput | DescribeEvaluationFormCommandOutput | DescribeHoursOfOperationCommandOutput + | DescribeHoursOfOperationOverrideCommandOutput | DescribeInstanceAttributeCommandOutput | DescribeInstanceCommandOutput | DescribeInstanceStorageConfigCommandOutput @@ -1229,6 +1267,7 @@ export type ServiceOutputTypes = | GetContactAttributesCommandOutput | GetCurrentMetricDataCommandOutput | GetCurrentUserDataCommandOutput + | GetEffectiveHoursOfOperationsCommandOutput | GetFederationTokenCommandOutput | GetFlowAssociationCommandOutput | GetMetricDataCommandOutput @@ -1252,6 +1291,7 @@ export type ServiceOutputTypes = | ListEvaluationFormVersionsCommandOutput | ListEvaluationFormsCommandOutput | ListFlowAssociationsCommandOutput + | ListHoursOfOperationOverridesCommandOutput | ListHoursOfOperationsCommandOutput | ListInstanceAttributesCommandOutput | ListInstanceStorageConfigsCommandOutput @@ -1297,6 +1337,7 @@ export type ServiceOutputTypes = | SearchContactFlowsCommandOutput | SearchContactsCommandOutput | SearchEmailAddressesCommandOutput + | SearchHoursOfOperationOverridesCommandOutput | SearchHoursOfOperationsCommandOutput | SearchPredefinedAttributesCommandOutput | SearchPromptsCommandOutput @@ -1347,6 +1388,7 @@ export type ServiceOutputTypes = | UpdateEmailAddressMetadataCommandOutput | UpdateEvaluationFormCommandOutput | UpdateHoursOfOperationCommandOutput + | UpdateHoursOfOperationOverrideCommandOutput | UpdateInstanceAttributeCommandOutput | UpdateInstanceStorageConfigCommandOutput | UpdateParticipantRoleConfigCommandOutput diff --git a/clients/client-connect/src/commands/CreateHoursOfOperationOverrideCommand.ts b/clients/client-connect/src/commands/CreateHoursOfOperationOverrideCommand.ts new file mode 100644 index 0000000000000..a44fe5c80d403 --- /dev/null +++ b/clients/client-connect/src/commands/CreateHoursOfOperationOverrideCommand.ts @@ -0,0 +1,137 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateHoursOfOperationOverrideRequest, CreateHoursOfOperationOverrideResponse } from "../models/models_0"; +import { + de_CreateHoursOfOperationOverrideCommand, + se_CreateHoursOfOperationOverrideCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateHoursOfOperationOverrideCommand}. + */ +export interface CreateHoursOfOperationOverrideCommandInput extends CreateHoursOfOperationOverrideRequest {} +/** + * @public + * + * The output of {@link CreateHoursOfOperationOverrideCommand}. + */ +export interface CreateHoursOfOperationOverrideCommandOutput + extends CreateHoursOfOperationOverrideResponse, + __MetadataBearer {} + +/** + *

Creates an hours of operation override in an Amazon Connect hours of operation + * resource

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, CreateHoursOfOperationOverrideCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, CreateHoursOfOperationOverrideCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // CreateHoursOfOperationOverrideRequest + * InstanceId: "STRING_VALUE", // required + * HoursOfOperationId: "STRING_VALUE", // required + * Name: "STRING_VALUE", // required + * Description: "STRING_VALUE", + * Config: [ // HoursOfOperationOverrideConfigList // required + * { // HoursOfOperationOverrideConfig + * Day: "SUNDAY" || "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY", + * StartTime: { // OverrideTimeSlice + * Hours: Number("int"), // required + * Minutes: Number("int"), // required + * }, + * EndTime: { + * Hours: Number("int"), // required + * Minutes: Number("int"), // required + * }, + * }, + * ], + * EffectiveFrom: "STRING_VALUE", // required + * EffectiveTill: "STRING_VALUE", // required + * }; + * const command = new CreateHoursOfOperationOverrideCommand(input); + * const response = await client.send(command); + * // { // CreateHoursOfOperationOverrideResponse + * // HoursOfOperationOverrideId: "STRING_VALUE", + * // }; + * + * ``` + * + * @param CreateHoursOfOperationOverrideCommandInput - {@link CreateHoursOfOperationOverrideCommandInput} + * @returns {@link CreateHoursOfOperationOverrideCommandOutput} + * @see {@link CreateHoursOfOperationOverrideCommandInput} for command's `input` shape. + * @see {@link CreateHoursOfOperationOverrideCommandOutput} 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.

+ * + * @public + */ +export class CreateHoursOfOperationOverrideCommand extends $Command + .classBuilder< + CreateHoursOfOperationOverrideCommandInput, + CreateHoursOfOperationOverrideCommandOutput, + ConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonConnectService", "CreateHoursOfOperationOverride", {}) + .n("ConnectClient", "CreateHoursOfOperationOverrideCommand") + .f(void 0, void 0) + .ser(se_CreateHoursOfOperationOverrideCommand) + .de(de_CreateHoursOfOperationOverrideCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateHoursOfOperationOverrideRequest; + output: CreateHoursOfOperationOverrideResponse; + }; + sdk: { + input: CreateHoursOfOperationOverrideCommandInput; + output: CreateHoursOfOperationOverrideCommandOutput; + }; + }; +} diff --git a/clients/client-connect/src/commands/CreateQueueCommand.ts b/clients/client-connect/src/commands/CreateQueueCommand.ts index c74cf0c74edcc..731be563f51b8 100644 --- a/clients/client-connect/src/commands/CreateQueueCommand.ts +++ b/clients/client-connect/src/commands/CreateQueueCommand.ts @@ -28,8 +28,7 @@ export interface CreateQueueCommandInput extends CreateQueueRequest {} export interface CreateQueueCommandOutput extends CreateQueueResponse, __MetadataBearer {} /** - *

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

- *

Creates a new queue for the specified Amazon Connect instance.

+ *

Creates a new queue for the specified Amazon Connect instance.

* *
    *
  • diff --git a/clients/client-connect/src/commands/DeleteHoursOfOperationOverrideCommand.ts b/clients/client-connect/src/commands/DeleteHoursOfOperationOverrideCommand.ts new file mode 100644 index 0000000000000..d778db407ffe4 --- /dev/null +++ b/clients/client-connect/src/commands/DeleteHoursOfOperationOverrideCommand.ts @@ -0,0 +1,111 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteHoursOfOperationOverrideRequest } from "../models/models_0"; +import { + de_DeleteHoursOfOperationOverrideCommand, + se_DeleteHoursOfOperationOverrideCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteHoursOfOperationOverrideCommand}. + */ +export interface DeleteHoursOfOperationOverrideCommandInput extends DeleteHoursOfOperationOverrideRequest {} +/** + * @public + * + * The output of {@link DeleteHoursOfOperationOverrideCommand}. + */ +export interface DeleteHoursOfOperationOverrideCommandOutput extends __MetadataBearer {} + +/** + *

    Deletes an hours of operation override in an Amazon Connect hours of operation + * resource

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, DeleteHoursOfOperationOverrideCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, DeleteHoursOfOperationOverrideCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // DeleteHoursOfOperationOverrideRequest + * InstanceId: "STRING_VALUE", // required + * HoursOfOperationId: "STRING_VALUE", // required + * HoursOfOperationOverrideId: "STRING_VALUE", // required + * }; + * const command = new DeleteHoursOfOperationOverrideCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteHoursOfOperationOverrideCommandInput - {@link DeleteHoursOfOperationOverrideCommandInput} + * @returns {@link DeleteHoursOfOperationOverrideCommandOutput} + * @see {@link DeleteHoursOfOperationOverrideCommandInput} for command's `input` shape. + * @see {@link DeleteHoursOfOperationOverrideCommandOutput} 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.

    + * + * @public + */ +export class DeleteHoursOfOperationOverrideCommand extends $Command + .classBuilder< + DeleteHoursOfOperationOverrideCommandInput, + DeleteHoursOfOperationOverrideCommandOutput, + ConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonConnectService", "DeleteHoursOfOperationOverride", {}) + .n("ConnectClient", "DeleteHoursOfOperationOverrideCommand") + .f(void 0, void 0) + .ser(se_DeleteHoursOfOperationOverrideCommand) + .de(de_DeleteHoursOfOperationOverrideCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteHoursOfOperationOverrideRequest; + output: {}; + }; + sdk: { + input: DeleteHoursOfOperationOverrideCommandInput; + output: DeleteHoursOfOperationOverrideCommandOutput; + }; + }; +} diff --git a/clients/client-connect/src/commands/DeleteTaskTemplateCommand.ts b/clients/client-connect/src/commands/DeleteTaskTemplateCommand.ts index bb2ec49c0423c..54be25b041ab6 100644 --- a/clients/client-connect/src/commands/DeleteTaskTemplateCommand.ts +++ b/clients/client-connect/src/commands/DeleteTaskTemplateCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteTaskTemplateRequest, DeleteTaskTemplateResponse } from "../models/models_0"; +import { DeleteTaskTemplateRequest, DeleteTaskTemplateResponse } from "../models/models_1"; import { de_DeleteTaskTemplateCommand, se_DeleteTaskTemplateCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/DeleteTrafficDistributionGroupCommand.ts b/clients/client-connect/src/commands/DeleteTrafficDistributionGroupCommand.ts index 2c12ae5c33dd1..77791eda6691f 100644 --- a/clients/client-connect/src/commands/DeleteTrafficDistributionGroupCommand.ts +++ b/clients/client-connect/src/commands/DeleteTrafficDistributionGroupCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteTrafficDistributionGroupRequest, DeleteTrafficDistributionGroupResponse } from "../models/models_0"; +import { DeleteTrafficDistributionGroupRequest, DeleteTrafficDistributionGroupResponse } from "../models/models_1"; import { de_DeleteTrafficDistributionGroupCommand, se_DeleteTrafficDistributionGroupCommand, diff --git a/clients/client-connect/src/commands/DeleteUseCaseCommand.ts b/clients/client-connect/src/commands/DeleteUseCaseCommand.ts index aee870ec68025..e1cd1950614d2 100644 --- a/clients/client-connect/src/commands/DeleteUseCaseCommand.ts +++ b/clients/client-connect/src/commands/DeleteUseCaseCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteUseCaseRequest } from "../models/models_0"; +import { DeleteUseCaseRequest } from "../models/models_1"; import { de_DeleteUseCaseCommand, se_DeleteUseCaseCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/DeleteUserCommand.ts b/clients/client-connect/src/commands/DeleteUserCommand.ts index ce8df779d8241..addfb85ddd618 100644 --- a/clients/client-connect/src/commands/DeleteUserCommand.ts +++ b/clients/client-connect/src/commands/DeleteUserCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteUserRequest } from "../models/models_0"; +import { DeleteUserRequest } from "../models/models_1"; import { de_DeleteUserCommand, se_DeleteUserCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/DescribeHoursOfOperationOverrideCommand.ts b/clients/client-connect/src/commands/DescribeHoursOfOperationOverrideCommand.ts new file mode 100644 index 0000000000000..ca2e8c07c454c --- /dev/null +++ b/clients/client-connect/src/commands/DescribeHoursOfOperationOverrideCommand.ts @@ -0,0 +1,135 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DescribeHoursOfOperationOverrideRequest, DescribeHoursOfOperationOverrideResponse } from "../models/models_1"; +import { + de_DescribeHoursOfOperationOverrideCommand, + se_DescribeHoursOfOperationOverrideCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeHoursOfOperationOverrideCommand}. + */ +export interface DescribeHoursOfOperationOverrideCommandInput extends DescribeHoursOfOperationOverrideRequest {} +/** + * @public + * + * The output of {@link DescribeHoursOfOperationOverrideCommand}. + */ +export interface DescribeHoursOfOperationOverrideCommandOutput + extends DescribeHoursOfOperationOverrideResponse, + __MetadataBearer {} + +/** + *

    Describes the hours of operation override.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, DescribeHoursOfOperationOverrideCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, DescribeHoursOfOperationOverrideCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // DescribeHoursOfOperationOverrideRequest + * InstanceId: "STRING_VALUE", // required + * HoursOfOperationId: "STRING_VALUE", // required + * HoursOfOperationOverrideId: "STRING_VALUE", // required + * }; + * const command = new DescribeHoursOfOperationOverrideCommand(input); + * const response = await client.send(command); + * // { // DescribeHoursOfOperationOverrideResponse + * // HoursOfOperationOverride: { // HoursOfOperationOverride + * // HoursOfOperationOverrideId: "STRING_VALUE", + * // HoursOfOperationId: "STRING_VALUE", + * // HoursOfOperationArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // Config: [ // HoursOfOperationOverrideConfigList + * // { // HoursOfOperationOverrideConfig + * // Day: "SUNDAY" || "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY", + * // StartTime: { // OverrideTimeSlice + * // Hours: Number("int"), // required + * // Minutes: Number("int"), // required + * // }, + * // EndTime: { + * // Hours: Number("int"), // required + * // Minutes: Number("int"), // required + * // }, + * // }, + * // ], + * // EffectiveFrom: "STRING_VALUE", + * // EffectiveTill: "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param DescribeHoursOfOperationOverrideCommandInput - {@link DescribeHoursOfOperationOverrideCommandInput} + * @returns {@link DescribeHoursOfOperationOverrideCommandOutput} + * @see {@link DescribeHoursOfOperationOverrideCommandInput} for command's `input` shape. + * @see {@link DescribeHoursOfOperationOverrideCommandOutput} 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.

    + * + * @public + */ +export class DescribeHoursOfOperationOverrideCommand extends $Command + .classBuilder< + DescribeHoursOfOperationOverrideCommandInput, + DescribeHoursOfOperationOverrideCommandOutput, + ConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonConnectService", "DescribeHoursOfOperationOverride", {}) + .n("ConnectClient", "DescribeHoursOfOperationOverrideCommand") + .f(void 0, void 0) + .ser(se_DescribeHoursOfOperationOverrideCommand) + .de(de_DescribeHoursOfOperationOverrideCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DescribeHoursOfOperationOverrideRequest; + output: DescribeHoursOfOperationOverrideResponse; + }; + sdk: { + input: DescribeHoursOfOperationOverrideCommandInput; + output: DescribeHoursOfOperationOverrideCommandOutput; + }; + }; +} diff --git a/clients/client-connect/src/commands/GetEffectiveHoursOfOperationsCommand.ts b/clients/client-connect/src/commands/GetEffectiveHoursOfOperationsCommand.ts new file mode 100644 index 0000000000000..a3cef7e8cfb88 --- /dev/null +++ b/clients/client-connect/src/commands/GetEffectiveHoursOfOperationsCommand.ts @@ -0,0 +1,132 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetEffectiveHoursOfOperationsRequest, GetEffectiveHoursOfOperationsResponse } from "../models/models_1"; +import { + de_GetEffectiveHoursOfOperationsCommand, + se_GetEffectiveHoursOfOperationsCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetEffectiveHoursOfOperationsCommand}. + */ +export interface GetEffectiveHoursOfOperationsCommandInput extends GetEffectiveHoursOfOperationsRequest {} +/** + * @public + * + * The output of {@link GetEffectiveHoursOfOperationsCommand}. + */ +export interface GetEffectiveHoursOfOperationsCommandOutput + extends GetEffectiveHoursOfOperationsResponse, + __MetadataBearer {} + +/** + *

    Get the hours of operations with the effective override applied.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, GetEffectiveHoursOfOperationsCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, GetEffectiveHoursOfOperationsCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // GetEffectiveHoursOfOperationsRequest + * InstanceId: "STRING_VALUE", // required + * HoursOfOperationId: "STRING_VALUE", // required + * FromDate: "STRING_VALUE", // required + * ToDate: "STRING_VALUE", // required + * }; + * const command = new GetEffectiveHoursOfOperationsCommand(input); + * const response = await client.send(command); + * // { // GetEffectiveHoursOfOperationsResponse + * // EffectiveHoursOfOperationList: [ // EffectiveHoursOfOperationList + * // { // EffectiveHoursOfOperations + * // Date: "STRING_VALUE", + * // OperationalHours: [ // OperationalHours + * // { // OperationalHour + * // Start: { // OverrideTimeSlice + * // Hours: Number("int"), // required + * // Minutes: Number("int"), // required + * // }, + * // End: { + * // Hours: Number("int"), // required + * // Minutes: Number("int"), // required + * // }, + * // }, + * // ], + * // }, + * // ], + * // TimeZone: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetEffectiveHoursOfOperationsCommandInput - {@link GetEffectiveHoursOfOperationsCommandInput} + * @returns {@link GetEffectiveHoursOfOperationsCommandOutput} + * @see {@link GetEffectiveHoursOfOperationsCommandInput} for command's `input` shape. + * @see {@link GetEffectiveHoursOfOperationsCommandOutput} 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.

    + * + * @public + */ +export class GetEffectiveHoursOfOperationsCommand extends $Command + .classBuilder< + GetEffectiveHoursOfOperationsCommandInput, + GetEffectiveHoursOfOperationsCommandOutput, + ConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonConnectService", "GetEffectiveHoursOfOperations", {}) + .n("ConnectClient", "GetEffectiveHoursOfOperationsCommand") + .f(void 0, void 0) + .ser(se_GetEffectiveHoursOfOperationsCommand) + .de(de_GetEffectiveHoursOfOperationsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetEffectiveHoursOfOperationsRequest; + output: GetEffectiveHoursOfOperationsResponse; + }; + sdk: { + input: GetEffectiveHoursOfOperationsCommandInput; + output: GetEffectiveHoursOfOperationsCommandOutput; + }; + }; +} diff --git a/clients/client-connect/src/commands/ListHoursOfOperationOverridesCommand.ts b/clients/client-connect/src/commands/ListHoursOfOperationOverridesCommand.ts new file mode 100644 index 0000000000000..a4f841607c772 --- /dev/null +++ b/clients/client-connect/src/commands/ListHoursOfOperationOverridesCommand.ts @@ -0,0 +1,141 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListHoursOfOperationOverridesRequest, ListHoursOfOperationOverridesResponse } from "../models/models_1"; +import { + de_ListHoursOfOperationOverridesCommand, + se_ListHoursOfOperationOverridesCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListHoursOfOperationOverridesCommand}. + */ +export interface ListHoursOfOperationOverridesCommandInput extends ListHoursOfOperationOverridesRequest {} +/** + * @public + * + * The output of {@link ListHoursOfOperationOverridesCommand}. + */ +export interface ListHoursOfOperationOverridesCommandOutput + extends ListHoursOfOperationOverridesResponse, + __MetadataBearer {} + +/** + *

    List the hours of operation overrides.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, ListHoursOfOperationOverridesCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, ListHoursOfOperationOverridesCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // ListHoursOfOperationOverridesRequest + * InstanceId: "STRING_VALUE", // required + * HoursOfOperationId: "STRING_VALUE", // required + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * }; + * const command = new ListHoursOfOperationOverridesCommand(input); + * const response = await client.send(command); + * // { // ListHoursOfOperationOverridesResponse + * // NextToken: "STRING_VALUE", + * // HoursOfOperationOverrideList: [ // HoursOfOperationOverrideList + * // { // HoursOfOperationOverride + * // HoursOfOperationOverrideId: "STRING_VALUE", + * // HoursOfOperationId: "STRING_VALUE", + * // HoursOfOperationArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // Config: [ // HoursOfOperationOverrideConfigList + * // { // HoursOfOperationOverrideConfig + * // Day: "SUNDAY" || "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY", + * // StartTime: { // OverrideTimeSlice + * // Hours: Number("int"), // required + * // Minutes: Number("int"), // required + * // }, + * // EndTime: { + * // Hours: Number("int"), // required + * // Minutes: Number("int"), // required + * // }, + * // }, + * // ], + * // EffectiveFrom: "STRING_VALUE", + * // EffectiveTill: "STRING_VALUE", + * // }, + * // ], + * // LastModifiedRegion: "STRING_VALUE", + * // LastModifiedTime: new Date("TIMESTAMP"), + * // }; + * + * ``` + * + * @param ListHoursOfOperationOverridesCommandInput - {@link ListHoursOfOperationOverridesCommandInput} + * @returns {@link ListHoursOfOperationOverridesCommandOutput} + * @see {@link ListHoursOfOperationOverridesCommandInput} for command's `input` shape. + * @see {@link ListHoursOfOperationOverridesCommandOutput} 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.

    + * + * @public + */ +export class ListHoursOfOperationOverridesCommand extends $Command + .classBuilder< + ListHoursOfOperationOverridesCommandInput, + ListHoursOfOperationOverridesCommandOutput, + ConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonConnectService", "ListHoursOfOperationOverrides", {}) + .n("ConnectClient", "ListHoursOfOperationOverridesCommand") + .f(void 0, void 0) + .ser(se_ListHoursOfOperationOverridesCommand) + .de(de_ListHoursOfOperationOverridesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListHoursOfOperationOverridesRequest; + output: ListHoursOfOperationOverridesResponse; + }; + sdk: { + input: ListHoursOfOperationOverridesCommandInput; + output: ListHoursOfOperationOverridesCommandOutput; + }; + }; +} diff --git a/clients/client-connect/src/commands/ListRealtimeContactAnalysisSegmentsV2Command.ts b/clients/client-connect/src/commands/ListRealtimeContactAnalysisSegmentsV2Command.ts index ecbab748b1728..8f7e7d6356b93 100644 --- a/clients/client-connect/src/commands/ListRealtimeContactAnalysisSegmentsV2Command.ts +++ b/clients/client-connect/src/commands/ListRealtimeContactAnalysisSegmentsV2Command.ts @@ -6,8 +6,10 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ListRealtimeContactAnalysisSegmentsV2Request } from "../models/models_1"; -import { ListRealtimeContactAnalysisSegmentsV2Response } from "../models/models_2"; +import { + ListRealtimeContactAnalysisSegmentsV2Request, + ListRealtimeContactAnalysisSegmentsV2Response, +} from "../models/models_2"; import { de_ListRealtimeContactAnalysisSegmentsV2Command, se_ListRealtimeContactAnalysisSegmentsV2Command, diff --git a/clients/client-connect/src/commands/SearchContactFlowModulesCommand.ts b/clients/client-connect/src/commands/SearchContactFlowModulesCommand.ts index ef3c5a813a4cb..4a508c73710c5 100644 --- a/clients/client-connect/src/commands/SearchContactFlowModulesCommand.ts +++ b/clients/client-connect/src/commands/SearchContactFlowModulesCommand.ts @@ -73,6 +73,8 @@ export interface SearchContactFlowModulesCommandOutput extends SearchContactFlow * Value: "STRING_VALUE", * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", * }, + * StateCondition: "ACTIVE" || "ARCHIVED", + * StatusCondition: "PUBLISHED" || "SAVED", * }, * ], * AndConditions: [ @@ -83,6 +85,8 @@ export interface SearchContactFlowModulesCommandOutput extends SearchContactFlow * Value: "STRING_VALUE", * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", * }, + * StateCondition: "ACTIVE" || "ARCHIVED", + * StatusCondition: "PUBLISHED" || "SAVED", * }, * }; * const command = new SearchContactFlowModulesCommand(input); diff --git a/clients/client-connect/src/commands/SearchHoursOfOperationOverridesCommand.ts b/clients/client-connect/src/commands/SearchHoursOfOperationOverridesCommand.ts new file mode 100644 index 0000000000000..599242f03867a --- /dev/null +++ b/clients/client-connect/src/commands/SearchHoursOfOperationOverridesCommand.ts @@ -0,0 +1,194 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { SearchHoursOfOperationOverridesResponse } from "../models/models_2"; +import { SearchHoursOfOperationOverridesRequest } from "../models/models_3"; +import { + de_SearchHoursOfOperationOverridesCommand, + se_SearchHoursOfOperationOverridesCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link SearchHoursOfOperationOverridesCommand}. + */ +export interface SearchHoursOfOperationOverridesCommandInput extends SearchHoursOfOperationOverridesRequest {} +/** + * @public + * + * The output of {@link SearchHoursOfOperationOverridesCommand}. + */ +export interface SearchHoursOfOperationOverridesCommandOutput + extends SearchHoursOfOperationOverridesResponse, + __MetadataBearer {} + +/** + *

    Searches the hours of operation overrides.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, SearchHoursOfOperationOverridesCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, SearchHoursOfOperationOverridesCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // SearchHoursOfOperationOverridesRequest + * InstanceId: "STRING_VALUE", // required + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * SearchFilter: { // HoursOfOperationSearchFilter + * TagFilter: { // ControlPlaneTagFilter + * OrConditions: [ // TagOrConditionList + * [ // TagAndConditionList + * { // TagCondition + * TagKey: "STRING_VALUE", + * TagValue: "STRING_VALUE", + * }, + * ], + * ], + * AndConditions: [ + * { + * TagKey: "STRING_VALUE", + * TagValue: "STRING_VALUE", + * }, + * ], + * TagCondition: "", + * }, + * }, + * SearchCriteria: { // HoursOfOperationOverrideSearchCriteria + * OrConditions: [ // HoursOfOperationOverrideSearchConditionList + * { + * OrConditions: [ + * "", + * ], + * AndConditions: [ + * "", + * ], + * StringCondition: { // StringCondition + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * }, + * DateCondition: { // DateCondition + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "GREATER_THAN" || "LESS_THAN" || "GREATER_THAN_OR_EQUAL_TO" || "LESS_THAN_OR_EQUAL_TO" || "EQUAL_TO", + * }, + * }, + * ], + * AndConditions: [ + * "", + * ], + * StringCondition: { + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * }, + * DateCondition: { + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "GREATER_THAN" || "LESS_THAN" || "GREATER_THAN_OR_EQUAL_TO" || "LESS_THAN_OR_EQUAL_TO" || "EQUAL_TO", + * }, + * }, + * }; + * const command = new SearchHoursOfOperationOverridesCommand(input); + * const response = await client.send(command); + * // { // SearchHoursOfOperationOverridesResponse + * // HoursOfOperationOverrides: [ // HoursOfOperationOverrideList + * // { // HoursOfOperationOverride + * // HoursOfOperationOverrideId: "STRING_VALUE", + * // HoursOfOperationId: "STRING_VALUE", + * // HoursOfOperationArn: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // Config: [ // HoursOfOperationOverrideConfigList + * // { // HoursOfOperationOverrideConfig + * // Day: "SUNDAY" || "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY", + * // StartTime: { // OverrideTimeSlice + * // Hours: Number("int"), // required + * // Minutes: Number("int"), // required + * // }, + * // EndTime: { + * // Hours: Number("int"), // required + * // Minutes: Number("int"), // required + * // }, + * // }, + * // ], + * // EffectiveFrom: "STRING_VALUE", + * // EffectiveTill: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // ApproximateTotalCount: Number("long"), + * // }; + * + * ``` + * + * @param SearchHoursOfOperationOverridesCommandInput - {@link SearchHoursOfOperationOverridesCommandInput} + * @returns {@link SearchHoursOfOperationOverridesCommandOutput} + * @see {@link SearchHoursOfOperationOverridesCommandInput} for command's `input` shape. + * @see {@link SearchHoursOfOperationOverridesCommandOutput} 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.

    + * + * @public + */ +export class SearchHoursOfOperationOverridesCommand extends $Command + .classBuilder< + SearchHoursOfOperationOverridesCommandInput, + SearchHoursOfOperationOverridesCommandOutput, + ConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonConnectService", "SearchHoursOfOperationOverrides", {}) + .n("ConnectClient", "SearchHoursOfOperationOverridesCommand") + .f(void 0, void 0) + .ser(se_SearchHoursOfOperationOverridesCommand) + .de(de_SearchHoursOfOperationOverridesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: SearchHoursOfOperationOverridesRequest; + output: SearchHoursOfOperationOverridesResponse; + }; + sdk: { + input: SearchHoursOfOperationOverridesCommandInput; + output: SearchHoursOfOperationOverridesCommandOutput; + }; + }; +} diff --git a/clients/client-connect/src/commands/UpdateHoursOfOperationOverrideCommand.ts b/clients/client-connect/src/commands/UpdateHoursOfOperationOverrideCommand.ts new file mode 100644 index 0000000000000..28e847e0cc76a --- /dev/null +++ b/clients/client-connect/src/commands/UpdateHoursOfOperationOverrideCommand.ts @@ -0,0 +1,133 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateHoursOfOperationOverrideRequest } from "../models/models_2"; +import { + de_UpdateHoursOfOperationOverrideCommand, + se_UpdateHoursOfOperationOverrideCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateHoursOfOperationOverrideCommand}. + */ +export interface UpdateHoursOfOperationOverrideCommandInput extends UpdateHoursOfOperationOverrideRequest {} +/** + * @public + * + * The output of {@link UpdateHoursOfOperationOverrideCommand}. + */ +export interface UpdateHoursOfOperationOverrideCommandOutput extends __MetadataBearer {} + +/** + *

    Update the hours of operation override.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, UpdateHoursOfOperationOverrideCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, UpdateHoursOfOperationOverrideCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // UpdateHoursOfOperationOverrideRequest + * InstanceId: "STRING_VALUE", // required + * HoursOfOperationId: "STRING_VALUE", // required + * HoursOfOperationOverrideId: "STRING_VALUE", // required + * Name: "STRING_VALUE", + * Description: "STRING_VALUE", + * Config: [ // HoursOfOperationOverrideConfigList + * { // HoursOfOperationOverrideConfig + * Day: "SUNDAY" || "MONDAY" || "TUESDAY" || "WEDNESDAY" || "THURSDAY" || "FRIDAY" || "SATURDAY", + * StartTime: { // OverrideTimeSlice + * Hours: Number("int"), // required + * Minutes: Number("int"), // required + * }, + * EndTime: { + * Hours: Number("int"), // required + * Minutes: Number("int"), // required + * }, + * }, + * ], + * EffectiveFrom: "STRING_VALUE", + * EffectiveTill: "STRING_VALUE", + * }; + * const command = new UpdateHoursOfOperationOverrideCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UpdateHoursOfOperationOverrideCommandInput - {@link UpdateHoursOfOperationOverrideCommandInput} + * @returns {@link UpdateHoursOfOperationOverrideCommandOutput} + * @see {@link UpdateHoursOfOperationOverrideCommandInput} for command's `input` shape. + * @see {@link UpdateHoursOfOperationOverrideCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link ConditionalOperationFailedException} (client fault) + *

    Request processing failed because dependent condition failed.

    + * + * @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 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.

    + * + * @public + */ +export class UpdateHoursOfOperationOverrideCommand extends $Command + .classBuilder< + UpdateHoursOfOperationOverrideCommandInput, + UpdateHoursOfOperationOverrideCommandOutput, + ConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonConnectService", "UpdateHoursOfOperationOverride", {}) + .n("ConnectClient", "UpdateHoursOfOperationOverrideCommand") + .f(void 0, void 0) + .ser(se_UpdateHoursOfOperationOverrideCommand) + .de(de_UpdateHoursOfOperationOverrideCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateHoursOfOperationOverrideRequest; + output: {}; + }; + sdk: { + input: UpdateHoursOfOperationOverrideCommandInput; + output: UpdateHoursOfOperationOverrideCommandOutput; + }; + }; +} diff --git a/clients/client-connect/src/commands/UpdateQueueOutboundEmailConfigCommand.ts b/clients/client-connect/src/commands/UpdateQueueOutboundEmailConfigCommand.ts index 6306c9776b3ec..e8549b069aeb5 100644 --- a/clients/client-connect/src/commands/UpdateQueueOutboundEmailConfigCommand.ts +++ b/clients/client-connect/src/commands/UpdateQueueOutboundEmailConfigCommand.ts @@ -61,7 +61,7 @@ export interface UpdateQueueOutboundEmailConfigCommandOutput extends __MetadataB *

    You do not have sufficient permissions to perform this action.

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

    A conditional check failed.

    + *

    Request processing failed because dependent condition failed.

    * * @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/UpdateTaskTemplateCommand.ts b/clients/client-connect/src/commands/UpdateTaskTemplateCommand.ts index dc379e290246d..13199fc8295fc 100644 --- a/clients/client-connect/src/commands/UpdateTaskTemplateCommand.ts +++ b/clients/client-connect/src/commands/UpdateTaskTemplateCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateTaskTemplateRequest, UpdateTaskTemplateResponse } from "../models/models_2"; +import { UpdateTaskTemplateRequest } from "../models/models_2"; +import { UpdateTaskTemplateResponse } from "../models/models_3"; import { de_UpdateTaskTemplateCommand, se_UpdateTaskTemplateCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/UpdateTrafficDistributionCommand.ts b/clients/client-connect/src/commands/UpdateTrafficDistributionCommand.ts index 454be078dbd5a..555b49d278e67 100644 --- a/clients/client-connect/src/commands/UpdateTrafficDistributionCommand.ts +++ b/clients/client-connect/src/commands/UpdateTrafficDistributionCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateTrafficDistributionRequest, UpdateTrafficDistributionResponse } from "../models/models_2"; +import { UpdateTrafficDistributionRequest, UpdateTrafficDistributionResponse } from "../models/models_3"; import { de_UpdateTrafficDistributionCommand, se_UpdateTrafficDistributionCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/UpdateUserHierarchyCommand.ts b/clients/client-connect/src/commands/UpdateUserHierarchyCommand.ts index 116a429da1501..01f8fb3f204b6 100644 --- a/clients/client-connect/src/commands/UpdateUserHierarchyCommand.ts +++ b/clients/client-connect/src/commands/UpdateUserHierarchyCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateUserHierarchyRequest } from "../models/models_2"; +import { UpdateUserHierarchyRequest } from "../models/models_3"; import { de_UpdateUserHierarchyCommand, se_UpdateUserHierarchyCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/UpdateUserHierarchyGroupNameCommand.ts b/clients/client-connect/src/commands/UpdateUserHierarchyGroupNameCommand.ts index b370bd420cbd9..4dafe64775e64 100644 --- a/clients/client-connect/src/commands/UpdateUserHierarchyGroupNameCommand.ts +++ b/clients/client-connect/src/commands/UpdateUserHierarchyGroupNameCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateUserHierarchyGroupNameRequest } from "../models/models_2"; +import { UpdateUserHierarchyGroupNameRequest } from "../models/models_3"; import { de_UpdateUserHierarchyGroupNameCommand, se_UpdateUserHierarchyGroupNameCommand, diff --git a/clients/client-connect/src/commands/UpdateUserHierarchyStructureCommand.ts b/clients/client-connect/src/commands/UpdateUserHierarchyStructureCommand.ts index ba897d6d64161..0e95c6cfa488b 100644 --- a/clients/client-connect/src/commands/UpdateUserHierarchyStructureCommand.ts +++ b/clients/client-connect/src/commands/UpdateUserHierarchyStructureCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateUserHierarchyStructureRequest } from "../models/models_2"; +import { UpdateUserHierarchyStructureRequest } from "../models/models_3"; import { de_UpdateUserHierarchyStructureCommand, se_UpdateUserHierarchyStructureCommand, diff --git a/clients/client-connect/src/commands/UpdateUserIdentityInfoCommand.ts b/clients/client-connect/src/commands/UpdateUserIdentityInfoCommand.ts index bfb24fd5e64bc..2dd09f2d6f440 100644 --- a/clients/client-connect/src/commands/UpdateUserIdentityInfoCommand.ts +++ b/clients/client-connect/src/commands/UpdateUserIdentityInfoCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateUserIdentityInfoRequest, UpdateUserIdentityInfoRequestFilterSensitiveLog } from "../models/models_2"; +import { UpdateUserIdentityInfoRequest, UpdateUserIdentityInfoRequestFilterSensitiveLog } from "../models/models_3"; import { de_UpdateUserIdentityInfoCommand, se_UpdateUserIdentityInfoCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/UpdateUserPhoneConfigCommand.ts b/clients/client-connect/src/commands/UpdateUserPhoneConfigCommand.ts index 6a0fe9f19ab21..9d31664dacd86 100644 --- a/clients/client-connect/src/commands/UpdateUserPhoneConfigCommand.ts +++ b/clients/client-connect/src/commands/UpdateUserPhoneConfigCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateUserPhoneConfigRequest } from "../models/models_2"; +import { UpdateUserPhoneConfigRequest } from "../models/models_3"; import { de_UpdateUserPhoneConfigCommand, se_UpdateUserPhoneConfigCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/UpdateUserProficienciesCommand.ts b/clients/client-connect/src/commands/UpdateUserProficienciesCommand.ts index 9c9c723e6ac52..4b9cc3b770602 100644 --- a/clients/client-connect/src/commands/UpdateUserProficienciesCommand.ts +++ b/clients/client-connect/src/commands/UpdateUserProficienciesCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateUserProficienciesRequest } from "../models/models_2"; +import { UpdateUserProficienciesRequest } from "../models/models_3"; import { de_UpdateUserProficienciesCommand, se_UpdateUserProficienciesCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/UpdateUserRoutingProfileCommand.ts b/clients/client-connect/src/commands/UpdateUserRoutingProfileCommand.ts index fd07dec26dcbb..f66e3ccb65ff0 100644 --- a/clients/client-connect/src/commands/UpdateUserRoutingProfileCommand.ts +++ b/clients/client-connect/src/commands/UpdateUserRoutingProfileCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateUserRoutingProfileRequest } from "../models/models_2"; +import { UpdateUserRoutingProfileRequest } from "../models/models_3"; import { de_UpdateUserRoutingProfileCommand, se_UpdateUserRoutingProfileCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/UpdateUserSecurityProfilesCommand.ts b/clients/client-connect/src/commands/UpdateUserSecurityProfilesCommand.ts index d2427a198daf4..21d3114709380 100644 --- a/clients/client-connect/src/commands/UpdateUserSecurityProfilesCommand.ts +++ b/clients/client-connect/src/commands/UpdateUserSecurityProfilesCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateUserSecurityProfilesRequest } from "../models/models_2"; +import { UpdateUserSecurityProfilesRequest } from "../models/models_3"; import { de_UpdateUserSecurityProfilesCommand, se_UpdateUserSecurityProfilesCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/UpdateViewContentCommand.ts b/clients/client-connect/src/commands/UpdateViewContentCommand.ts index a56d219af9da7..6d778225cb57b 100644 --- a/clients/client-connect/src/commands/UpdateViewContentCommand.ts +++ b/clients/client-connect/src/commands/UpdateViewContentCommand.ts @@ -11,7 +11,7 @@ import { UpdateViewContentRequestFilterSensitiveLog, UpdateViewContentResponse, UpdateViewContentResponseFilterSensitiveLog, -} from "../models/models_2"; +} from "../models/models_3"; import { de_UpdateViewContentCommand, se_UpdateViewContentCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/UpdateViewMetadataCommand.ts b/clients/client-connect/src/commands/UpdateViewMetadataCommand.ts index ad054aa72166e..a175da33da66d 100644 --- a/clients/client-connect/src/commands/UpdateViewMetadataCommand.ts +++ b/clients/client-connect/src/commands/UpdateViewMetadataCommand.ts @@ -10,7 +10,7 @@ import { UpdateViewMetadataRequest, UpdateViewMetadataRequestFilterSensitiveLog, UpdateViewMetadataResponse, -} from "../models/models_2"; +} from "../models/models_3"; import { de_UpdateViewMetadataCommand, se_UpdateViewMetadataCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/index.ts b/clients/client-connect/src/commands/index.ts index 595aaa8e29892..eaf942eae2343 100644 --- a/clients/client-connect/src/commands/index.ts +++ b/clients/client-connect/src/commands/index.ts @@ -29,6 +29,7 @@ export * from "./CreateContactFlowVersionCommand"; export * from "./CreateEmailAddressCommand"; export * from "./CreateEvaluationFormCommand"; export * from "./CreateHoursOfOperationCommand"; +export * from "./CreateHoursOfOperationOverrideCommand"; export * from "./CreateInstanceCommand"; export * from "./CreateIntegrationAssociationCommand"; export * from "./CreateParticipantCommand"; @@ -57,6 +58,7 @@ export * from "./DeleteContactFlowModuleCommand"; export * from "./DeleteEmailAddressCommand"; export * from "./DeleteEvaluationFormCommand"; export * from "./DeleteHoursOfOperationCommand"; +export * from "./DeleteHoursOfOperationOverrideCommand"; export * from "./DeleteInstanceCommand"; export * from "./DeleteIntegrationAssociationCommand"; export * from "./DeletePredefinedAttributeCommand"; @@ -84,6 +86,7 @@ export * from "./DescribeContactFlowModuleCommand"; export * from "./DescribeEmailAddressCommand"; export * from "./DescribeEvaluationFormCommand"; export * from "./DescribeHoursOfOperationCommand"; +export * from "./DescribeHoursOfOperationOverrideCommand"; export * from "./DescribeInstanceAttributeCommand"; export * from "./DescribeInstanceCommand"; export * from "./DescribeInstanceStorageConfigCommand"; @@ -119,6 +122,7 @@ export * from "./GetAttachedFileCommand"; export * from "./GetContactAttributesCommand"; export * from "./GetCurrentMetricDataCommand"; export * from "./GetCurrentUserDataCommand"; +export * from "./GetEffectiveHoursOfOperationsCommand"; export * from "./GetFederationTokenCommand"; export * from "./GetFlowAssociationCommand"; export * from "./GetMetricDataCommand"; @@ -142,6 +146,7 @@ export * from "./ListDefaultVocabulariesCommand"; export * from "./ListEvaluationFormVersionsCommand"; export * from "./ListEvaluationFormsCommand"; export * from "./ListFlowAssociationsCommand"; +export * from "./ListHoursOfOperationOverridesCommand"; export * from "./ListHoursOfOperationsCommand"; export * from "./ListInstanceAttributesCommand"; export * from "./ListInstanceStorageConfigsCommand"; @@ -187,6 +192,7 @@ export * from "./SearchContactFlowModulesCommand"; export * from "./SearchContactFlowsCommand"; export * from "./SearchContactsCommand"; export * from "./SearchEmailAddressesCommand"; +export * from "./SearchHoursOfOperationOverridesCommand"; export * from "./SearchHoursOfOperationsCommand"; export * from "./SearchPredefinedAttributesCommand"; export * from "./SearchPromptsCommand"; @@ -237,6 +243,7 @@ export * from "./UpdateContactScheduleCommand"; export * from "./UpdateEmailAddressMetadataCommand"; export * from "./UpdateEvaluationFormCommand"; export * from "./UpdateHoursOfOperationCommand"; +export * from "./UpdateHoursOfOperationOverrideCommand"; export * from "./UpdateInstanceAttributeCommand"; export * from "./UpdateInstanceStorageConfigCommand"; export * from "./UpdateParticipantRoleConfigCommand"; diff --git a/clients/client-connect/src/models/models_0.ts b/clients/client-connect/src/models/models_0.ts index c952fd180dc7a..fbe7cdbd5d2dc 100644 --- a/clients/client-connect/src/models/models_0.ts +++ b/clients/client-connect/src/models/models_0.ts @@ -3973,6 +3973,127 @@ export interface CreateHoursOfOperationResponse { HoursOfOperationArn?: string | undefined; } +/** + * @public + * @enum + */ +export const OverrideDays = { + FRIDAY: "FRIDAY", + MONDAY: "MONDAY", + SATURDAY: "SATURDAY", + SUNDAY: "SUNDAY", + THURSDAY: "THURSDAY", + TUESDAY: "TUESDAY", + WEDNESDAY: "WEDNESDAY", +} as const; + +/** + * @public + */ +export type OverrideDays = (typeof OverrideDays)[keyof typeof OverrideDays]; + +/** + *

    The start time or end time for an hours of operation override.

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

    The hours.

    + * @public + */ + Hours: number | undefined; + + /** + *

    The minutes.

    + * @public + */ + Minutes: number | undefined; +} + +/** + *

    Information about the hours of operation override config: day, start time, and end + * time.

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

    The day that the hours of operation override applies to.

    + * @public + */ + Day?: OverrideDays | undefined; + + /** + *

    The start time when your contact center opens if overrides are applied.

    + * @public + */ + StartTime?: OverrideTimeSlice | undefined; + + /** + *

    The end time that your contact center closes if overrides are applied.

    + * @public + */ + EndTime?: OverrideTimeSlice | undefined; +} + +/** + * @public + */ +export interface CreateHoursOfOperationOverrideRequest { + /** + *

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation

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

    The name of the hours of operation override.

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

    The description of the hours of operation override.

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

    Configuration information for the hours of operation override: day, start time, and end + * time.

    + * @public + */ + Config: HoursOfOperationOverrideConfig[] | undefined; + + /** + *

    The date from when the hours of operation override would be effective.

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

    The date until when the hours of operation override would be effective.

    + * @public + */ + EffectiveTill: string | undefined; +} + +/** + * @public + */ +export interface CreateHoursOfOperationOverrideResponse { + /** + *

    The identifier for the hours of operation override.

    + * @public + */ + HoursOfOperationOverrideId?: string | undefined; +} + /** * @public * @enum @@ -4560,6 +4681,10 @@ export interface ContactConfiguration { /** *

    The role of the participant in the chat conversation.

    + * + *

    Only CUSTOMER is currently supported. Any other values other than + * CUSTOMER will result in an exception (4xx error).

    + *
    * @public */ ParticipantRole?: ParticipantRole | undefined; @@ -6086,14 +6211,16 @@ export interface CreateUseCaseResponse { export interface UserIdentityInfo { /** *

    The first name. This is required if you are using Amazon Connect or SAML for identity - * management.

    + * management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a + * non-NFC form (for example, decomposed characters or combining marks) are not accepted.

    * @public */ FirstName?: string | undefined; /** *

    The last name. This is required if you are using Amazon Connect or SAML for identity - * management.

    + * management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a + * non-NFC form (for example, decomposed characters or combining marks) are not accepted.

    * @public */ LastName?: string | undefined; @@ -6959,6 +7086,29 @@ export interface DeleteHoursOfOperationRequest { HoursOfOperationId: string | undefined; } +/** + * @public + */ +export interface DeleteHoursOfOperationOverrideRequest { + /** + *

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation.

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

    The identifier for the hours of operation override.

    + * @public + */ + HoursOfOperationOverrideId: string | undefined; +} + /** * @public */ @@ -7136,85 +7286,6 @@ export interface DeleteSecurityProfileRequest { SecurityProfileId: string | undefined; } -/** - * @public - */ -export interface DeleteTaskTemplateRequest { - /** - *

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

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

    A unique identifier for the task template.

    - * @public - */ - TaskTemplateId: string | undefined; -} - -/** - * @public - */ -export interface DeleteTaskTemplateResponse {} - -/** - * @public - */ -export interface DeleteTrafficDistributionGroupRequest { - /** - *

    The identifier of the traffic distribution group. - * This can be the ID or the ARN of the traffic distribution group.

    - * @public - */ - TrafficDistributionGroupId: string | undefined; -} - -/** - * @public - */ -export interface DeleteTrafficDistributionGroupResponse {} - -/** - * @public - */ -export interface DeleteUseCaseRequest { - /** - *

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

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

    The identifier for the integration association.

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

    The identifier for the use case.

    - * @public - */ - UseCaseId: string | undefined; -} - -/** - * @public - */ -export interface DeleteUserRequest { - /** - *

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

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

    The identifier of the user.

    - * @public - */ - UserId: string | undefined; -} - /** * @internal */ diff --git a/clients/client-connect/src/models/models_1.ts b/clients/client-connect/src/models/models_1.ts index 821cd98c5c838..98537610a8284 100644 --- a/clients/client-connect/src/models/models_1.ts +++ b/clients/client-connect/src/models/models_1.ts @@ -30,6 +30,7 @@ import { FlowAssociationResourceType, FlowAssociationSummary, HoursOfOperationConfig, + HoursOfOperationOverrideConfig, InstanceStorageConfig, InstanceStorageResourceType, IntegrationType, @@ -39,8 +40,8 @@ import { MediaConcurrency, OutboundCallerConfig, OutboundEmailConfig, + OverrideTimeSlice, ParticipantCapabilities, - ParticipantRole, PredefinedAttributeValues, QueueReference, QuickConnectConfig, @@ -65,6 +66,85 @@ import { VocabularyState, } from "./models_0"; +/** + * @public + */ +export interface DeleteTaskTemplateRequest { + /** + *

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

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

    A unique identifier for the task template.

    + * @public + */ + TaskTemplateId: string | undefined; +} + +/** + * @public + */ +export interface DeleteTaskTemplateResponse {} + +/** + * @public + */ +export interface DeleteTrafficDistributionGroupRequest { + /** + *

    The identifier of the traffic distribution group. + * This can be the ID or the ARN of the traffic distribution group.

    + * @public + */ + TrafficDistributionGroupId: string | undefined; +} + +/** + * @public + */ +export interface DeleteTrafficDistributionGroupResponse {} + +/** + * @public + */ +export interface DeleteUseCaseRequest { + /** + *

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

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

    The identifier for the integration association.

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

    The identifier for the use case.

    + * @public + */ + UseCaseId: string | undefined; +} + +/** + * @public + */ +export interface DeleteUserRequest { + /** + *

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

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

    The identifier of the user.

    + * @public + */ + UserId: string | undefined; +} + /** * @public */ @@ -1316,6 +1396,95 @@ export interface DescribeHoursOfOperationResponse { HoursOfOperation?: HoursOfOperation | undefined; } +/** + * @public + */ +export interface DescribeHoursOfOperationOverrideRequest { + /** + *

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation.

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

    The identifier for the hours of operation override.

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

    Information about the hours of operations override.

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

    The identifier for the hours of operation override.

    + * @public + */ + HoursOfOperationOverrideId?: string | undefined; + + /** + *

    The identifier for the hours of operation.

    + * @public + */ + HoursOfOperationId?: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) for the hours of operation.

    + * @public + */ + HoursOfOperationArn?: string | undefined; + + /** + *

    The name of the hours of operation override.

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

    The description of the hours of operation override.

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

    Configuration information for the hours of operation override: day, start time, and end + * time.

    + * @public + */ + Config?: HoursOfOperationOverrideConfig[] | undefined; + + /** + *

    The date from which the hours of operation override would be effective.

    + * @public + */ + EffectiveFrom?: string | undefined; + + /** + *

    The date till which the hours of operation override would be effective.

    + * @public + */ + EffectiveTill?: string | undefined; +} + +/** + * @public + */ +export interface DescribeHoursOfOperationOverrideResponse { + /** + *

    Information about the hours of operations override.

    + * @public + */ + HoursOfOperationOverride?: HoursOfOperationOverride | undefined; +} + /** * @public */ @@ -4607,6 +4776,88 @@ export interface GetCurrentUserDataResponse { ApproximateTotalCount?: number | undefined; } +/** + * @public + */ +export interface GetEffectiveHoursOfOperationsRequest { + /** + *

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation.

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

    The Date from when the hours of operation are listed.

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

    The Date until when the hours of operation are listed.

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

    Information about the hours of operations with the effective override applied.

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

    The start time that your contact center opens.

    + * @public + */ + Start?: OverrideTimeSlice | undefined; + + /** + *

    The end time that your contact center closes.

    + * @public + */ + End?: OverrideTimeSlice | undefined; +} + +/** + *

    Information about the hours of operations with the effective override applied.

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

    The date that the hours of operation or overrides applies to.

    + * @public + */ + Date?: string | undefined; + + /** + *

    Information about the hours of operations with the effective override applied.

    + * @public + */ + OperationalHours?: OperationalHour[] | undefined; +} + +/** + * @public + */ +export interface GetEffectiveHoursOfOperationsResponse { + /** + *

    Information about the effective hours of operations

    + * @public + */ + EffectiveHoursOfOperationList?: EffectiveHoursOfOperations[] | undefined; + + /** + *

    The time zone for the hours of operation.

    + * @public + */ + TimeZone?: string | undefined; +} + /** * @public */ @@ -8407,6 +8658,67 @@ export interface ListFlowAssociationsResponse { NextToken?: string | undefined; } +/** + * @public + */ +export interface ListHoursOfOperationOverridesRequest { + /** + *

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation

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

    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.

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

    The maximum number of results to return per page. The default MaxResult size is 100. Valid + * Range: Minimum value of 1. Maximum value of 1000.

    + * @public + */ + MaxResults?: number | undefined; +} + +/** + * @public + */ +export interface ListHoursOfOperationOverridesResponse { + /** + *

    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.

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

    Information about the hours of operation override.

    + * @public + */ + HoursOfOperationOverrideList?: HoursOfOperationOverride[] | undefined; + + /** + *

    The AWS Region where this resource was last modified.

    + * @public + */ + LastModifiedRegion?: string | undefined; + + /** + *

    The timestamp when this resource was last modified.

    + * @public + */ + LastModifiedTime?: Date | undefined; +} + /** * @public */ @@ -9527,368 +9839,6 @@ export const RealTimeContactAnalysisSegmentType = { export type RealTimeContactAnalysisSegmentType = (typeof RealTimeContactAnalysisSegmentType)[keyof typeof RealTimeContactAnalysisSegmentType]; -/** - * @public - */ -export interface ListRealtimeContactAnalysisSegmentsV2Request { - /** - *

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

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

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

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

    The maximum number of results to return per page.

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

    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.

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

    The Contact Lens output type to be returned.

    - * @public - */ - OutputType: RealTimeContactAnalysisOutputType | undefined; - - /** - *

    Enum with segment types . Each value corresponds to a segment type returned in the segments - * list of the API. Each segment type has its own structure. Different channels may have different - * sets of supported segment types.

    - * @public - */ - SegmentTypes: RealTimeContactAnalysisSegmentType[] | undefined; -} - -/** - * @public - * @enum - */ -export const RealTimeContactAnalysisSupportedChannel = { - CHAT: "CHAT", - VOICE: "VOICE", -} as const; - -/** - * @public - */ -export type RealTimeContactAnalysisSupportedChannel = - (typeof RealTimeContactAnalysisSupportedChannel)[keyof typeof RealTimeContactAnalysisSupportedChannel]; - -/** - * @public - * @enum - */ -export const ArtifactStatus = { - APPROVED: "APPROVED", - IN_PROGRESS: "IN_PROGRESS", - REJECTED: "REJECTED", -} as const; - -/** - * @public - */ -export type ArtifactStatus = (typeof ArtifactStatus)[keyof typeof ArtifactStatus]; - -/** - *

    Object that describes attached file.

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

    A case-sensitive name of the attachment being uploaded. Can be redacted.

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

    Describes the MIME file type of the attachment. For a list of supported file types, see - * Feature - * specifications in the Amazon Connect Administrator - * Guide.

    - * @public - */ - ContentType?: string | undefined; - - /** - *

    A unique identifier for the attachment.

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

    Status of the attachment.

    - * @public - */ - Status?: ArtifactStatus | undefined; -} - -/** - *

    Object describing time with which the segment is associated. It can have different - * representations of time. Currently supported: absoluteTime

    - * @public - */ -export type RealTimeContactAnalysisTimeData = - | RealTimeContactAnalysisTimeData.AbsoluteTimeMember - | RealTimeContactAnalysisTimeData.$UnknownMember; - -/** - * @public - */ -export namespace RealTimeContactAnalysisTimeData { - /** - *

    Time represented in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, - * 2019-11-08T02:41:28.172Z.

    - * @public - */ - export interface AbsoluteTimeMember { - AbsoluteTime: Date; - $unknown?: never; - } - - /** - * @public - */ - export interface $UnknownMember { - AbsoluteTime?: never; - $unknown: [string, any]; - } - - export interface Visitor { - AbsoluteTime: (value: Date) => T; - _: (name: string, value: any) => T; - } - - export const visit = (value: RealTimeContactAnalysisTimeData, visitor: Visitor): T => { - if (value.AbsoluteTime !== undefined) return visitor.AbsoluteTime(value.AbsoluteTime); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; -} - -/** - *

    Segment containing list of attachments.

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

    The identifier of the segment.

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

    The identifier of the participant.

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

    The role of the participant. For example, is it a customer, agent, or system.

    - * @public - */ - ParticipantRole: ParticipantRole | undefined; - - /** - *

    The display name of the participant. Can be redacted.

    - * @public - */ - DisplayName?: string | undefined; - - /** - *

    List of objects describing an individual attachment.

    - * @public - */ - Attachments: RealTimeContactAnalysisAttachment[] | undefined; - - /** - *

    Field describing the time of the event. It can have different representations of time.

    - * @public - */ - Time: RealTimeContactAnalysisTimeData | undefined; -} - -/** - *

    Begin and end offsets for a part of text.

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

    The beginning of the character interval.

    - * @public - */ - BeginOffsetChar: number | undefined; - - /** - *

    The end of the character interval.

    - * @public - */ - EndOffsetChar: number | undefined; -} - -/** - *

    Transcript representation containing Id and list of character intervals that are associated - * with analysis data. For example, this object within a - * RealTimeContactAnalysisPointOfInterest in Category.MatchedDetails - * would have character interval describing part of the text that matched category.

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

    Transcript identifier. Matches the identifier from one of the TranscriptSegments.

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

    List of character intervals within transcript content/text.

    - * @public - */ - CharacterOffsets?: RealTimeContactAnalysisCharacterInterval | undefined; -} - -/** - *

    The section of the contact transcript segment that category rule was detected.

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

    List of the transcript items (segments) that are associated with a given point of interest. - *

    - * @public - */ - TranscriptItems?: RealTimeContactAnalysisTranscriptItemWithCharacterOffsets[] | undefined; -} - -/** - *

    Provides information about the category rule that was matched.

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

    List of PointOfInterest - objects describing a single match of a rule.

    - * @public - */ - PointsOfInterest: RealTimeContactAnalysisPointOfInterest[] | undefined; -} - -/** - *

    The matched category rules.

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

    Map between the name of the matched rule and RealTimeContactAnalysisCategoryDetails.

    - * @public - */ - MatchedDetails: Record | undefined; -} - -/** - *

    Segment type describing a contact event.

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

    The identifier of the contact event.

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

    The identifier of the participant.

    - * @public - */ - ParticipantId?: string | undefined; - - /** - *

    The role of the participant. For example, is it a customer, agent, or system.

    - * @public - */ - ParticipantRole?: ParticipantRole | undefined; - - /** - *

    The display name of the participant. Can be redacted.

    - * @public - */ - DisplayName?: string | undefined; - - /** - *

    Type of the event. For example, - * application/vnd.amazonaws.connect.event.participant.left.

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

    Field describing the time of the event. It can have different representations of time.

    - * @public - */ - Time: RealTimeContactAnalysisTimeData | undefined; -} - -/** - *

    Transcript representation containing Id, Content and list of character intervals that are - * associated with analysis data. For example, this object within an issue detected would describe - * both content that contains identified issue and intervals where that content is taken - * from.

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

    Part of the transcript content that contains identified issue. Can be redacted

    - * @public - */ - Content?: string | undefined; - - /** - *

    Transcript identifier. Matches the identifier from one of the TranscriptSegments.

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

    Begin and end offsets for a part of text.

    - * @public - */ - CharacterOffsets?: RealTimeContactAnalysisCharacterInterval | undefined; -} - -/** - *

    Potential issues that are detected based on an artificial intelligence analysis of each turn - * in the conversation.

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

    List of the transcript items (segments) that are associated with a given issue.

    - * @public - */ - TranscriptItems: RealTimeContactAnalysisTranscriptItemWithContent[] | undefined; -} - -/** - *

    Segment type containing a list of detected issues.

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

    List of the issues detected.

    - * @public - */ - IssuesDetected: RealTimeContactAnalysisIssueDetected[] | undefined; -} - /** * @internal */ diff --git a/clients/client-connect/src/models/models_2.ts b/clients/client-connect/src/models/models_2.ts index e962f378e12a3..f3fa67baa2bc8 100644 --- a/clients/client-connect/src/models/models_2.ts +++ b/clients/client-connect/src/models/models_2.ts @@ -6,7 +6,6 @@ import { ConnectServiceException as __BaseException } from "./ConnectServiceExce import { ActionSummary, AgentAvailabilityTimer, - AgentConfig, AgentHierarchyGroups, AgentStatus, AgentStatusState, @@ -16,11 +15,11 @@ import { ContactInitiationMethod, ControlPlaneAttributeFilter, CreatedByInfo, - EvaluationFormQuestion, EventSourceName, FileStatusType, FileUseCaseType, HoursOfOperationConfig, + HoursOfOperationOverrideConfig, InstanceStorageConfig, InstanceStorageResourceType, MediaConcurrency, @@ -43,14 +42,8 @@ import { TaskTemplateField, TaskTemplateStatus, UseCaseType, - UserIdentityInfo, - UserIdentityInfoFilterSensitiveLog, UserPhoneConfig, UserProficiency, - View, - ViewFilterSensitiveLog, - ViewInputContent, - ViewInputContentFilterSensitiveLog, ViewStatus, ViewType, VocabularyLanguageCode, @@ -67,6 +60,7 @@ import { HierarchyGroup, HierarchyGroupSummary, HoursOfOperation, + HoursOfOperationOverride, InstanceAttributeType, PhoneNumberCountryCode, PhoneNumberType, @@ -75,143 +69,169 @@ import { Queue, QueueStatus, QuickConnect, - RealTimeContactAnalysisCharacterInterval, - RealTimeContactAnalysisSegmentAttachments, - RealTimeContactAnalysisSegmentCategories, - RealTimeContactAnalysisSegmentEvent, - RealTimeContactAnalysisSegmentIssues, - RealTimeContactAnalysisSupportedChannel, - RealTimeContactAnalysisTimeData, + RealTimeContactAnalysisOutputType, + RealTimeContactAnalysisSegmentType, RoutingProfile, - SignInConfig, SortOrder, - TelephonyConfig, TrafficDistributionGroupStatus, } from "./models_1"; -import { EvaluationFormSection } from "./models_3"; +/** + * @public + */ +export interface ListRealtimeContactAnalysisSegmentsV2Request { + /** + *

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

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

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

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

    The maximum number of results to return per page.

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

    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.

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

    The Contact Lens output type to be returned.

    + * @public + */ + OutputType: RealTimeContactAnalysisOutputType | undefined; + + /** + *

    Enum with segment types . Each value corresponds to a segment type returned in the segments + * list of the API. Each segment type has its own structure. Different channels may have different + * sets of supported segment types.

    + * @public + */ + SegmentTypes: RealTimeContactAnalysisSegmentType[] | undefined; +} /** * @public * @enum */ -export const RealTimeContactAnalysisPostContactSummaryFailureCode = { - FAILED_SAFETY_GUIDELINES: "FAILED_SAFETY_GUIDELINES", - INSUFFICIENT_CONVERSATION_CONTENT: "INSUFFICIENT_CONVERSATION_CONTENT", - INTERNAL_ERROR: "INTERNAL_ERROR", - INVALID_ANALYSIS_CONFIGURATION: "INVALID_ANALYSIS_CONFIGURATION", - QUOTA_EXCEEDED: "QUOTA_EXCEEDED", +export const RealTimeContactAnalysisSupportedChannel = { + CHAT: "CHAT", + VOICE: "VOICE", } as const; /** * @public */ -export type RealTimeContactAnalysisPostContactSummaryFailureCode = - (typeof RealTimeContactAnalysisPostContactSummaryFailureCode)[keyof typeof RealTimeContactAnalysisPostContactSummaryFailureCode]; +export type RealTimeContactAnalysisSupportedChannel = + (typeof RealTimeContactAnalysisSupportedChannel)[keyof typeof RealTimeContactAnalysisSupportedChannel]; /** * @public * @enum */ -export const RealTimeContactAnalysisPostContactSummaryStatus = { - COMPLETED: "COMPLETED", - FAILED: "FAILED", +export const ArtifactStatus = { + APPROVED: "APPROVED", + IN_PROGRESS: "IN_PROGRESS", + REJECTED: "REJECTED", } as const; /** * @public */ -export type RealTimeContactAnalysisPostContactSummaryStatus = - (typeof RealTimeContactAnalysisPostContactSummaryStatus)[keyof typeof RealTimeContactAnalysisPostContactSummaryStatus]; +export type ArtifactStatus = (typeof ArtifactStatus)[keyof typeof ArtifactStatus]; /** - *

    Information about the post-contact summary for a real-time contact segment.

    + *

    Object that describes attached file.

    * @public */ -export interface RealTimeContactAnalysisSegmentPostContactSummary { +export interface RealTimeContactAnalysisAttachment { /** - *

    The content of the summary.

    + *

    A case-sensitive name of the attachment being uploaded. Can be redacted.

    * @public */ - Content?: string | undefined; + AttachmentName: string | undefined; /** - *

    Whether the summary was successfully COMPLETED or FAILED to be generated.

    + *

    Describes the MIME file type of the attachment. For a list of supported file types, see + * Feature + * specifications in the Amazon Connect Administrator + * Guide.

    * @public */ - Status: RealTimeContactAnalysisPostContactSummaryStatus | undefined; + ContentType?: string | undefined; /** - *

    If the summary failed to be generated, one of the following failure codes occurs:

    - *
      - *
    • - *

      - * QUOTA_EXCEEDED: The number of concurrent analytics jobs reached your service - * quota.

      - *
    • - *
    • - *

      - * INSUFFICIENT_CONVERSATION_CONTENT: The conversation needs to have at least - * one turn from both the participants in order to generate the summary.

      - *
    • - *
    • - *

      - * FAILED_SAFETY_GUIDELINES: The generated summary cannot be provided because it - * failed to meet system safety guidelines.

      - *
    • - *
    • - *

      - * INVALID_ANALYSIS_CONFIGURATION: This code occurs when, for example, you're - * using a language that isn't supported by generative AI-powered post-contact summaries. - *

      - *
    • - *
    • - *

      - * INTERNAL_ERROR: Internal system error.

      - *
    • - *
    + *

    A unique identifier for the attachment.

    * @public */ - FailureCode?: RealTimeContactAnalysisPostContactSummaryFailureCode | undefined; -} + AttachmentId: string | undefined; -/** - *

    Object describing redaction applied to the segment.

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

    List of character intervals each describing a part of the text that was redacted. For - * OutputType.Raw, part of the original text that contains data that can be redacted. - * For OutputType.Redacted, part of the string with redaction tag.

    + *

    Status of the attachment.

    * @public */ - CharacterOffsets?: RealTimeContactAnalysisCharacterInterval[] | undefined; + Status?: ArtifactStatus | undefined; } /** + *

    Object describing time with which the segment is associated. It can have different + * representations of time. Currently supported: absoluteTime

    * @public - * @enum */ -export const RealTimeContactAnalysisSentimentLabel = { - NEGATIVE: "NEGATIVE", - NEUTRAL: "NEUTRAL", - POSITIVE: "POSITIVE", -} as const; +export type RealTimeContactAnalysisTimeData = + | RealTimeContactAnalysisTimeData.AbsoluteTimeMember + | RealTimeContactAnalysisTimeData.$UnknownMember; /** * @public */ -export type RealTimeContactAnalysisSentimentLabel = - (typeof RealTimeContactAnalysisSentimentLabel)[keyof typeof RealTimeContactAnalysisSentimentLabel]; +export namespace RealTimeContactAnalysisTimeData { + /** + *

    Time represented in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, + * 2019-11-08T02:41:28.172Z.

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

    The analyzed transcript segment.

    + *

    Segment containing list of attachments.

    * @public */ -export interface RealTimeContactAnalysisSegmentTranscript { +export interface RealTimeContactAnalysisSegmentAttachments { /** - *

    The identifier of the transcript.

    + *

    The identifier of the segment.

    * @public */ Id: string | undefined; @@ -229,731 +249,590 @@ export interface RealTimeContactAnalysisSegmentTranscript { ParticipantRole: ParticipantRole | undefined; /** - *

    The display name of the participant.

    + *

    The display name of the participant. Can be redacted.

    * @public */ DisplayName?: string | undefined; /** - *

    The content of the transcript. Can be redacted.

    + *

    List of objects describing an individual attachment.

    * @public */ - Content: string | undefined; + Attachments: RealTimeContactAnalysisAttachment[] | undefined; /** - *

    The type of content of the item. For example, text/plain.

    + *

    Field describing the time of the event. It can have different representations of time.

    * @public */ - ContentType?: string | undefined; + Time: RealTimeContactAnalysisTimeData | undefined; +} +/** + *

    Begin and end offsets for a part of text.

    + * @public + */ +export interface RealTimeContactAnalysisCharacterInterval { /** - *

    Field describing the time of the event. It can have different representations of time.

    + *

    The beginning of the character interval.

    * @public */ - Time: RealTimeContactAnalysisTimeData | undefined; + BeginOffsetChar: number | undefined; /** - *

    Object describing redaction that was applied to the transcript. If transcript has the field - * it means part of the transcript was redacted.

    + *

    The end of the character interval.

    * @public */ - Redaction?: RealTimeContactAnalysisTranscriptItemRedaction | undefined; + EndOffsetChar: number | undefined; +} +/** + *

    Transcript representation containing Id and list of character intervals that are associated + * with analysis data. For example, this object within a + * RealTimeContactAnalysisPointOfInterest in Category.MatchedDetails + * would have character interval describing part of the text that matched category.

    + * @public + */ +export interface RealTimeContactAnalysisTranscriptItemWithCharacterOffsets { /** - *

    The sentiment detected for this piece of transcript.

    + *

    Transcript identifier. Matches the identifier from one of the TranscriptSegments.

    * @public */ - Sentiment?: RealTimeContactAnalysisSentimentLabel | undefined; + Id: string | undefined; + + /** + *

    List of character intervals within transcript content/text.

    + * @public + */ + CharacterOffsets?: RealTimeContactAnalysisCharacterInterval | undefined; } /** - *

    An analyzed segment for a real-time analysis session.

    + *

    The section of the contact transcript segment that category rule was detected.

    * @public */ -export type RealtimeContactAnalysisSegment = - | RealtimeContactAnalysisSegment.AttachmentsMember - | RealtimeContactAnalysisSegment.CategoriesMember - | RealtimeContactAnalysisSegment.EventMember - | RealtimeContactAnalysisSegment.IssuesMember - | RealtimeContactAnalysisSegment.PostContactSummaryMember - | RealtimeContactAnalysisSegment.TranscriptMember - | RealtimeContactAnalysisSegment.$UnknownMember; +export interface RealTimeContactAnalysisPointOfInterest { + /** + *

    List of the transcript items (segments) that are associated with a given point of interest. + *

    + * @public + */ + TranscriptItems?: RealTimeContactAnalysisTranscriptItemWithCharacterOffsets[] | undefined; +} /** + *

    Provides information about the category rule that was matched.

    * @public */ -export namespace RealtimeContactAnalysisSegment { +export interface RealTimeContactAnalysisCategoryDetails { /** - *

    The analyzed transcript segment.

    + *

    List of PointOfInterest - objects describing a single match of a rule.

    * @public */ - export interface TranscriptMember { - Transcript: RealTimeContactAnalysisSegmentTranscript; - Categories?: never; - Issues?: never; - Event?: never; - Attachments?: never; - PostContactSummary?: never; - $unknown?: never; - } + PointsOfInterest: RealTimeContactAnalysisPointOfInterest[] | undefined; +} +/** + *

    The matched category rules.

    + * @public + */ +export interface RealTimeContactAnalysisSegmentCategories { /** - *

    The matched category rules.

    + *

    Map between the name of the matched rule and RealTimeContactAnalysisCategoryDetails.

    * @public */ - export interface CategoriesMember { - Transcript?: never; - Categories: RealTimeContactAnalysisSegmentCategories; - Issues?: never; - Event?: never; - Attachments?: never; - PostContactSummary?: never; - $unknown?: never; - } + MatchedDetails: Record | undefined; +} +/** + *

    Segment type describing a contact event.

    + * @public + */ +export interface RealTimeContactAnalysisSegmentEvent { /** - *

    Segment type containing a list of detected issues.

    + *

    The identifier of the contact event.

    * @public */ - export interface IssuesMember { - Transcript?: never; - Categories?: never; - Issues: RealTimeContactAnalysisSegmentIssues; - Event?: never; - Attachments?: never; - PostContactSummary?: never; - $unknown?: never; - } + Id: string | undefined; /** - *

    Segment type describing a contact event.

    + *

    The identifier of the participant.

    * @public */ - export interface EventMember { - Transcript?: never; - Categories?: never; - Issues?: never; - Event: RealTimeContactAnalysisSegmentEvent; - Attachments?: never; - PostContactSummary?: never; - $unknown?: never; - } + ParticipantId?: string | undefined; /** - *

    The analyzed attachments.

    + *

    The role of the participant. For example, is it a customer, agent, or system.

    * @public */ - export interface AttachmentsMember { - Transcript?: never; - Categories?: never; - Issues?: never; - Event?: never; - Attachments: RealTimeContactAnalysisSegmentAttachments; - PostContactSummary?: never; - $unknown?: never; - } + ParticipantRole?: ParticipantRole | undefined; /** - *

    Information about the post-contact summary.

    + *

    The display name of the participant. Can be redacted.

    * @public */ - export interface PostContactSummaryMember { - Transcript?: never; - Categories?: never; - Issues?: never; - Event?: never; - Attachments?: never; - PostContactSummary: RealTimeContactAnalysisSegmentPostContactSummary; - $unknown?: never; - } + DisplayName?: string | undefined; /** + *

    Type of the event. For example, + * application/vnd.amazonaws.connect.event.participant.left.

    * @public */ - export interface $UnknownMember { - Transcript?: never; - Categories?: never; - Issues?: never; - Event?: never; - Attachments?: never; - PostContactSummary?: never; - $unknown: [string, any]; - } + EventType: string | undefined; - export interface Visitor { - Transcript: (value: RealTimeContactAnalysisSegmentTranscript) => T; - Categories: (value: RealTimeContactAnalysisSegmentCategories) => T; - Issues: (value: RealTimeContactAnalysisSegmentIssues) => T; - Event: (value: RealTimeContactAnalysisSegmentEvent) => T; - Attachments: (value: RealTimeContactAnalysisSegmentAttachments) => T; - PostContactSummary: (value: RealTimeContactAnalysisSegmentPostContactSummary) => T; - _: (name: string, value: any) => T; - } - - export const visit = (value: RealtimeContactAnalysisSegment, visitor: Visitor): T => { - if (value.Transcript !== undefined) return visitor.Transcript(value.Transcript); - if (value.Categories !== undefined) return visitor.Categories(value.Categories); - if (value.Issues !== undefined) return visitor.Issues(value.Issues); - if (value.Event !== undefined) return visitor.Event(value.Event); - if (value.Attachments !== undefined) return visitor.Attachments(value.Attachments); - if (value.PostContactSummary !== undefined) return visitor.PostContactSummary(value.PostContactSummary); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; + /** + *

    Field describing the time of the event. It can have different representations of time.

    + * @public + */ + Time: RealTimeContactAnalysisTimeData | undefined; } /** - * @public - * @enum - */ -export const RealTimeContactAnalysisStatus = { - COMPLETED: "COMPLETED", - FAILED: "FAILED", - IN_PROGRESS: "IN_PROGRESS", -} as const; - -/** - * @public - */ -export type RealTimeContactAnalysisStatus = - (typeof RealTimeContactAnalysisStatus)[keyof typeof RealTimeContactAnalysisStatus]; - -/** + *

    Transcript representation containing Id, Content and list of character intervals that are + * associated with analysis data. For example, this object within an issue detected would describe + * both content that contains identified issue and intervals where that content is taken + * from.

    * @public */ -export interface ListRealtimeContactAnalysisSegmentsV2Response { +export interface RealTimeContactAnalysisTranscriptItemWithContent { /** - *

    The channel of the contact. Voice will not be returned.

    + *

    Part of the transcript content that contains identified issue. Can be redacted

    * @public */ - Channel: RealTimeContactAnalysisSupportedChannel | undefined; - - /** - *

    Status of real-time contact analysis.

    - * @public - */ - Status: RealTimeContactAnalysisStatus | undefined; + Content?: string | undefined; /** - *

    An analyzed transcript or category.

    + *

    Transcript identifier. Matches the identifier from one of the TranscriptSegments.

    * @public */ - Segments: RealtimeContactAnalysisSegment[] | undefined; + Id: string | undefined; /** - *

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

    + *

    Begin and end offsets for a part of text.

    * @public */ - NextToken?: string | undefined; + CharacterOffsets?: RealTimeContactAnalysisCharacterInterval | undefined; } /** - *

    Thrown for analyzed content when requested OutputType was not enabled for a given contact. - * For example, if an OutputType.Raw was requested for a contact that had `RedactedOnly` Redaction - * policy set in the flow.

    + *

    Potential issues that are detected based on an artificial intelligence analysis of each turn + * in the conversation.

    * @public */ -export class OutputTypeNotFoundException extends __BaseException { - readonly name: "OutputTypeNotFoundException" = "OutputTypeNotFoundException"; - readonly $fault: "client" = "client"; - Message?: string | undefined; +export interface RealTimeContactAnalysisIssueDetected { /** - * @internal + *

    List of the transcript items (segments) that are associated with a given issue.

    + * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "OutputTypeNotFoundException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, OutputTypeNotFoundException.prototype); - this.Message = opts.Message; - } + TranscriptItems: RealTimeContactAnalysisTranscriptItemWithContent[] | undefined; } /** + *

    Segment type containing a list of detected issues.

    * @public */ -export interface ListRoutingProfileQueuesRequest { +export interface RealTimeContactAnalysisSegmentIssues { /** - *

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

    + *

    List of the issues detected.

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

    The identifier of the routing profile.

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

    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.

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

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

    - * @public - */ - MaxResults?: number | undefined; + IssuesDetected: RealTimeContactAnalysisIssueDetected[] | undefined; } /** - *

    Contains summary information about a routing profile queue.

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

    The identifier for the queue.

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

    The Amazon Resource Name (ARN) of the queue.

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

    The name of the queue.

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

    The order in which contacts are to be handled for the queue. For more information, see - * Queues: priority and - * delay.

    - * @public - */ - Priority: number | undefined; - - /** - *

    The delay, in seconds, that a contact should be in the queue before they are routed to an - * available agent. For more information, see Queues: priority and - * delay in the Amazon Connect Administrator Guide.

    - * @public - */ - Delay: number | undefined; - - /** - *

    The channels this queue supports.

    - * @public - */ - Channel: Channel | undefined; -} +export const RealTimeContactAnalysisPostContactSummaryFailureCode = { + FAILED_SAFETY_GUIDELINES: "FAILED_SAFETY_GUIDELINES", + INSUFFICIENT_CONVERSATION_CONTENT: "INSUFFICIENT_CONVERSATION_CONTENT", + INTERNAL_ERROR: "INTERNAL_ERROR", + INVALID_ANALYSIS_CONFIGURATION: "INVALID_ANALYSIS_CONFIGURATION", + QUOTA_EXCEEDED: "QUOTA_EXCEEDED", +} as const; /** * @public */ -export interface ListRoutingProfileQueuesResponse { - /** - *

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

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

    Information about the routing profiles.

    - * @public - */ - RoutingProfileQueueConfigSummaryList?: RoutingProfileQueueConfigSummary[] | undefined; - - /** - *

    The timestamp when this resource was last modified.

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

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

    - * @public - */ - LastModifiedRegion?: string | undefined; -} +export type RealTimeContactAnalysisPostContactSummaryFailureCode = + (typeof RealTimeContactAnalysisPostContactSummaryFailureCode)[keyof typeof RealTimeContactAnalysisPostContactSummaryFailureCode]; /** * @public + * @enum */ -export interface ListRoutingProfilesRequest { - /** - *

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

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

    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.

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

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

    - * @public - */ - MaxResults?: number | undefined; -} +export const RealTimeContactAnalysisPostContactSummaryStatus = { + COMPLETED: "COMPLETED", + FAILED: "FAILED", +} as const; /** - *

    Contains summary information about a routing profile.

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

    The identifier of the routing profile.

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

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

    - * @public - */ - Arn?: string | undefined; +export type RealTimeContactAnalysisPostContactSummaryStatus = + (typeof RealTimeContactAnalysisPostContactSummaryStatus)[keyof typeof RealTimeContactAnalysisPostContactSummaryStatus]; +/** + *

    Information about the post-contact summary for a real-time contact segment.

    + * @public + */ +export interface RealTimeContactAnalysisSegmentPostContactSummary { /** - *

    The name of the routing profile.

    + *

    The content of the summary.

    * @public */ - Name?: string | undefined; + Content?: string | undefined; /** - *

    The timestamp when this resource was last modified.

    + *

    Whether the summary was successfully COMPLETED or FAILED to be generated.

    * @public */ - LastModifiedTime?: Date | undefined; + Status: RealTimeContactAnalysisPostContactSummaryStatus | undefined; /** - *

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

    + *

    If the summary failed to be generated, one of the following failure codes occurs:

    + *
      + *
    • + *

      + * QUOTA_EXCEEDED: The number of concurrent analytics jobs reached your service + * quota.

      + *
    • + *
    • + *

      + * INSUFFICIENT_CONVERSATION_CONTENT: The conversation needs to have at least + * one turn from both the participants in order to generate the summary.

      + *
    • + *
    • + *

      + * FAILED_SAFETY_GUIDELINES: The generated summary cannot be provided because it + * failed to meet system safety guidelines.

      + *
    • + *
    • + *

      + * INVALID_ANALYSIS_CONFIGURATION: This code occurs when, for example, you're + * using a language that isn't supported by generative AI-powered post-contact summaries. + *

      + *
    • + *
    • + *

      + * INTERNAL_ERROR: Internal system error.

      + *
    • + *
    * @public */ - LastModifiedRegion?: string | undefined; + FailureCode?: RealTimeContactAnalysisPostContactSummaryFailureCode | undefined; } /** + *

    Object describing redaction applied to the segment.

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

    Information about the routing profiles.

    - * @public - */ - RoutingProfileSummaryList?: RoutingProfileSummary[] | undefined; - +export interface RealTimeContactAnalysisTranscriptItemRedaction { /** - *

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

    + *

    List of character intervals each describing a part of the text that was redacted. For + * OutputType.Raw, part of the original text that contains data that can be redacted. + * For OutputType.Redacted, part of the string with redaction tag.

    * @public */ - NextToken?: string | undefined; + CharacterOffsets?: RealTimeContactAnalysisCharacterInterval[] | undefined; } /** * @public + * @enum */ -export interface ListRulesRequest { - /** - *

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

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

    The publish status of the rule.

    - * @public - */ - PublishStatus?: RulePublishStatus | undefined; - - /** - *

    The name of the event source.

    - * @public - */ - EventSourceName?: EventSourceName | undefined; - - /** - *

    The maximum number of results to return per page.

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

    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.

    - * @public - */ - NextToken?: string | undefined; -} +export const RealTimeContactAnalysisSentimentLabel = { + NEGATIVE: "NEGATIVE", + NEUTRAL: "NEUTRAL", + POSITIVE: "POSITIVE", +} as const; /** - *

    A list of ActionTypes associated with a rule.

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

    The name of the rule.

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

    A unique identifier for the rule.

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

    The Amazon Resource Name (ARN) of the rule.

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

    The name of the event source.

    - * @public - */ - EventSourceName: EventSourceName | undefined; - - /** - *

    The publish status of the rule.

    - * @public - */ - PublishStatus: RulePublishStatus | undefined; - - /** - *

    A list of ActionTypes associated with a rule.

    - * @public - */ - ActionSummaries: ActionSummary[] | undefined; +export type RealTimeContactAnalysisSentimentLabel = + (typeof RealTimeContactAnalysisSentimentLabel)[keyof typeof RealTimeContactAnalysisSentimentLabel]; +/** + *

    The analyzed transcript segment.

    + * @public + */ +export interface RealTimeContactAnalysisSegmentTranscript { /** - *

    The timestamp for when the rule was created.

    + *

    The identifier of the transcript.

    * @public */ - CreatedTime: Date | undefined; + Id: string | undefined; /** - *

    The timestamp for when the rule was last updated.

    + *

    The identifier of the participant.

    * @public */ - LastUpdatedTime: Date | undefined; -} + ParticipantId: string | undefined; -/** - * @public - */ -export interface ListRulesResponse { /** - *

    Summary information about a rule.

    + *

    The role of the participant. For example, is it a customer, agent, or system.

    * @public */ - RuleSummaryList: RuleSummary[] | undefined; + ParticipantRole: ParticipantRole | undefined; /** - *

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

    - * @public - */ - NextToken?: string | undefined; -} - -/** - * @public - */ -export interface ListSecurityKeysRequest { - /** - *

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

    + *

    The display name of the participant.

    * @public */ - InstanceId: string | undefined; + DisplayName?: string | undefined; /** - *

    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.

    + *

    The content of the transcript. Can be redacted.

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

    The maximum number of results to return per page.

    + *

    The type of content of the item. For example, text/plain.

    * @public */ - MaxResults?: number | undefined; -} + ContentType?: string | undefined; -/** - *

    Configuration information of the security key.

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

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    + *

    Field describing the time of the event. It can have different representations of time.

    * @public */ - AssociationId?: string | undefined; + Time: RealTimeContactAnalysisTimeData | undefined; /** - *

    The key of the security key.

    + *

    Object describing redaction that was applied to the transcript. If transcript has the field + * it means part of the transcript was redacted.

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

    When the security key was created.

    + *

    The sentiment detected for this piece of transcript.

    * @public */ - CreationTime?: Date | undefined; + Sentiment?: RealTimeContactAnalysisSentimentLabel | undefined; } /** + *

    An analyzed segment for a real-time analysis session.

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

    The security keys.

    - * @public - */ - SecurityKeys?: SecurityKey[] | undefined; - - /** - *

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

    - * @public - */ - NextToken?: string | undefined; -} +export type RealtimeContactAnalysisSegment = + | RealtimeContactAnalysisSegment.AttachmentsMember + | RealtimeContactAnalysisSegment.CategoriesMember + | RealtimeContactAnalysisSegment.EventMember + | RealtimeContactAnalysisSegment.IssuesMember + | RealtimeContactAnalysisSegment.PostContactSummaryMember + | RealtimeContactAnalysisSegment.TranscriptMember + | RealtimeContactAnalysisSegment.$UnknownMember; /** * @public */ -export interface ListSecurityProfileApplicationsRequest { +export namespace RealtimeContactAnalysisSegment { /** - *

    The identifier for the security profle.

    + *

    The analyzed transcript segment.

    * @public */ - SecurityProfileId: string | undefined; + export interface TranscriptMember { + Transcript: RealTimeContactAnalysisSegmentTranscript; + Categories?: never; + Issues?: never; + Event?: never; + Attachments?: never; + PostContactSummary?: never; + $unknown?: never; + } /** - *

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

    + *

    The matched category rules.

    * @public */ - InstanceId: string | undefined; + export interface CategoriesMember { + Transcript?: never; + Categories: RealTimeContactAnalysisSegmentCategories; + Issues?: never; + Event?: never; + Attachments?: never; + PostContactSummary?: never; + $unknown?: never; + } /** - *

    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.

    + *

    Segment type containing a list of detected issues.

    * @public */ - NextToken?: string | undefined; + export interface IssuesMember { + Transcript?: never; + Categories?: never; + Issues: RealTimeContactAnalysisSegmentIssues; + Event?: never; + Attachments?: never; + PostContactSummary?: never; + $unknown?: never; + } /** - *

    The maximum number of results to return per page.

    + *

    Segment type describing a contact event.

    * @public */ - MaxResults?: number | undefined; -} + export interface EventMember { + Transcript?: never; + Categories?: never; + Issues?: never; + Event: RealTimeContactAnalysisSegmentEvent; + Attachments?: never; + PostContactSummary?: never; + $unknown?: never; + } -/** - * @public - */ -export interface ListSecurityProfileApplicationsResponse { /** - *

    A list of the third-party application's metadata.

    + *

    The analyzed attachments.

    * @public */ - Applications?: Application[] | undefined; + export interface AttachmentsMember { + Transcript?: never; + Categories?: never; + Issues?: never; + Event?: never; + Attachments: RealTimeContactAnalysisSegmentAttachments; + PostContactSummary?: never; + $unknown?: never; + } /** - *

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

    + *

    Information about the post-contact summary.

    * @public */ - NextToken?: string | undefined; + export interface PostContactSummaryMember { + Transcript?: never; + Categories?: never; + Issues?: never; + Event?: never; + Attachments?: never; + PostContactSummary: RealTimeContactAnalysisSegmentPostContactSummary; + $unknown?: never; + } /** - *

    The timestamp when this resource was last modified.

    * @public */ - LastModifiedTime?: Date | undefined; + export interface $UnknownMember { + Transcript?: never; + Categories?: never; + Issues?: never; + Event?: never; + Attachments?: never; + PostContactSummary?: never; + $unknown: [string, any]; + } - /** - *

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

    - * @public - */ - LastModifiedRegion?: string | undefined; + export interface Visitor { + Transcript: (value: RealTimeContactAnalysisSegmentTranscript) => T; + Categories: (value: RealTimeContactAnalysisSegmentCategories) => T; + Issues: (value: RealTimeContactAnalysisSegmentIssues) => T; + Event: (value: RealTimeContactAnalysisSegmentEvent) => T; + Attachments: (value: RealTimeContactAnalysisSegmentAttachments) => T; + PostContactSummary: (value: RealTimeContactAnalysisSegmentPostContactSummary) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: RealtimeContactAnalysisSegment, visitor: Visitor): T => { + if (value.Transcript !== undefined) return visitor.Transcript(value.Transcript); + if (value.Categories !== undefined) return visitor.Categories(value.Categories); + if (value.Issues !== undefined) return visitor.Issues(value.Issues); + if (value.Event !== undefined) return visitor.Event(value.Event); + if (value.Attachments !== undefined) return visitor.Attachments(value.Attachments); + if (value.PostContactSummary !== undefined) return visitor.PostContactSummary(value.PostContactSummary); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; } /** * @public + * @enum */ -export interface ListSecurityProfilePermissionsRequest { - /** - *

    The identifier for the security profle.

    - * @public - */ - SecurityProfileId: string | undefined; +export const RealTimeContactAnalysisStatus = { + COMPLETED: "COMPLETED", + FAILED: "FAILED", + IN_PROGRESS: "IN_PROGRESS", +} as const; - /** - *

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

    - * @public - */ - InstanceId: string | undefined; +/** + * @public + */ +export type RealTimeContactAnalysisStatus = + (typeof RealTimeContactAnalysisStatus)[keyof typeof RealTimeContactAnalysisStatus]; +/** + * @public + */ +export interface ListRealtimeContactAnalysisSegmentsV2Response { /** - *

    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.

    + *

    The channel of the contact. Voice will not be returned.

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

    The maximum number of results to return per page.

    + *

    Status of real-time contact analysis.

    * @public */ - MaxResults?: number | undefined; -} + Status: RealTimeContactAnalysisStatus | undefined; -/** - * @public - */ -export interface ListSecurityProfilePermissionsResponse { /** - *

    The permissions granted to the security profile. For a complete list of valid permissions, - * see List - * of security profile permissions.

    + *

    An analyzed transcript or category.

    * @public */ - Permissions?: string[] | undefined; + Segments: RealtimeContactAnalysisSegment[] | undefined; /** *

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

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

    Thrown for analyzed content when requested OutputType was not enabled for a given contact. + * For example, if an OutputType.Raw was requested for a contact that had `RedactedOnly` Redaction + * policy set in the flow.

    + * @public + */ +export class OutputTypeNotFoundException extends __BaseException { + readonly name: "OutputTypeNotFoundException" = "OutputTypeNotFoundException"; + readonly $fault: "client" = "client"; + Message?: string | undefined; /** - *

    The timestamp when this resource was last modified.

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

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

    - * @public + * @internal */ - LastModifiedRegion?: string | undefined; + constructor(opts: __ExceptionOptionType) { + super({ + name: "OutputTypeNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, OutputTypeNotFoundException.prototype); + this.Message = opts.Message; + } } /** * @public */ -export interface ListSecurityProfilesRequest { +export interface ListRoutingProfileQueuesRequest { /** *

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

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

    The identifier of the routing profile.

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

    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.

    @@ -969,85 +848,84 @@ export interface ListSecurityProfilesRequest { } /** - *

    Contains information about a security profile.

    + *

    Contains summary information about a routing profile queue.

    * @public */ -export interface SecurityProfileSummary { +export interface RoutingProfileQueueConfigSummary { /** - *

    The identifier of the security profile.

    + *

    The identifier for the queue.

    * @public */ - Id?: string | undefined; + QueueId: string | undefined; /** - *

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

    + *

    The Amazon Resource Name (ARN) of the queue.

    * @public */ - Arn?: string | undefined; + QueueArn: string | undefined; /** - *

    The name of the security profile.

    + *

    The name of the queue.

    * @public */ - Name?: string | undefined; + QueueName: string | undefined; /** - *

    The timestamp when this resource was last modified.

    + *

    The order in which contacts are to be handled for the queue. For more information, see + * Queues: priority and + * delay.

    * @public */ - LastModifiedTime?: Date | undefined; + Priority: number | undefined; /** - *

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

    + *

    The delay, in seconds, that a contact should be in the queue before they are routed to an + * available agent. For more information, see Queues: priority and + * delay in the Amazon Connect Administrator Guide.

    * @public */ - LastModifiedRegion?: string | undefined; + Delay: number | undefined; + + /** + *

    The channels this queue supports.

    + * @public + */ + Channel: Channel | undefined; } /** * @public */ -export interface ListSecurityProfilesResponse { +export interface ListRoutingProfileQueuesResponse { /** - *

    Information about the security profiles.

    + *

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

    * @public */ - SecurityProfileSummaryList?: SecurityProfileSummary[] | undefined; + NextToken?: string | undefined; /** - *

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

    + *

    Information about the routing profiles.

    * @public */ - NextToken?: string | undefined; -} + RoutingProfileQueueConfigSummaryList?: RoutingProfileQueueConfigSummary[] | undefined; -/** - * @public - */ -export interface ListTagsForResourceRequest { /** - *

    The Amazon Resource Name (ARN) of the resource. All Amazon Connect resources (instances, queues, flows, routing - * profiles, etc) have an ARN. To locate the ARN for an instance, for example, see Find your Amazon Connect instance ID/ARN.

    + *

    The timestamp when this resource was last modified.

    * @public - */ - resourceArn: string | undefined; -} + */ + LastModifiedTime?: Date | undefined; -/** - * @public - */ -export interface ListTagsForResourceResponse { /** - *

    Information about the tags.

    + *

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

    * @public */ - tags?: Record | undefined; + LastModifiedRegion?: string | undefined; } /** * @public */ -export interface ListTaskTemplatesRequest { +export interface ListRoutingProfilesRequest { /** *

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

    * @public @@ -1057,103 +935,65 @@ export interface ListTaskTemplatesRequest { /** *

    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.

    - * - *

    It is not expected that you set this because the value returned in the previous response is - * always null.

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

    The maximum number of results to return per page.

    - * - *

    It is not expected that you set this.

    - *
    + *

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

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

    Marks a template as ACTIVE or INACTIVE for a task to refer to it. - * Tasks can only be created from ACTIVE templates. - * If a template is marked as INACTIVE, then a task that refers to this template cannot be created.

    - * @public - */ - Status?: TaskTemplateStatus | undefined; - - /** - *

    The name of the task template.

    - * @public - */ - Name?: string | undefined; } /** - *

    Contains summary information about the task template.

    + *

    Contains summary information about a routing profile.

    * @public */ -export interface TaskTemplateMetadata { +export interface RoutingProfileSummary { /** - *

    A unique identifier for the task template.

    + *

    The identifier of the routing profile.

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

    The Amazon Resource Name (ARN) of the task template.

    + *

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

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

    The name of the task template.

    + *

    The name of the routing profile.

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

    The description of the task template.

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

    Marks a template as ACTIVE or INACTIVE for a task to refer to it. - * Tasks can only be created from ACTIVE templates. - * If a template is marked as INACTIVE, then a task that refers to this template cannot be created.

    - * @public - */ - Status?: TaskTemplateStatus | undefined; - - /** - *

    The timestamp when the task template was last modified.

    + *

    The timestamp when this resource was last modified.

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

    The timestamp when the task template was created.

    + *

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

    * @public */ - CreatedTime?: Date | undefined; + LastModifiedRegion?: string | undefined; } /** * @public */ -export interface ListTaskTemplatesResponse { +export interface ListRoutingProfilesResponse { /** - *

    Provides details about a list of task templates belonging to an instance.

    + *

    Information about the routing profiles.

    * @public */ - TaskTemplates?: TaskTemplateMetadata[] | undefined; + RoutingProfileSummaryList?: RoutingProfileSummary[] | undefined; /** *

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

    - * - *

    This is always returned as a null in the response.

    - *
    * @public */ NextToken?: string | undefined; @@ -1162,193 +1002,120 @@ export interface ListTaskTemplatesResponse { /** * @public */ -export interface ListTrafficDistributionGroupsRequest { - /** - *

    The maximum number of results to return per page.

    - * @public - */ - MaxResults?: number | undefined; - +export interface ListRulesRequest { /** - *

    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.

    + *

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

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

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

    + *

    The publish status of the rule.

    * @public */ - InstanceId?: string | undefined; -} + PublishStatus?: RulePublishStatus | undefined; -/** - *

    Information about traffic distribution groups.

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

    The identifier of the traffic distribution group. - * This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. - * The ARN must be provided if the call is from the replicated Region.

    + *

    The name of the event source.

    * @public */ - Id?: string | undefined; + EventSourceName?: EventSourceName | undefined; /** - *

    The Amazon Resource Name (ARN) of the traffic distribution group.

    + *

    The maximum number of results to return per page.

    * @public */ - Arn?: string | undefined; + MaxResults?: number | undefined; /** - *

    The name of the traffic distribution group.

    + *

    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.

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

    A list of ActionTypes associated with a rule.

    + * @public + */ +export interface RuleSummary { /** - *

    The Amazon Resource Name (ARN) of the traffic distribution group.

    + *

    The name of the rule.

    * @public */ - InstanceArn?: string | undefined; + Name: string | undefined; /** - *

    The status of the traffic distribution group.

    - * + *

    A unique identifier for the rule.

    * @public */ - Status?: TrafficDistributionGroupStatus | undefined; + RuleId: string | undefined; /** - *

    Whether this is the default traffic distribution group created during instance - * replication. The default traffic distribution group cannot be deleted by the - * DeleteTrafficDistributionGroup API. The default traffic distribution group is deleted as - * part of the process for deleting a replica.

    + *

    The Amazon Resource Name (ARN) of the rule.

    * @public */ - IsDefault?: boolean | undefined; -} + RuleArn: string | undefined; -/** - * @public - */ -export interface ListTrafficDistributionGroupsResponse { /** - *

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

    + *

    The name of the event source.

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

    A list of traffic distribution groups.

    + *

    The publish status of the rule.

    * @public */ - TrafficDistributionGroupSummaryList?: TrafficDistributionGroupSummary[] | undefined; -} + PublishStatus: RulePublishStatus | undefined; -/** - * @public - */ -export interface ListTrafficDistributionGroupUsersRequest { /** - *

    The identifier of the traffic distribution group. - * This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. - * The ARN must be provided if the call is from the replicated Region.

    + *

    A list of ActionTypes associated with a rule.

    * @public */ - TrafficDistributionGroupId: string | undefined; + ActionSummaries: ActionSummary[] | undefined; /** - *

    The maximum number of results to return per page.

    + *

    The timestamp for when the rule was created.

    * @public */ - MaxResults?: number | undefined; + CreatedTime: Date | undefined; /** - *

    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.

    + *

    The timestamp for when the rule was last updated.

    * @public */ - NextToken?: string | undefined; + LastUpdatedTime: Date | undefined; } /** - *

    Summary information about a traffic distribution group user.

    * @public */ -export interface TrafficDistributionGroupUserSummary { +export interface ListRulesResponse { /** - *

    The identifier for the user. This can be the ID or the ARN of the user.

    + *

    Summary information about a rule.

    * @public */ - UserId?: string | undefined; -} + RuleSummaryList: RuleSummary[] | undefined; -/** - * @public - */ -export interface ListTrafficDistributionGroupUsersResponse { /** *

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

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

    A list of traffic distribution group users.

    - * @public - */ - TrafficDistributionGroupUserSummaryList?: TrafficDistributionGroupUserSummary[] | undefined; } /** - *

    Provides summary information about the use cases for the specified integration - * association.

    * @public */ -export interface ListUseCasesRequest { +export interface ListSecurityKeysRequest { /** *

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

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

    The identifier for the integration association.

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

    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.

    @@ -1364,41 +1131,38 @@ export interface ListUseCasesRequest { } /** - *

    Contains the - * use - * case.

    + *

    Configuration information of the security key.

    * @public */ -export interface UseCase { +export interface SecurityKey { /** - *

    The identifier for the use case.

    + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    * @public */ - UseCaseId?: string | undefined; + AssociationId?: string | undefined; /** - *

    The Amazon Resource Name (ARN) for the use case.

    + *

    The key of the security key.

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

    The type of use case to associate to the integration association. Each integration - * association can have only one of each use case type.

    + *

    When the security key was created.

    * @public */ - UseCaseType?: UseCaseType | undefined; + CreationTime?: Date | undefined; } /** * @public */ -export interface ListUseCasesResponse { +export interface ListSecurityKeysResponse { /** - *

    The use cases.

    + *

    The security keys.

    * @public */ - UseCaseSummaryList?: UseCase[] | undefined; + SecurityKeys?: SecurityKey[] | undefined; /** *

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

    @@ -1407,10 +1171,16 @@ export interface ListUseCasesResponse { NextToken?: string | undefined; } -/** - * @public - */ -export interface ListUserHierarchyGroupsRequest { +/** + * @public + */ +export interface ListSecurityProfileApplicationsRequest { + /** + *

    The identifier for the security profle.

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

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

    * @public @@ -1425,7 +1195,7 @@ export interface ListUserHierarchyGroupsRequest { NextToken?: string | undefined; /** - *

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

    + *

    The maximum number of results to return per page.

    * @public */ MaxResults?: number | undefined; @@ -1434,40 +1204,51 @@ export interface ListUserHierarchyGroupsRequest { /** * @public */ -export interface ListUserHierarchyGroupsResponse { +export interface ListSecurityProfileApplicationsResponse { /** - *

    Information about the hierarchy groups.

    + *

    A list of the third-party application's metadata.

    * @public */ - UserHierarchyGroupSummaryList?: HierarchyGroupSummary[] | undefined; + Applications?: Application[] | undefined; /** *

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

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

    The timestamp when this resource was last modified.

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

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

    + * @public + */ + LastModifiedRegion?: string | undefined; } /** * @public */ -export interface ListUserProficienciesRequest { +export interface ListSecurityProfilePermissionsRequest { /** - *

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

    + *

    The identifier for the security profle.

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

    The identifier of the user account.

    + *

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

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

    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.

    + *

    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.

    * @public */ NextToken?: string | undefined; @@ -1482,27 +1263,29 @@ export interface ListUserProficienciesRequest { /** * @public */ -export interface ListUserProficienciesResponse { +export interface ListSecurityProfilePermissionsResponse { /** - *

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

    + *

    The permissions granted to the security profile. For a complete list of valid permissions, + * see List + * of security profile permissions.

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

    Information about the user proficiencies.

    + *

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

    * @public */ - UserProficiencyList?: UserProficiency[] | undefined; + NextToken?: string | undefined; /** - *

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

    + *

    The timestamp when this resource was last modified.

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

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

    + *

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

    * @public */ LastModifiedRegion?: string | undefined; @@ -1511,7 +1294,7 @@ export interface ListUserProficienciesResponse { /** * @public */ -export interface ListUsersRequest { +export interface ListSecurityProfilesRequest { /** *

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

    * @public @@ -1533,27 +1316,27 @@ export interface ListUsersRequest { } /** - *

    Contains summary information about a user.

    + *

    Contains information about a security profile.

    * @public */ -export interface UserSummary { +export interface SecurityProfileSummary { /** - *

    The identifier of the user account.

    + *

    The identifier of the security profile.

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

    The Amazon Resource Name (ARN) of the user account.

    + *

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

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

    The Amazon Connect user name of the user account.

    + *

    The name of the security profile.

    * @public */ - Username?: string | undefined; + Name?: string | undefined; /** *

    The timestamp when this resource was last modified.

    @@ -1571,12 +1354,12 @@ export interface UserSummary { /** * @public */ -export interface ListUsersResponse { +export interface ListSecurityProfilesResponse { /** - *

    Information about the users.

    + *

    Information about the security profiles.

    * @public */ - UserSummaryList?: UserSummary[] | undefined; + SecurityProfileSummaryList?: SecurityProfileSummary[] | undefined; /** *

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

    @@ -1588,90 +1371,136 @@ export interface ListUsersResponse { /** * @public */ -export interface ListViewsRequest { +export interface ListTagsForResourceRequest { /** - *

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

    + *

    The Amazon Resource Name (ARN) of the resource. All Amazon Connect resources (instances, queues, flows, routing + * profiles, etc) have an ARN. To locate the ARN for an instance, for example, see Find your Amazon Connect instance ID/ARN.

    * @public */ - InstanceId: string | undefined; + resourceArn: string | undefined; +} +/** + * @public + */ +export interface ListTagsForResourceResponse { /** - *

    The type of the view.

    + *

    Information about the tags.

    * @public */ - Type?: ViewType | undefined; + tags?: Record | undefined; +} + +/** + * @public + */ +export interface ListTaskTemplatesRequest { + /** + *

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

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

    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.

    + *

    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.

    + * + *

    It is not expected that you set this because the value returned in the previous response is + * always null.

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

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

    + *

    The maximum number of results to return per page.

    + * + *

    It is not expected that you set this.

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

    Marks a template as ACTIVE or INACTIVE for a task to refer to it. + * Tasks can only be created from ACTIVE templates. + * If a template is marked as INACTIVE, then a task that refers to this template cannot be created.

    + * @public + */ + Status?: TaskTemplateStatus | undefined; + + /** + *

    The name of the task template.

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

    A summary of a view's metadata.

    + *

    Contains summary information about the task template.

    * @public */ -export interface ViewSummary { +export interface TaskTemplateMetadata { /** - *

    The identifier of the view.

    + *

    A unique identifier for the task template.

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

    The Amazon Resource Name (ARN) of the view.

    + *

    The Amazon Resource Name (ARN) of the task template.

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

    The name of the view.

    + *

    The name of the task template.

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

    The type of the view.

    + *

    The description of the task template.

    * @public */ - Type?: ViewType | undefined; + Description?: string | undefined; /** - *

    Indicates the view status as either SAVED or PUBLISHED. The - * PUBLISHED status will initiate validation on the content.

    + *

    Marks a template as ACTIVE or INACTIVE for a task to refer to it. + * Tasks can only be created from ACTIVE templates. + * If a template is marked as INACTIVE, then a task that refers to this template cannot be created.

    * @public */ - Status?: ViewStatus | undefined; + Status?: TaskTemplateStatus | undefined; /** - *

    The description of the view.

    + *

    The timestamp when the task template was last modified.

    * @public */ - Description?: string | undefined; + LastModifiedTime?: Date | undefined; + + /** + *

    The timestamp when the task template was created.

    + * @public + */ + CreatedTime?: Date | undefined; } /** * @public */ -export interface ListViewsResponse { +export interface ListTaskTemplatesResponse { /** - *

    A list of view summaries.

    + *

    Provides details about a list of task templates belonging to an instance.

    * @public */ - ViewsSummaryList?: ViewSummary[] | undefined; + TaskTemplates?: TaskTemplateMetadata[] | undefined; /** - *

    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.

    + *

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

    + * + *

    This is always returned as a null in the response.

    + *
    * @public */ NextToken?: string | undefined; @@ -1680,1083 +1509,1067 @@ export interface ListViewsResponse { /** * @public */ -export interface ListViewVersionsRequest { +export interface ListTrafficDistributionGroupsRequest { /** - *

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

    + *

    The maximum number of results to return per page.

    * @public */ - InstanceId: string | undefined; + MaxResults?: number | undefined; /** - *

    The identifier of the view. Both ViewArn and ViewId can be - * used.

    + *

    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.

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

    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.

    + *

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

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

    Information about traffic distribution groups.

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

    The identifier of the traffic distribution group. + * This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. + * The ARN must be provided if the call is from the replicated Region.

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

    The Amazon Resource Name (ARN) of the traffic distribution group.

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

    The name of the traffic distribution group.

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

    The Amazon Resource Name (ARN) of the traffic distribution group.

    + * @public + */ + InstanceArn?: string | undefined; + + /** + *

    The status of the traffic distribution group.

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

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

    + *

    Whether this is the default traffic distribution group created during instance + * replication. The default traffic distribution group cannot be deleted by the + * DeleteTrafficDistributionGroup API. The default traffic distribution group is deleted as + * part of the process for deleting a replica.

    * @public */ - MaxResults?: number | undefined; + IsDefault?: boolean | undefined; } /** - *

    A summary of a view version's metadata.

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

    The identifier of the view version.

    - * @public - */ - Id?: string | undefined; - +export interface ListTrafficDistributionGroupsResponse { /** - *

    The Amazon Resource Name (ARN) of the view version.

    + *

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

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

    The description of the view version.

    + *

    A list of traffic distribution groups.

    * @public */ - Description?: string | undefined; + TrafficDistributionGroupSummaryList?: TrafficDistributionGroupSummary[] | undefined; +} +/** + * @public + */ +export interface ListTrafficDistributionGroupUsersRequest { /** - *

    The name of the view version.

    + *

    The identifier of the traffic distribution group. + * This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. + * The ARN must be provided if the call is from the replicated Region.

    * @public */ - Name?: string | undefined; + TrafficDistributionGroupId: string | undefined; /** - *

    The type of the view version.

    + *

    The maximum number of results to return per page.

    * @public */ - Type?: ViewType | undefined; + MaxResults?: number | undefined; /** - *

    The sequentially incremented version of the view version.

    + *

    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.

    * @public */ - Version?: number | undefined; + NextToken?: string | undefined; +} +/** + *

    Summary information about a traffic distribution group user.

    + * @public + */ +export interface TrafficDistributionGroupUserSummary { /** - *

    The description of the view version.

    + *

    The identifier for the user. This can be the ID or the ARN of the user.

    * @public */ - VersionDescription?: string | undefined; + UserId?: string | undefined; } /** * @public */ -export interface ListViewVersionsResponse { +export interface ListTrafficDistributionGroupUsersResponse { /** - *

    A list of view version summaries.

    + *

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

    * @public */ - ViewVersionSummaryList?: ViewVersionSummary[] | undefined; + NextToken?: string | undefined; /** - *

    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.

    + *

    A list of traffic distribution group users.

    * @public */ - NextToken?: string | undefined; + TrafficDistributionGroupUserSummaryList?: TrafficDistributionGroupUserSummary[] | undefined; } /** + *

    Provides summary information about the use cases for the specified integration + * association.

    * @public */ -export interface MonitorContactRequest { +export interface ListUseCasesRequest { /** - *

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

    + *

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

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

    The identifier of the contact.

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

    The identifier of the user account.

    + *

    The identifier for the integration association.

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

    Specify which monitoring actions the user is allowed to take. For example, whether the user - * is allowed to escalate from silent monitoring to barge. AllowedMonitorCapabilities is required if - * barge is enabled.

    + *

    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.

    * @public */ - AllowedMonitorCapabilities?: MonitorCapability[] | undefined; + NextToken?: string | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    The maximum number of results to return per page.

    * @public */ - ClientToken?: string | undefined; + MaxResults?: number | undefined; } /** + *

    Contains the + * use + * case.

    * @public */ -export interface MonitorContactResponse { +export interface UseCase { /** - *

    The identifier of the contact.

    + *

    The identifier for the use case.

    * @public */ - ContactId?: string | undefined; + UseCaseId?: string | undefined; /** - *

    The ARN of the contact.

    + *

    The Amazon Resource Name (ARN) for the use case.

    * @public */ - ContactArn?: string | undefined; -} + UseCaseArn?: string | undefined; -/** - * @public - */ -export interface PauseContactRequest { /** - *

    The identifier of the contact.

    + *

    The type of use case to associate to the integration association. Each integration + * association can have only one of each use case type.

    * @public */ - ContactId: string | undefined; + UseCaseType?: UseCaseType | undefined; +} +/** + * @public + */ +export interface ListUseCasesResponse { /** - *

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

    + *

    The use cases.

    * @public */ - InstanceId: string | undefined; + UseCaseSummaryList?: UseCase[] | undefined; /** - *

    The identifier of the flow.

    + *

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

    * @public */ - ContactFlowId?: string | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface PauseContactResponse {} - -/** - * @public - */ -export interface PutUserStatusRequest { +export interface ListUserHierarchyGroupsRequest { /** - *

    The identifier of the user.

    + *

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

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

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

    + *

    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.

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

    The identifier of the agent status.

    + *

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

    * @public */ - AgentStatusId: string | undefined; + MaxResults?: number | undefined; } /** * @public */ -export interface PutUserStatusResponse {} - -/** - * @public - */ -export interface ReleasePhoneNumberRequest { +export interface ListUserHierarchyGroupsResponse { /** - *

    A unique identifier for the phone number.

    + *

    Information about the hierarchy groups.

    * @public */ - PhoneNumberId: string | undefined; + UserHierarchyGroupSummaryList?: HierarchyGroupSummary[] | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

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

    * @public */ - ClientToken?: string | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface ReplicateInstanceRequest { +export interface ListUserProficienciesRequest { /** - *

    The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. You can provide the InstanceId, or the entire ARN.

    + *

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

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

    The Amazon Web Services Region where to replicate the Amazon Connect instance.

    + *

    The identifier of the user account.

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

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    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.

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

    The alias for the replicated instance. The ReplicaAlias must be unique.

    + *

    The maximum number of results to return per page.

    * @public */ - ReplicaAlias: string | undefined; + MaxResults?: number | undefined; } /** * @public */ -export interface ReplicateInstanceResponse { +export interface ListUserProficienciesResponse { /** - *

    The identifier of the replicated instance. You can find the instanceId in the - * ARN of the instance. The replicated instance has the same identifier as the instance it was - * replicated from.

    + *

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

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

    The Amazon Resource Name (ARN) of the replicated instance.

    + *

    Information about the user proficiencies.

    * @public */ - Arn?: string | undefined; + UserProficiencyList?: UserProficiency[] | undefined; + + /** + *

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

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

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

    + * @public + */ + LastModifiedRegion?: string | undefined; } /** * @public */ -export interface ResumeContactRequest { +export interface ListUsersRequest { /** - *

    The identifier of the contact.

    + *

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

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

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

    + *

    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.

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

    The identifier of the flow.

    + *

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

    * @public */ - ContactFlowId?: string | undefined; + MaxResults?: number | undefined; } /** + *

    Contains summary information about a user.

    * @public */ -export interface ResumeContactResponse {} - -/** - * @public - * @enum - */ -export const ContactRecordingType = { - AGENT: "AGENT", - IVR: "IVR", - SCREEN: "SCREEN", -} as const; - -/** - * @public - */ -export type ContactRecordingType = (typeof ContactRecordingType)[keyof typeof ContactRecordingType]; +export interface UserSummary { + /** + *

    The identifier of the user account.

    + * @public + */ + Id?: string | undefined; -/** - * @public - */ -export interface ResumeContactRecordingRequest { /** - *

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

    + *

    The Amazon Resource Name (ARN) of the user account.

    * @public */ - InstanceId: string | undefined; + Arn?: string | undefined; /** - *

    The identifier of the contact.

    + *

    The Amazon Connect user name of the user account.

    * @public */ - ContactId: string | undefined; + Username?: string | undefined; /** - *

    The identifier of the contact. This is the identifier of the contact associated with the - * first interaction with the contact center.

    + *

    The timestamp when this resource was last modified.

    * @public */ - InitialContactId: string | undefined; + LastModifiedTime?: Date | undefined; /** - *

    The type of recording being operated on.

    + *

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

    * @public */ - ContactRecordingType?: ContactRecordingType | undefined; + LastModifiedRegion?: string | undefined; } /** * @public */ -export interface ResumeContactRecordingResponse {} - -/** - * @public - */ -export interface SearchAgentStatusesResponse { +export interface ListUsersResponse { /** - *

    The search criteria to be used to return agent statuses.

    + *

    Information about the users.

    * @public */ - AgentStatuses?: AgentStatus[] | undefined; + UserSummaryList?: UserSummary[] | undefined; /** *

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

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

    The total number of agent statuses which matched your search query.

    - * @public - */ - ApproximateTotalCount?: number | undefined; } /** * @public */ -export interface SearchAvailablePhoneNumbersRequest { +export interface ListViewsRequest { /** - *

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

    + *

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

    * @public */ - TargetArn?: string | undefined; + InstanceId: string | undefined; /** - *

    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. You must enter InstanceId or TargetArn.

    + *

    The type of the view.

    * @public */ - InstanceId?: string | undefined; + Type?: ViewType | undefined; /** - *

    The ISO country code.

    + *

    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.

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

    The type of phone number.

    + *

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

    * @public */ - PhoneNumberType: PhoneNumberType | undefined; + MaxResults?: number | undefined; +} +/** + *

    A summary of a view's metadata.

    + * @public + */ +export interface ViewSummary { /** - *

    The prefix of the phone number. If provided, it must contain + as part of the country code.

    + *

    The identifier of the view.

    * @public */ - PhoneNumberPrefix?: string | undefined; + Id?: string | undefined; /** - *

    The maximum number of results to return per page.

    + *

    The Amazon Resource Name (ARN) of the view.

    * @public */ - MaxResults?: number | undefined; + Arn?: string | undefined; /** - *

    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.

    + *

    The name of the view.

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

    Information about available phone numbers.

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

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

    + *

    The type of the view.

    * @public */ - PhoneNumber?: string | undefined; + Type?: ViewType | undefined; /** - *

    The ISO country code.

    + *

    Indicates the view status as either SAVED or PUBLISHED. The + * PUBLISHED status will initiate validation on the content.

    * @public */ - PhoneNumberCountryCode?: PhoneNumberCountryCode | undefined; + Status?: ViewStatus | undefined; /** - *

    The type of phone number.

    + *

    The description of the view.

    * @public */ - PhoneNumberType?: PhoneNumberType | undefined; + Description?: string | undefined; } /** * @public */ -export interface SearchAvailablePhoneNumbersResponse { +export interface ListViewsResponse { /** - *

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

    + *

    A list of view summaries.

    * @public */ - NextToken?: string | undefined; + ViewsSummaryList?: ViewSummary[] | undefined; /** - *

    A list of available phone numbers that you can claim to your Amazon Connect instance or traffic distribution group.

    + *

    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.

    * @public */ - AvailableNumbersList?: AvailableNumberSummary[] | undefined; + NextToken?: string | undefined; } /** - *

    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.

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

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

    + *

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

    * @public */ - OrConditions?: TagCondition[][] | undefined; + InstanceId: string | undefined; /** - *

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

    + *

    The identifier of the view. Both ViewArn and ViewId can be + * used.

    * @public */ - AndConditions?: TagCondition[] | undefined; + ViewId: string | undefined; /** - *

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

    + *

    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.

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

    The search criteria to be used to return flow modules.

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

    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 maximum number of results to return per page. The default MaxResult size is 100.

    * @public */ - TagFilter?: ControlPlaneTagFilter | undefined; + MaxResults?: number | undefined; } /** + *

    A summary of a view version's metadata.

    * @public */ -export interface SearchContactFlowModulesResponse { +export interface ViewVersionSummary { /** - *

    The search criteria to be used to return flow modules.

    + *

    The identifier of the view version.

    * @public */ - ContactFlowModules?: ContactFlowModule[] | undefined; + Id?: string | undefined; /** - *

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

    + *

    The Amazon Resource Name (ARN) of the view version.

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

    The total number of flows which matched your search query.

    + *

    The description of the view version.

    * @public */ - ApproximateTotalCount?: number | undefined; -} + Description?: string | undefined; -/** - *

    Filters to be applied to search results.

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

    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 name of the view version.

    * @public */ - TagFilter?: ControlPlaneTagFilter | undefined; -} + Name?: string | undefined; -/** - * @public - */ -export interface SearchContactFlowsResponse { /** - *

    Information about the flows.

    + *

    The type of the view version.

    * @public */ - ContactFlows?: ContactFlow[] | undefined; + Type?: ViewType | undefined; /** - *

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

    + *

    The sequentially incremented version of the view version.

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

    The total number of flows which matched your search query.

    + *

    The description of the view version.

    * @public */ - ApproximateTotalCount?: number | undefined; + VersionDescription?: string | undefined; } /** * @public - * @enum */ -export const SearchContactsMatchType = { - MATCH_ALL: "MATCH_ALL", - MATCH_ANY: "MATCH_ANY", -} as const; +export interface ListViewVersionsResponse { + /** + *

    A list of view version summaries.

    + * @public + */ + ViewVersionSummaryList?: ViewVersionSummary[] | undefined; -/** - * @public - */ -export type SearchContactsMatchType = (typeof SearchContactsMatchType)[keyof typeof SearchContactsMatchType]; + /** + *

    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.

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

    A structure that defines search criteria base on words or phrases, participants in the - * Contact Lens conversational analytics transcript.

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

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

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

    The identifier of the contact.

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

    The participant role in a transcript

    + *

    The identifier of the user account.

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

    The words or phrases used to search within a transcript.

    + *

    Specify which monitoring actions the user is allowed to take. For example, whether the user + * is allowed to escalate from silent monitoring to barge. AllowedMonitorCapabilities is required if + * barge is enabled.

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

    The match type combining search criteria using multiple search texts in a transcript - * criteria.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - MatchType: SearchContactsMatchType | undefined; + ClientToken?: string | undefined; } /** - *

    A structure that defines search criteria and matching logic to search for contacts by - * matching text with transcripts analyzed by Amazon Connect Contact Lens.

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

    The list of search criteria based on Contact Lens conversational analytics - * transcript.

    + *

    The identifier of the contact.

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

    The match type combining search criteria using multiple transcript criteria.

    + *

    The ARN of the contact.

    * @public */ - MatchType?: SearchContactsMatchType | undefined; + ContactArn?: string | undefined; } /** - *

    A structure that defines search criteria for contacts using analysis outputs from Amazon Connect Contact Lens.

    * @public */ -export interface ContactAnalysis { +export interface PauseContactRequest { /** - *

    Search criteria based on transcript analyzed by Amazon Connect Contact Lens.

    + *

    The identifier of the contact.

    * @public */ - Transcript?: Transcript | undefined; -} + ContactId: string | undefined; -/** - *

    The search criteria based on user-defined contact attribute key and values to search - * on.

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

    The key containing a searchable user-defined contact attribute.

    + *

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

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

    The list of values to search for within a user-defined contact attribute.

    + *

    The identifier of the flow.

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

    A structure that defines search criteria based on user-defined contact attributes that are - * configured for contact search.

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

    The list of criteria based on user-defined contact attributes that are configured for - * contact search.

    - * @public - */ - Criteria: SearchableContactAttributesCriteria[] | undefined; +export interface PauseContactResponse {} +/** + * @public + */ +export interface PutUserStatusRequest { /** - *

    The match type combining search criteria using multiple searchable contact - * attributes.

    + *

    The identifier of the user.

    * @public */ - MatchType?: SearchContactsMatchType | undefined; -} + UserId: string | undefined; -/** - *

    The search criteria based on searchable segment attribute key and values to search - * on.

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

    The key containing a searchable segment attribute.

    + *

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

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

    The list of values to search for within a searchable segment attribute.

    + *

    The identifier of the agent status.

    * @public */ - Values: string[] | undefined; + AgentStatusId: string | undefined; } /** - *

    The search criteria based on searchable segment attributes of a contact

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

    The list of criteria based on searchable segment attributes.

    - * @public - */ - Criteria: SearchableSegmentAttributesCriteria[] | undefined; - - /** - *

    The match type combining search criteria using multiple searchable segment - * attributes.

    - * @public - */ - MatchType?: SearchContactsMatchType | undefined; -} +export interface PutUserStatusResponse {} /** - *

    A structure of search criteria to be used to return contacts.

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

    The identifiers of agents who handled the contacts.

    + *

    A unique identifier for the phone number.

    * @public */ - AgentIds?: string[] | undefined; + PhoneNumberId: string | undefined; /** - *

    The agent hierarchy groups of the agent at the time of handling the contact.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - AgentHierarchyGroups?: AgentHierarchyGroups | undefined; + ClientToken?: string | undefined; +} +/** + * @public + */ +export interface ReplicateInstanceRequest { /** - *

    The list of channels associated with contacts.

    + *

    The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. You can provide the InstanceId, or the entire ARN.

    * @public */ - Channels?: Channel[] | undefined; + InstanceId: string | undefined; /** - *

    Search criteria based on analysis outputs from Amazon Connect Contact Lens.

    + *

    The Amazon Web Services Region where to replicate the Amazon Connect instance.

    * @public */ - ContactAnalysis?: ContactAnalysis | undefined; + ReplicaRegion: string | undefined; /** - *

    The list of initiation methods associated with contacts.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - InitiationMethods?: ContactInitiationMethod[] | undefined; + ClientToken?: string | undefined; /** - *

    The list of queue IDs associated with contacts.

    + *

    The alias for the replicated instance. The ReplicaAlias must be unique.

    * @public */ - QueueIds?: string[] | undefined; + ReplicaAlias: string | undefined; +} +/** + * @public + */ +export interface ReplicateInstanceResponse { /** - *

    The search criteria based on user-defined contact attributes that have been configured for - * contact search. For more information, see Search by custom contact - * attributes in the Amazon Connect Administrator Guide.

    - * - *

    To use SearchableContactAttributes in a search request, the - * GetContactAttributes action is required to perform an API request. For more - * information, see https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html#amazonconnect-actions-as-permissionsActions defined by Amazon Connect.

    - *
    + *

    The identifier of the replicated instance. You can find the instanceId in the + * ARN of the instance. The replicated instance has the same identifier as the instance it was + * replicated from.

    * @public */ - SearchableContactAttributes?: SearchableContactAttributes | undefined; + Id?: string | undefined; /** - *

    The search criteria based on searchable segment attributes of a contact.

    + *

    The Amazon Resource Name (ARN) of the replicated instance.

    * @public */ - SearchableSegmentAttributes?: SearchableSegmentAttributes | undefined; + Arn?: string | undefined; } -/** - * @public - * @enum - */ -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 */ -export type SortableFieldName = (typeof SortableFieldName)[keyof typeof SortableFieldName]; +export interface ResumeContactRequest { + /** + *

    The identifier of the contact.

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

    A structure that defines the field name to sort by and a sort order.

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

    The name of the field on which to sort.

    + *

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

    * @public */ - FieldName: SortableFieldName | undefined; + InstanceId: string | undefined; /** - *

    An ascending or descending sort.

    + *

    The identifier of the flow.

    * @public */ - Order: SortOrder | undefined; + ContactFlowId?: string | undefined; } +/** + * @public + */ +export interface ResumeContactResponse {} + /** * @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", +export const ContactRecordingType = { + AGENT: "AGENT", + IVR: "IVR", + SCREEN: "SCREEN", } as const; /** * @public */ -export type SearchContactsTimeRangeType = - (typeof SearchContactsTimeRangeType)[keyof typeof SearchContactsTimeRangeType]; +export type ContactRecordingType = (typeof ContactRecordingType)[keyof typeof ContactRecordingType]; /** - *

    A structure of time range that you want to search results.

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

    The type of timestamp to search.

    - * @public - */ - Type: SearchContactsTimeRangeType | undefined; - +export interface ResumeContactRecordingRequest { /** - *

    The start time of the time range.

    + *

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

    * @public */ - StartTime: Date | undefined; + InstanceId: string | undefined; /** - *

    The end time of the time range.

    + *

    The identifier of the contact.

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

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

    + *

    The identifier of the contact. This is the identifier of the contact associated with the + * first interaction with the contact center.

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

    Time range that you want to search results.

    + *

    The type of recording being operated on.

    * @public */ - TimeRange: SearchContactsTimeRange | undefined; + ContactRecordingType?: ContactRecordingType | undefined; +} - /** - *

    The search criteria to be used to return contacts.

    - * @public - */ - SearchCriteria?: SearchCriteria | undefined; +/** + * @public + */ +export interface ResumeContactRecordingResponse {} +/** + * @public + */ +export interface SearchAgentStatusesResponse { /** - *

    The maximum number of results to return per page.

    + *

    The search criteria to be used to return agent statuses.

    * @public */ - MaxResults?: number | undefined; + AgentStatuses?: AgentStatus[] | undefined; /** - *

    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.

    + *

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

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

    Specifies a field to sort by and a sort order.

    + *

    The total number of agent statuses which matched your search query.

    * @public */ - Sort?: Sort | undefined; + ApproximateTotalCount?: number | undefined; } /** - *

    Information about the agent who accepted the contact.

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

    The identifier of the agent who accepted the contact.

    - * @public - */ - Id?: string | undefined; - +export interface SearchAvailablePhoneNumbersRequest { /** - *

    The timestamp when the contact was connected to the agent.

    + *

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

    * @public */ - ConnectedToAgentTimestamp?: Date | undefined; -} + TargetArn?: string | undefined; -/** - *

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

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

    The unique identifier for the queue.

    + *

    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. You must enter InstanceId or TargetArn.

    * @public */ - Id?: string | undefined; + InstanceId?: string | undefined; /** - *

    The timestamp when the contact was added to the queue.

    + *

    The ISO country code.

    * @public */ - EnqueueTimestamp?: Date | undefined; -} + PhoneNumberCountryCode: PhoneNumberCountryCode | undefined; -/** - *

    The value of a segment attribute. This is structured as a map with a single key-value pair. - * The key 'valueString' indicates that the attribute type is a string, and its corresponding value - * is the actual string value of the segment attribute.

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

    The value of a segment attribute represented as a string.

    + *

    The type of phone number.

    * @public */ - ValueString?: string | undefined; -} + PhoneNumberType: PhoneNumberType | undefined; -/** - *

    Information of returned contact.

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

    The Amazon Resource Name (ARN) of the contact.

    + *

    The prefix of the phone number. If provided, it must contain + as part of the country code.

    * @public */ - Arn?: string | undefined; + PhoneNumberPrefix?: string | undefined; /** - *

    The identifier of the contact summary.

    + *

    The maximum number of results to return per page.

    * @public */ - Id?: string | undefined; + MaxResults?: number | undefined; /** - *

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

    + *

    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.

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

    Information about available phone numbers.

    + * @public + */ +export interface AvailableNumberSummary { /** - *

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

    + *

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

    * @public */ - PreviousContactId?: string | undefined; + PhoneNumber?: string | undefined; /** - *

    Indicates how the contact was initiated.

    + *

    The ISO country code.

    * @public */ - InitiationMethod?: ContactInitiationMethod | undefined; + PhoneNumberCountryCode?: PhoneNumberCountryCode | undefined; /** - *

    How the contact reached your contact center.

    + *

    The type of phone number.

    * @public */ - Channel?: Channel | undefined; + PhoneNumberType?: PhoneNumberType | undefined; +} +/** + * @public + */ +export interface SearchAvailablePhoneNumbersResponse { /** - *

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

    + *

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

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

    Information about the agent who accepted the contact.

    + *

    A list of available phone numbers that you can claim to your Amazon Connect instance or traffic distribution group.

    * @public */ - AgentInfo?: ContactSearchSummaryAgentInfo | undefined; + AvailableNumbersList?: AvailableNumberSummary[] | undefined; +} +/** + *

    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.

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

    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.

    + *

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

    * @public */ - InitiationTimestamp?: Date | undefined; + OrConditions?: TagCondition[][] | undefined; /** - *

    The timestamp when the customer endpoint disconnected from Amazon Connect.

    + *

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

    * @public */ - DisconnectTimestamp?: Date | undefined; + AndConditions?: TagCondition[] | undefined; /** - *

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

    + *

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

    * @public */ - ScheduledTimestamp?: Date | undefined; + TagCondition?: TagCondition | undefined; +} +/** + *

    The search criteria to be used to return flow modules.

    + * @public + */ +export interface ContactFlowModuleSearchFilter { /** - *

    Set of segment attributes for a contact.

    + *

    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.

      + *
    • + *
    * @public */ - SegmentAttributes?: Record | undefined; + TagFilter?: ControlPlaneTagFilter | undefined; } /** * @public */ -export interface SearchContactsResponse { +export interface SearchContactFlowModulesResponse { /** - *

    Information about the contacts.

    + *

    The search criteria to be used to return flow modules.

    * @public */ - Contacts: ContactSearchSummary[] | undefined; + ContactFlowModules?: ContactFlowModule[] | undefined; /** *

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

    @@ -2765,17 +2578,17 @@ export interface SearchContactsResponse { NextToken?: string | undefined; /** - *

    The total number of contacts which matched your search query.

    + *

    The total number of flows which matched your search query.

    * @public */ - TotalCount?: number | undefined; + ApproximateTotalCount?: number | undefined; } /** *

    Filters to be applied to search results.

    * @public */ -export interface EmailAddressSearchFilter { +export interface ContactFlowSearchFilter { /** *

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

    @@ -2795,405 +2608,338 @@ export interface EmailAddressSearchFilter { } /** - *

    Contains information about an email address for a contact center.

    * @public */ -export interface EmailAddressMetadata { +export interface SearchContactFlowsResponse { /** - *

    The identifier of the email address.

    + *

    Information about the flows.

    * @public */ - EmailAddressId?: string | undefined; + ContactFlows?: ContactFlow[] | undefined; /** - *

    The Amazon Resource Name (ARN) of the email address.

    + *

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

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

    The email address with the instance, in [^\s@]+@[^\s@]+\.[^\s@]+ format.

    + *

    The total number of flows which matched your search query.

    * @public */ - EmailAddress?: string | undefined; + ApproximateTotalCount?: number | undefined; +} - /** - *

    The description of the email address.

    - * @public - */ - Description?: string | undefined; +/** + * @public + * @enum + */ +export const SearchContactsMatchType = { + MATCH_ALL: "MATCH_ALL", + MATCH_ANY: "MATCH_ANY", +} as const; - /** - *

    The display name of email address.

    - * @public - */ - DisplayName?: string | undefined; -} +/** + * @public + */ +export type SearchContactsMatchType = (typeof SearchContactsMatchType)[keyof typeof SearchContactsMatchType]; /** + *

    A structure that defines search criteria base on words or phrases, participants in the + * Contact Lens conversational analytics transcript.

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

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

    + *

    The participant role in a transcript

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

    List of email addresses matching SearchFilter and SearchCriteria

    + *

    The words or phrases used to search within a transcript.

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

    The total number of email addresses which matched your search query.

    + *

    The match type combining search criteria using multiple search texts in a transcript + * criteria.

    * @public */ - ApproximateTotalCount?: number | undefined; + MatchType: SearchContactsMatchType | undefined; } /** - *

    Filters to be applied to search results.

    + *

    A structure that defines search criteria and matching logic to search for contacts by + * matching text with transcripts analyzed by Amazon Connect Contact Lens.

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

    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 list of search criteria based on Contact Lens conversational analytics + * transcript.

    + * @public + */ + Criteria: TranscriptCriteria[] | undefined; + + /** + *

    The match type combining search criteria using multiple transcript criteria.

    * @public */ - TagFilter?: ControlPlaneTagFilter | undefined; + MatchType?: SearchContactsMatchType | undefined; } /** + *

    A structure that defines search criteria for contacts using analysis outputs from Amazon Connect Contact Lens.

    * @public */ -export interface SearchHoursOfOperationsResponse { +export interface ContactAnalysis { /** - *

    Information about the hours of operations.

    + *

    Search criteria based on transcript analyzed by Amazon Connect Contact Lens.

    * @public */ - HoursOfOperations?: HoursOfOperation[] | undefined; + Transcript?: Transcript | undefined; +} +/** + *

    The search criteria based on user-defined contact attribute key and values to search + * on.

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

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

    + *

    The key containing a searchable user-defined contact attribute.

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

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

    + *

    The list of values to search for within a user-defined contact attribute.

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

    A structure that defines search criteria based on user-defined contact attributes that are + * configured for contact search.

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

    Predefined attributes matched by the search criteria.

    - * @public - */ - PredefinedAttributes?: PredefinedAttribute[] | undefined; - +export interface SearchableContactAttributes { /** - *

    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.

    + *

    The list of criteria based on user-defined contact attributes that are configured for + * contact search.

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

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

    + *

    The match type combining search criteria using multiple searchable contact + * attributes.

    * @public */ - ApproximateTotalCount?: number | undefined; + MatchType?: SearchContactsMatchType | undefined; } /** - *

    Filters to be applied to search results.

    + *

    The search criteria based on searchable segment attribute key and values to search + * on.

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

    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 key containing a searchable segment attribute.

    * @public */ - TagFilter?: ControlPlaneTagFilter | undefined; -} + Key: string | undefined; -/** - * @public - */ -export interface SearchPromptsResponse { /** - *

    Information about the prompts.

    + *

    The list of values to search for within a searchable segment attribute.

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

    The search criteria based on searchable segment attributes of a contact

    + * @public + */ +export interface SearchableSegmentAttributes { /** - *

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

    + *

    The list of criteria based on searchable segment attributes.

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

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

    + *

    The match type combining search criteria using multiple searchable segment + * attributes.

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

    Filters to be applied to search results.

    + *

    A structure of search criteria to be used to return contacts.

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

    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 identifiers of agents who handled the contacts.

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

    Information about the queues.

    + *

    The agent hierarchy groups of the agent at the time of handling the contact.

    * @public */ - Queues?: Queue[] | undefined; + AgentHierarchyGroups?: AgentHierarchyGroups | undefined; /** - *

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

    + *

    The list of channels associated with contacts.

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

    The total number of queues which matched your search query.

    + *

    Search criteria based on analysis outputs from Amazon Connect Contact Lens.

    * @public */ - ApproximateTotalCount?: number | undefined; -} + ContactAnalysis?: ContactAnalysis | undefined; -/** - *

    Filters to be applied to search results.

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

    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 list of initiation methods associated with contacts.

    * @public */ - TagFilter?: ControlPlaneTagFilter | undefined; -} + InitiationMethods?: ContactInitiationMethod[] | undefined; -/** - * @public - */ -export interface SearchQuickConnectsResponse { /** - *

    Information about the quick connects.

    + *

    The list of queue IDs associated with contacts.

    * @public */ - QuickConnects?: QuickConnect[] | undefined; + QueueIds?: string[] | undefined; /** - *

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

    + *

    The search criteria based on user-defined contact attributes that have been configured for + * contact search. For more information, see Search by custom contact + * attributes in the Amazon Connect Administrator Guide.

    + * + *

    To use SearchableContactAttributes in a search request, the + * GetContactAttributes action is required to perform an API request. For more + * information, see https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html#amazonconnect-actions-as-permissionsActions defined by Amazon Connect.

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

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

    + *

    The search criteria based on searchable segment attributes of a contact.

    * @public */ - ApproximateTotalCount?: number | undefined; + SearchableSegmentAttributes?: SearchableSegmentAttributes | undefined; } /** - *

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

    * @public + * @enum */ -export class MaximumResultReturnedException extends __BaseException { - readonly name: "MaximumResultReturnedException" = "MaximumResultReturnedException"; - readonly $fault: "client" = "client"; - Message?: string | undefined; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "MaximumResultReturnedException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, MaximumResultReturnedException.prototype); - this.Message = opts.Message; - } -} +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; /** - *

    The search criteria to be used to return tags.

    * @public */ -export interface TagSearchCondition { +export type SortableFieldName = (typeof SortableFieldName)[keyof typeof SortableFieldName]; + +/** + *

    A structure that defines the field name to sort by and a sort order.

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

    The tag key used in the tag search condition.

    + *

    The name of the field on which to sort.

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

    The tag value used in the tag search condition.

    + *

    An ascending or descending sort.

    * @public */ - tagValue?: string | undefined; + Order: SortOrder | undefined; +} - /** - *

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

    +/** + * @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]; + +/** + *

    A structure of time range that you want to search results.

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

    The type of timestamp to search.

    * @public */ - tagKeyComparisonType?: StringComparisonType | undefined; + Type: SearchContactsTimeRangeType | undefined; /** - *

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

    + *

    The start time of the time range.

    * @public */ - tagValueComparisonType?: StringComparisonType | undefined; -} + StartTime: Date | undefined; -/** - *

    The search criteria to be used to search tags.

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

    The search criteria to be used to return tags.

    + *

    The end time of the time range.

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

    The identifier of the Amazon Connect instance. You can find the instanceId in the Amazon + *

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

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

    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.

    - *

    - * Supported resource types - *

    - *
      - *
    • - *

      AGENT

      - *
    • - *
    • - *

      ROUTING_PROFILE

      - *
    • - *
    • - *

      STANDARD_QUEUE

      - *
    • - *
    • - *

      SECURITY_PROFILE

      - *
    • - *
    • - *

      OPERATING_HOURS

      - *
    • - *
    • - *

      PROMPT

      - *
    • - *
    • - *

      CONTACT_FLOW

      - *
    • - *
    • - *

      FLOW_MODULE

      - *
    • - *
    + *

    Time range that you want to search results.

    * @public */ - ResourceTypes?: string[] | undefined; + TimeRange: SearchContactsTimeRange | undefined; /** - *

    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.

    + *

    The search criteria to be used to return contacts.

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

    The maximum number of results to return per page.

    @@ -3202,167 +2948,162 @@ export interface SearchResourceTagsRequest { MaxResults?: number | undefined; /** - *

    The search criteria to be used to return tags.

    + *

    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.

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

    Specifies a field to sort by and a sort order.

    + * @public + */ + Sort?: Sort | undefined; } /** - *

    A tag set contains tag key and tag value.

    + *

    Information about the agent who accepted the contact.

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

    The tag key in the TagSet.

    + *

    The identifier of the agent who accepted the contact.

    * @public */ - key?: string | undefined; + Id?: string | undefined; /** - *

    The tag value in the tagSet.

    + *

    The timestamp when the contact was connected to the agent.

    * @public */ - value?: string | undefined; + ConnectedToAgentTimestamp?: Date | undefined; } /** + *

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

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

    A list of tags used in the Amazon Connect instance.

    + *

    The unique identifier for the queue.

    * @public */ - Tags?: TagSet[] | undefined; + Id?: string | undefined; /** - *

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

    + *

    The timestamp when the contact was added to the queue.

    * @public */ - NextToken?: string | undefined; + EnqueueTimestamp?: Date | undefined; } /** - *

    Filters to be applied to search results.

    + *

    The value of a segment attribute. This is structured as a map with a single key-value pair. + * The key 'valueString' indicates that the attribute type is a string, and its corresponding value + * is the actual string value of the segment attribute.

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

    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 value of a segment attribute represented as a string.

    * @public */ - TagFilter?: ControlPlaneTagFilter | undefined; + ValueString?: string | undefined; } /** + *

    Information of returned contact.

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

    Information about the routing profiles.

    + *

    The Amazon Resource Name (ARN) of the contact.

    * @public */ - RoutingProfiles?: RoutingProfile[] | undefined; + Arn?: string | undefined; /** - *

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

    + *

    The identifier of the contact summary.

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

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

    + *

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

    * @public */ - ApproximateTotalCount?: number | undefined; -} + InitialContactId?: string | undefined; -/** - *

    Filters to be applied to search results.

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

    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.

      - *
    • - *
    + *

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

    * @public */ - TagFilter?: ControlPlaneTagFilter | undefined; -} + PreviousContactId?: string | undefined; -/** - *

    Information about the returned security profiles.

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

    The identifier of the security profile.

    + *

    Indicates how the contact was initiated.

    * @public */ - Id?: string | undefined; + InitiationMethod?: ContactInitiationMethod | undefined; /** - *

    The organization resource identifier.

    + *

    How the contact reached your contact center.

    * @public */ - OrganizationResourceId?: string | undefined; + Channel?: Channel | undefined; /** - *

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

    + *

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

    * @public */ - Arn?: string | undefined; + QueueInfo?: ContactSearchSummaryQueueInfo | undefined; /** - *

    The name of the security profile.

    + *

    Information about the agent who accepted the contact.

    * @public */ - SecurityProfileName?: string | undefined; + AgentInfo?: ContactSearchSummaryAgentInfo | undefined; /** - *

    The description of the security profile.

    + *

    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.

    * @public */ - Description?: string | undefined; + InitiationTimestamp?: Date | undefined; /** - *

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

    + *

    The timestamp when the customer endpoint disconnected from Amazon Connect.

    * @public */ - Tags?: Record | undefined; + DisconnectTimestamp?: Date | undefined; + + /** + *

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

    + * @public + */ + ScheduledTimestamp?: Date | undefined; + + /** + *

    Set of segment attributes for a contact.

    + * @public + */ + SegmentAttributes?: Record | undefined; } /** * @public */ -export interface SearchSecurityProfilesResponse { +export interface SearchContactsResponse { /** - *

    Information about the security profiles.

    + *

    Information about the contacts.

    * @public */ - SecurityProfiles?: SecurityProfileSearchSummary[] | undefined; + Contacts: ContactSearchSummary[] | undefined; /** *

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

    @@ -3371,270 +3112,236 @@ export interface SearchSecurityProfilesResponse { NextToken?: string | undefined; /** - *

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

    + *

    The total number of contacts which matched your search query.

    * @public */ - ApproximateTotalCount?: number | undefined; + TotalCount?: number | undefined; } /** *

    Filters to be applied to search results.

    * @public */ -export interface UserHierarchyGroupSearchFilter { +export interface EmailAddressSearchFilter { /** - *

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

    + *

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

    *
      *
    • - *

      The top level list specifies conditions that need to be applied with OR - * operator.

      + *

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

      *
    • *
    • - *

      The inner list specifies conditions that need to be applied with AND + *

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

      *
    • *
    * @public */ - AttributeFilter?: ControlPlaneAttributeFilter | undefined; + TagFilter?: ControlPlaneTagFilter | undefined; } /** + *

    Contains information about an email address for a contact center.

    * @public */ -export interface SearchUserHierarchyGroupsResponse { +export interface EmailAddressMetadata { /** - *

    Information about the userHierarchyGroups.

    + *

    The identifier of the email address.

    * @public */ - UserHierarchyGroups?: HierarchyGroup[] | undefined; + EmailAddressId?: string | undefined; /** - *

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

    + *

    The Amazon Resource Name (ARN) of the email address.

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

    The total number of userHierarchyGroups which matched your search query.

    + *

    The email address with the instance, in [^\s@]+@[^\s@]+\.[^\s@]+ format.

    * @public */ - ApproximateTotalCount?: number | undefined; -} + EmailAddress?: string | undefined; -/** - * @public - * @enum - */ -export const HierarchyGroupMatchType = { - EXACT: "EXACT", - WITH_CHILD_GROUPS: "WITH_CHILD_GROUPS", -} as const; + /** + *

    The description of the email address.

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

    The display name of email address.

    + * @public + */ + DisplayName?: string | undefined; +} /** * @public */ -export type HierarchyGroupMatchType = (typeof HierarchyGroupMatchType)[keyof typeof HierarchyGroupMatchType]; +export interface SearchEmailAddressesResponse { + /** + *

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

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

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

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

    The value in the hierarchy group condition.

    + *

    List of email addresses matching SearchFilter and SearchCriteria

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

    The type of hierarchy group match.

    + *

    The total number of email addresses which matched your search query.

    * @public */ - HierarchyGroupMatchType?: HierarchyGroupMatchType | undefined; + ApproximateTotalCount?: number | undefined; } /** * @public * @enum */ -export const NumberComparisonType = { - EQUAL: "EQUAL", - GREATER: "GREATER", - GREATER_OR_EQUAL: "GREATER_OR_EQUAL", - LESSER: "LESSER", - LESSER_OR_EQUAL: "LESSER_OR_EQUAL", - NOT_EQUAL: "NOT_EQUAL", - RANGE: "RANGE", +export const DateComparisonType = { + EQUAL_TO: "EQUAL_TO", + GREATER_THAN: "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO: "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN: "LESS_THAN", + LESS_THAN_OR_EQUAL_TO: "LESS_THAN_OR_EQUAL_TO", } as const; /** * @public */ -export type NumberComparisonType = (typeof NumberComparisonType)[keyof typeof NumberComparisonType]; +export type DateComparisonType = (typeof DateComparisonType)[keyof typeof DateComparisonType]; /** - *

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

    - * - *

    The currently supported value for FieldName is limit.

    - *
    + *

    An object to specify the hours of operation override date condition.

    * @public */ -export interface NumberCondition { +export interface DateCondition { /** - *

    The name of the field in the number condition.

    + *

    An object to specify the hours of operation override date field.

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

    The minValue to be used while evaluating the number condition.

    - * @public - */ - MinValue?: number | undefined; - - /** - *

    The maxValue to be used while evaluating the number condition.

    + *

    An object to specify the hours of operation override date value.

    * @public */ - MaxValue?: number | undefined; + Value?: string | undefined; /** - *

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

    + *

    An object to specify the hours of operation override date condition + * comparisonType.

    * @public */ - ComparisonType?: NumberComparisonType | undefined; + ComparisonType?: DateComparisonType | undefined; } /** - *

    A leaf node condition which can be used to specify a ProficiencyName, ProficiencyValue and - * ProficiencyLimit.

    + *

    Filters to be applied to search results.

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

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

    - * - *

    The currently supported values for FieldName are name and - * value.

    - *
    - * @public - */ - StringCondition?: StringCondition | undefined; - +export interface HoursOfOperationSearchFilter { /** - *

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

    + *

    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.

      + *
    • + *
    * @public */ - NumberCondition?: NumberCondition | undefined; + TagFilter?: ControlPlaneTagFilter | undefined; } -/** - * @public - * @enum - */ -export const TargetListType = { - PROFICIENCIES: "PROFICIENCIES", -} as const; - /** * @public */ -export type TargetListType = (typeof TargetListType)[keyof typeof TargetListType]; +export interface SearchHoursOfOperationOverridesResponse { + /** + *

    Information about the hours of operations overrides.

    + * @public + */ + HoursOfOperationOverrides?: HoursOfOperationOverride[] | undefined; -/** - *

    A leaf node condition which can be used to specify a List condition to search users with - * attributes included in Lists like Proficiencies.

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

    The type of target list that will be used to filter the users.

    + *

    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. Length Constraints: Minimum length of 1. + * Maximum length of 2500.

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

    A list of Condition objects which would be applied together with an AND condition.

    + *

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

    * @public */ - Conditions?: Condition[] | undefined; + ApproximateTotalCount?: number | undefined; } /** - *

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

    * @public */ -export interface AttributeAndCondition { +export interface SearchHoursOfOperationsResponse { /** - *

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

    + *

    Information about the hours of operations.

    * @public */ - TagConditions?: TagCondition[] | undefined; + HoursOfOperations?: HoursOfOperation[] | undefined; /** - *

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

    + *

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

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

    An object that can be used to specify Tag conditions or Hierarchy Group conditions inside - * the SearchFilter.

    - *

    This accepts an OR of AND (List of List) input where:

    - *
      - *
    • - *

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

      - *
    • - *
    • - *

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

      - *
    • - *
    - * - *

    Only one field can be populated. Maximum number of allowed Tag conditions is 25. Maximum - * number of allowed Hierarchy Group conditions is 20.

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

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

    + *

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

    * @public */ - OrConditions?: AttributeAndCondition[] | undefined; + ApproximateTotalCount?: number | undefined; +} +/** + * @public + */ +export interface SearchPredefinedAttributesResponse { /** - *

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

    + *

    Predefined attributes matched by the search criteria.

    * @public */ - AndCondition?: AttributeAndCondition | undefined; + PredefinedAttributes?: PredefinedAttribute[] | undefined; /** - *

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

    + *

    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.

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

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

    + *

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

    * @public */ - HierarchyGroupCondition?: HierarchyGroupCondition | undefined; + ApproximateTotalCount?: number | undefined; } /** *

    Filters to be applied to search results.

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

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

    @@ -3651,124 +3358,122 @@ export interface UserSearchFilter { * @public */ TagFilter?: ControlPlaneTagFilter | undefined; - - /** - *

    An object that can be used to specify Tag conditions or Hierarchy Group conditions inside - * the SearchFilter.

    - *

    This accepts an OR of AND (List of List) input where:

    - *
      - *
    • - *

      The top level list specifies conditions that need to be applied with OR - * operator.

      - *
    • - *
    • - *

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

      - *
    • - *
    - * - *

    Only one field can be populated. This object can’t be used along with TagFilter. Request - * can either contain TagFilter or UserAttributeFilter if SearchFilter is specified, combination of - * both is not supported and such request will throw AccessDeniedException.

    - *
    - * @public - */ - UserAttributeFilter?: ControlPlaneUserAttributeFilter | undefined; -} - -/** - *

    The user's first name and last name.

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

    The user's first name.

    - * @public - */ - FirstName?: string | undefined; - - /** - *

    The user's last name.

    - * @public - */ - LastName?: string | undefined; } /** - *

    Information about the returned users.

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

    The Amazon Resource Name (ARN) of the user.

    + *

    Information about the prompts.

    * @public */ - Arn?: string | undefined; + Prompts?: Prompt[] | undefined; /** - *

    The directory identifier of the user.

    + *

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

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

    The identifier of the user's hierarchy group.

    + *

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

    * @public */ - HierarchyGroupId?: string | undefined; + ApproximateTotalCount?: number | undefined; +} - /** - *

    The identifier of the user's summary.

    - * @public - */ - Id?: string | undefined; +/** + * @public + * @enum + */ +export const SearchableQueueType = { + STANDARD: "STANDARD", +} as const; - /** - *

    The user's first name and last name.

    - * @public - */ - IdentityInfo?: UserIdentityInfoLite | undefined; +/** + * @public + */ +export type SearchableQueueType = (typeof SearchableQueueType)[keyof typeof SearchableQueueType]; +/** + *

    Filters to be applied to search results.

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

    Contains information about the phone configuration settings for a user.

    + *

    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.

      + *
    • + *
    * @public */ - PhoneConfig?: UserPhoneConfig | undefined; + TagFilter?: ControlPlaneTagFilter | undefined; +} +/** + * @public + */ +export interface SearchQueuesResponse { /** - *

    The identifier of the user's routing profile.

    + *

    Information about the queues.

    * @public */ - RoutingProfileId?: string | undefined; + Queues?: Queue[] | undefined; /** - *

    The identifiers of the user's security profiles.

    + *

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

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

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

    + *

    The total number of queues which matched your search query.

    * @public */ - Tags?: Record | undefined; + ApproximateTotalCount?: number | undefined; +} +/** + *

    Filters to be applied to search results.

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

    The name of the user.

    + *

    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.

      + *
    • + *
    * @public */ - Username?: string | undefined; + TagFilter?: ControlPlaneTagFilter | undefined; } /** * @public */ -export interface SearchUsersResponse { +export interface SearchQuickConnectsResponse { /** - *

    Information about the users.

    + *

    Information about the quick connects.

    * @public */ - Users?: UserSearchSummary[] | undefined; + QuickConnects?: QuickConnect[] | undefined; /** *

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

    @@ -3777,115 +3482,173 @@ export interface SearchUsersResponse { NextToken?: string | undefined; /** - *

    The total number of users who matched your search query.

    + *

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

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

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

    * @public */ -export interface SearchVocabulariesRequest { +export class MaximumResultReturnedException extends __BaseException { + readonly name: "MaximumResultReturnedException" = "MaximumResultReturnedException"; + readonly $fault: "client" = "client"; + Message?: string | undefined; /** - *

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

    - * @public + * @internal */ - InstanceId: string | undefined; + constructor(opts: __ExceptionOptionType) { + super({ + name: "MaximumResultReturnedException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, MaximumResultReturnedException.prototype); + this.Message = opts.Message; + } +} +/** + *

    The search criteria to be used to return tags.

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

    The maximum number of results to return per page.

    + *

    The tag key used in the tag search condition.

    * @public */ - MaxResults?: number | undefined; + tagKey?: string | undefined; /** - *

    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.

    + *

    The tag value used in the tag search condition.

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

    The current state of the custom vocabulary.

    + *

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

    * @public */ - State?: VocabularyState | undefined; + tagKeyComparisonType?: StringComparisonType | undefined; /** - *

    The starting pattern of the name of the vocabulary.

    + *

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

    * @public */ - NameStartsWith?: string | undefined; + tagValueComparisonType?: StringComparisonType | undefined; +} +/** + *

    The search criteria to be used to search tags.

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

    The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see - * What is Amazon Transcribe? - *

    + *

    The search criteria to be used to return tags.

    * @public */ - LanguageCode?: VocabularyLanguageCode | undefined; + TagSearchCondition?: TagSearchCondition | undefined; } /** - *

    Contains summary information about the custom vocabulary.

    * @public */ -export interface VocabularySummary { +export interface SearchResourceTagsRequest { /** - *

    A unique name of the custom vocabulary.

    + *

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

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

    The identifier of the custom vocabulary.

    + *

    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.

    + *

    + * Supported resource types + *

    + *
      + *
    • + *

      AGENT

      + *
    • + *
    • + *

      ROUTING_PROFILE

      + *
    • + *
    • + *

      STANDARD_QUEUE

      + *
    • + *
    • + *

      SECURITY_PROFILE

      + *
    • + *
    • + *

      OPERATING_HOURS

      + *
    • + *
    • + *

      PROMPT

      + *
    • + *
    • + *

      CONTACT_FLOW

      + *
    • + *
    • + *

      FLOW_MODULE

      + *
    • + *
    * @public */ - Id: string | undefined; + ResourceTypes?: string[] | undefined; /** - *

    The Amazon Resource Name (ARN) of the custom vocabulary.

    + *

    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.

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

    The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see - * What is Amazon Transcribe? - *

    + *

    The maximum number of results to return per page.

    * @public */ - LanguageCode: VocabularyLanguageCode | undefined; + MaxResults?: number | undefined; /** - *

    The current state of the custom vocabulary.

    + *

    The search criteria to be used to return tags.

    * @public */ - State: VocabularyState | undefined; + SearchCriteria?: ResourceTagsSearchCriteria | undefined; +} +/** + *

    A tag set contains tag key and tag value.

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

    The timestamp when the custom vocabulary was last modified.

    + *

    The tag key in the TagSet.

    * @public */ - LastModifiedTime: Date | undefined; + key?: string | undefined; /** - *

    The reason why the custom vocabulary was not created.

    + *

    The tag value in the tagSet.

    * @public */ - FailureReason?: string | undefined; + value?: string | undefined; } /** * @public */ -export interface SearchVocabulariesResponse { +export interface SearchResourceTagsResponse { /** - *

    The list of the available custom vocabularies.

    + *

    A list of tags used in the Amazon Connect instance.

    * @public */ - VocabularySummaryList?: VocabularySummary[] | undefined; + Tags?: TagSet[] | undefined; /** *

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

    @@ -3895,1257 +3658,1354 @@ export interface SearchVocabulariesResponse { } /** - * @public - * @enum - */ -export const ChatEventType = { - DISCONNECT: "DISCONNECT", - EVENT: "EVENT", - MESSAGE: "MESSAGE", -} as const; - -/** - * @public - */ -export type ChatEventType = (typeof ChatEventType)[keyof typeof ChatEventType]; - -/** - *

    Chat integration event containing payload to perform different chat actions such as:

    - *
      - *
    • - *

      Sending a chat message

      - *
    • - *
    • - *

      Sending a chat event, such as typing

      - *
    • - *
    • - *

      Disconnecting from a chat

      - *
    • - *
    + *

    Filters to be applied to search results.

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

    Type of chat integration event.

    - * @public - */ - Type: ChatEventType | undefined; - - /** - *

    Type of content. This is required when Type is MESSAGE or - * EVENT.

    - *
      - *
    • - *

      For allowed message content types, see the ContentType parameter in the - * SendMessage topic in the Amazon Connect Participant Service API - * Reference.

      - *
    • - *
    • - *

      For allowed event content types, see the ContentType parameter in the SendEvent topic in the Amazon Connect Participant Service API - * Reference.

      - *
    • - *
    - * @public - */ - ContentType?: string | undefined; - +export interface RoutingProfileSearchFilter { /** - *

    Content of the message or event. This is required when Type is - * MESSAGE and for certain ContentTypes when Type is - * EVENT.

    + *

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

    *
      *
    • - *

      For allowed message content, see the Content parameter in the SendMessage topic in the Amazon Connect Participant Service API - * Reference.

      + *

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

      *
    • *
    • - *

      For allowed event content, see the Content parameter in the SendEvent topic in the Amazon Connect Participant Service API - * Reference.

      + *

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

      *
    • *
    * @public */ - Content?: string | undefined; + TagFilter?: ControlPlaneTagFilter | undefined; } /** - *

    The customer's details.

    * @public */ -export interface ParticipantDetails { +export interface SearchRoutingProfilesResponse { /** - *

    Display name of the participant.

    + *

    Information about the routing profiles.

    * @public */ - DisplayName: string | undefined; + RoutingProfiles?: RoutingProfile[] | undefined; + + /** + *

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

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

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

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

    The streaming configuration, such as the Amazon SNS streaming endpoint.

    + *

    Filters to be applied to search results.

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

    The Amazon Resource Name (ARN) of the standard Amazon SNS topic. The Amazon Resource Name (ARN) of the streaming endpoint that is used - * to publish real-time message streaming for chat conversations.

    + *

    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.

      + *
    • + *
    * @public */ - StreamingEndpointArn: string | undefined; + TagFilter?: ControlPlaneTagFilter | undefined; } /** - *

    Payload of chat properties to apply when starting a new contact.

    + *

    Information about the returned security profiles.

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

    The supported chat message content types. Supported types are text/plain, - * text/markdown, application/json, - * application/vnd.amazonaws.connect.message.interactive, and - * application/vnd.amazonaws.connect.message.interactive.response.

    - *

    Content types must always contain text/plain. You can then put any other - * supported type in the list. For example, all the following lists are valid because they contain - * text/plain: [text/plain, text/markdown, application/json], - * [text/markdown, text/plain], [text/plain, application/json, - * application/vnd.amazonaws.connect.message.interactive.response].

    + *

    The identifier of the security profile.

    * @public */ - SupportedMessagingContentTypes?: string[] | undefined; + Id?: string | undefined; /** - *

    The customer's details.

    + *

    The organization resource identifier.

    * @public */ - ParticipantDetails?: ParticipantDetails | undefined; + OrganizationResourceId?: string | undefined; /** - *

    A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows just like any other contact attributes.

    - *

    There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute - * keys can include only alphanumeric, dash, and underscore characters.

    + *

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

    * @public */ - Attributes?: Record | undefined; + Arn?: string | undefined; /** - *

    The streaming configuration, such as the Amazon SNS streaming endpoint.

    + *

    The name of the security profile.

    * @public */ - StreamingConfiguration?: ChatStreamingConfiguration | undefined; + SecurityProfileName?: string | undefined; + + /** + *

    The description of the security profile.

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

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

    + * @public + */ + Tags?: Record | undefined; } /** * @public */ -export interface SendChatIntegrationEventRequest { +export interface SearchSecurityProfilesResponse { /** - *

    External identifier of chat customer participant, used in part to uniquely identify a chat. - * For SMS, this is the E164 phone number of the chat customer participant.

    + *

    Information about the security profiles.

    * @public */ - SourceId: string | undefined; + SecurityProfiles?: SecurityProfileSearchSummary[] | undefined; /** - *

    Chat system identifier, used in part to uniquely identify chat. This is associated with the - * Amazon Connect instance and flow to be used to start chats. For Server Migration Service, this is - * the phone number destination of inbound Server Migration Service messages represented by an Amazon Web Services End User Messaging phone number ARN.

    + *

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

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

    Classification of a channel. This is used in part to uniquely identify chat.

    - *

    Valid value: ["connect:sms", connect:"WhatsApp"] - *

    + *

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

    * @public */ - Subtype?: string | undefined; + ApproximateTotalCount?: number | undefined; +} +/** + *

    Filters to be applied to search results.

    + * @public + */ +export interface UserHierarchyGroupSearchFilter { /** - *

    Chat integration event payload

    + *

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

    + *
      + *
    • + *

      The top level list specifies conditions that need to be applied with OR + * operator.

      + *
    • + *
    • + *

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

      + *
    • + *
    * @public */ - Event: ChatEvent | undefined; + AttributeFilter?: ControlPlaneAttributeFilter | undefined; +} + +/** + * @public + */ +export interface SearchUserHierarchyGroupsResponse { + /** + *

    Information about the userHierarchyGroups.

    + * @public + */ + UserHierarchyGroups?: HierarchyGroup[] | undefined; /** - *

    Contact properties to apply when starting a new chat. If the integration event is handled - * with an existing chat, this is ignored.

    + *

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

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

    The total number of userHierarchyGroups which matched your search query.

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

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

    + * @public + */ +export interface HierarchyGroupCondition { /** - *

    Identifier of chat contact used to handle integration event. This may be null if the - * integration event is not valid without an already existing chat contact.

    + *

    The value in the hierarchy group condition.

    * @public */ - InitialContactId?: string | undefined; + Value?: string | undefined; /** - *

    Whether handling the integration event resulted in creating a new chat or acting on existing - * chat.

    + *

    The type of hierarchy group match.

    * @public */ - NewChatCreated?: boolean | undefined; + HierarchyGroupMatchType?: HierarchyGroupMatchType | undefined; } /** - *

    Contains information about a source or destination email address

    * @public + * @enum */ -export interface EmailAddressInfo { +export const NumberComparisonType = { + EQUAL: "EQUAL", + GREATER: "GREATER", + GREATER_OR_EQUAL: "GREATER_OR_EQUAL", + LESSER: "LESSER", + LESSER_OR_EQUAL: "LESSER_OR_EQUAL", + NOT_EQUAL: "NOT_EQUAL", + RANGE: "RANGE", +} as const; + +/** + * @public + */ +export type NumberComparisonType = (typeof NumberComparisonType)[keyof typeof NumberComparisonType]; + +/** + *

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

    + * + *

    The currently supported value for FieldName is limit.

    + *
    + * @public + */ +export interface NumberCondition { /** - *

    The email address with the instance, in [^\s@]+@[^\s@]+\.[^\s@]+ format.

    + *

    The name of the field in the number condition.

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

    The display name of email address.

    + *

    The minValue to be used while evaluating the number condition.

    * @public */ - DisplayName?: string | undefined; + MinValue?: number | undefined; + + /** + *

    The maxValue to be used while evaluating the number condition.

    + * @public + */ + MaxValue?: number | undefined; + + /** + *

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

    + * @public + */ + ComparisonType?: NumberComparisonType | undefined; } /** - *

    The additional recipients information of outbound email.

    + *

    A leaf node condition which can be used to specify a ProficiencyName, ProficiencyValue and + * ProficiencyLimit.

    * @public */ -export interface OutboundAdditionalRecipients { +export interface Condition { /** - *

    The additional CC email address recipients information.

    + *

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

    + * + *

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

    + *
    * @public */ - CcEmailAddresses?: EmailAddressInfo[] | undefined; + StringCondition?: StringCondition | undefined; + + /** + *

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

    + * @public + */ + NumberCondition?: NumberCondition | undefined; } /** * @public * @enum */ -export const OutboundMessageSourceType = { - RAW: "RAW", - TEMPLATE: "TEMPLATE", +export const TargetListType = { + PROFICIENCIES: "PROFICIENCIES", } as const; /** * @public */ -export type OutboundMessageSourceType = (typeof OutboundMessageSourceType)[keyof typeof OutboundMessageSourceType]; - -/** - *

    Information about the raw email body content.

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

    The email subject.

    - * @public - */ - Subject: string | undefined; +export type TargetListType = (typeof TargetListType)[keyof typeof TargetListType]; +/** + *

    A leaf node condition which can be used to specify a List condition to search users with + * attributes included in Lists like Proficiencies.

    + * @public + */ +export interface ListCondition { /** - *

    The email message body.

    + *

    The type of target list that will be used to filter the users.

    * @public */ - Body: string | undefined; + TargetListType?: TargetListType | undefined; /** - *

    Type of content, that is, text/plain or text/html.

    + *

    A list of Condition objects which would be applied together with an AND condition.

    * @public */ - ContentType: string | undefined; + Conditions?: Condition[] | undefined; } /** - *

    Information about the template attributes.

    + *

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

    * @public */ -export interface TemplateAttributes { +export interface AttributeAndCondition { /** - *

    An object that specifies the custom attributes values to use for variables in the message - * template. This object contains different categories of key-value pairs. Each key defines a - * variable or placeholder in the message template.

    + *

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

    * @public */ - CustomAttributes?: Record | undefined; + TagConditions?: TagCondition[] | undefined; /** - *

    An object that specifies the customer profile attributes values to use for variables in the - * message template. This object contains different categories of key-value pairs. Each key defines - * a variable or placeholder in the message template.

    + *

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

    * @public */ - CustomerProfileAttributes?: string | undefined; + HierarchyGroupCondition?: HierarchyGroupCondition | undefined; } /** - *

    Information about template message configuration.

    + *

    An object that can be used to specify Tag conditions or Hierarchy Group conditions inside + * the SearchFilter.

    + *

    This accepts an OR of AND (List of List) input where:

    + *
      + *
    • + *

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

      + *
    • + *
    • + *

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

      + *
    • + *
    + * + *

    Only one field can be populated. Maximum number of allowed Tag conditions is 25. Maximum + * number of allowed Hierarchy Group conditions is 20.

    + *
    * @public */ -export interface TemplatedMessageConfig { +export interface ControlPlaneUserAttributeFilter { /** - *

    The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain - * the ARN.

    + *

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

    * @public */ - KnowledgeBaseId: string | undefined; + OrConditions?: AttributeAndCondition[] | undefined; /** - *

    The identifier of the message template Id.

    + *

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

    * @public */ - MessageTemplateId: string | undefined; + AndCondition?: AttributeAndCondition | undefined; /** - *

    Information about template attributes, that is, CustomAttributes or - * CustomerProfileAttributes.

    + *

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

    * @public */ - TemplateAttributes: TemplateAttributes | undefined; -} + TagCondition?: TagCondition | undefined; -/** - *

    Information about email body content.

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

    The message source type, that is, RAW or TEMPLATE.

    + *

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

    * @public */ - MessageSourceType: OutboundMessageSourceType | undefined; + HierarchyGroupCondition?: HierarchyGroupCondition | undefined; +} +/** + *

    Filters to be applied to search results.

    + * @public + */ +export interface UserSearchFilter { /** - *

    Information about template message configuration.

    + *

    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.

      + *
    • + *
    * @public */ - TemplatedMessageConfig?: TemplatedMessageConfig | undefined; + TagFilter?: ControlPlaneTagFilter | undefined; /** - *

    The raw email body content.

    + *

    An object that can be used to specify Tag conditions or Hierarchy Group conditions inside + * the SearchFilter.

    + *

    This accepts an OR of AND (List of List) input where:

    + *
      + *
    • + *

      The top level list specifies conditions that need to be applied with OR + * operator.

      + *
    • + *
    • + *

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

      + *
    • + *
    + * + *

    Only one field can be populated. This object can’t be used along with TagFilter. Request + * can either contain TagFilter or UserAttributeFilter if SearchFilter is specified, combination of + * both is not supported and such request will throw AccessDeniedException.

    + *
    * @public */ - RawMessage?: OutboundRawMessage | undefined; + UserAttributeFilter?: ControlPlaneUserAttributeFilter | undefined; } /** - *

    Information about the campaign.

    + *

    The user's first name and last name.

    * @public */ -export interface SourceCampaign { +export interface UserIdentityInfoLite { /** - *

    A unique identifier for a campaign.

    + *

    The user's first name.

    * @public */ - CampaignId?: string | undefined; + FirstName?: string | undefined; /** - *

    A unique identifier for a each request part of same campaign.

    + *

    The user's last name.

    * @public */ - OutboundRequestId?: string | undefined; + LastName?: string | undefined; } /** + *

    Information about the returned users.

    * @public - * @enum */ -export const TrafficType = { - CAMPAIGN: "CAMPAIGN", - GENERAL: "GENERAL", -} as const; +export interface UserSearchSummary { + /** + *

    The Amazon Resource Name (ARN) of the user.

    + * @public + */ + Arn?: string | undefined; -/** - * @public - */ -export type TrafficType = (typeof TrafficType)[keyof typeof TrafficType]; + /** + *

    The directory identifier of the user.

    + * @public + */ + DirectoryUserId?: string | undefined; -/** - * @public - */ -export interface SendOutboundEmailRequest { /** - *

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

    + *

    The identifier of the user's hierarchy group.

    * @public */ - InstanceId: string | undefined; + HierarchyGroupId?: string | undefined; /** - *

    The email address to be used for sending email.

    + *

    The identifier of the user's summary.

    * @public */ - FromEmailAddress: EmailAddressInfo | undefined; + Id?: string | undefined; /** - *

    The email address to send the email to.

    + *

    The user's first name and last name.

    * @public */ - DestinationEmailAddress: EmailAddressInfo | undefined; + IdentityInfo?: UserIdentityInfoLite | undefined; /** - *

    The additional recipients address of the email in CC.

    + *

    Contains information about the phone configuration settings for a user.

    * @public */ - AdditionalRecipients?: OutboundAdditionalRecipients | undefined; + PhoneConfig?: UserPhoneConfig | undefined; /** - *

    The email message body to be sent to the newly created email.

    + *

    The identifier of the user's routing profile.

    * @public */ - EmailMessage: OutboundEmailContent | undefined; + RoutingProfileId?: string | undefined; /** - *

    Denotes the class of traffic.

    + *

    The identifiers of the user's security profiles.

    * @public */ - TrafficType: TrafficType | undefined; + SecurityProfileIds?: string[] | undefined; /** - *

    A Campaign object need for Campaign traffic type.

    + *

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

    * @public */ - SourceCampaign?: SourceCampaign | undefined; + Tags?: Record | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    The name of the user.

    * @public */ - ClientToken?: string | undefined; + Username?: string | undefined; } /** * @public */ -export interface SendOutboundEmailResponse {} - -/** - * @public - */ -export interface StartAttachedFileUploadRequest { +export interface SearchUsersResponse { /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    Information about the users.

    * @public */ - ClientToken?: string | undefined; + Users?: UserSearchSummary[] | undefined; /** - *

    The unique identifier of the Amazon Connect instance.

    + *

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

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

    A case-sensitive name of the attached file being uploaded.

    + *

    The total number of users who matched your search query.

    * @public */ - FileName: string | undefined; + ApproximateTotalCount?: number | undefined; +} +/** + * @public + */ +export interface SearchVocabulariesRequest { /** - *

    The size of the attached file in bytes.

    + *

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

    * @public */ - FileSizeInBytes: number | undefined; + InstanceId: string | undefined; /** - *

    Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is - * 300.

    + *

    The maximum number of results to return per page.

    * @public */ - UrlExpiryInSeconds?: number | undefined; + MaxResults?: number | undefined; /** - *

    The use case for the file.

    - * - *

    Only ATTACHMENTS are supported.

    - *
    + *

    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.

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

    The resource to which the attached file is (being) uploaded to. The supported resources are - * Cases and Email.

    - * - *

    This value must be a valid ARN.

    - *
    + *

    The current state of the custom vocabulary.

    * @public */ - AssociatedResourceArn: string | undefined; + State?: VocabularyState | undefined; /** - *

    Represents the identity that created the file.

    + *

    The starting pattern of the name of the vocabulary.

    * @public */ - CreatedBy?: CreatedByInfo | undefined; + NameStartsWith?: string | undefined; /** - *

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

    + *

    The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see + * What is Amazon Transcribe? + *

    * @public */ - Tags?: Record | undefined; + LanguageCode?: VocabularyLanguageCode | undefined; } /** - *

    Fields required when uploading an attached file.

    + *

    Contains summary information about the custom vocabulary.

    * @public */ -export interface UploadUrlMetadata { +export interface VocabularySummary { /** - *

    A pre-signed S3 URL that should be used for uploading the attached file.

    + *

    A unique name of the custom vocabulary.

    * @public */ - Url?: string | undefined; + Name: string | undefined; /** - *

    The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 format: - * yyyy-MM-ddThh:mm:ss.SSSZ. For example, - * 2019-11-08T02:41:28.172Z.

    + *

    The identifier of the custom vocabulary.

    * @public */ - UrlExpiry?: string | undefined; + Id: string | undefined; /** - *

    A map of headers that should be provided when uploading the attached file.

    + *

    The Amazon Resource Name (ARN) of the custom vocabulary.

    * @public */ - HeadersToInclude?: Record | undefined; -} + Arn: string | undefined; -/** - * Response from StartAttachedFileUpload API. - * @public - */ -export interface StartAttachedFileUploadResponse { /** - *

    The unique identifier of the attached file resource (ARN).

    + *

    The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see + * What is Amazon Transcribe? + *

    * @public */ - FileArn?: string | undefined; + LanguageCode: VocabularyLanguageCode | undefined; /** - *

    The unique identifier of the attached file resource.

    + *

    The current state of the custom vocabulary.

    * @public */ - FileId?: string | undefined; + State: VocabularyState | undefined; /** - *

    The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 - * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, - * 2024-05-03T02:41:28.172Z.

    + *

    The timestamp when the custom vocabulary was last modified.

    * @public */ - CreationTime?: string | undefined; + LastModifiedTime: Date | undefined; /** - *

    The current status of the attached file.

    + *

    The reason why the custom vocabulary was not created.

    * @public */ - FileStatus?: FileStatusType | undefined; + FailureReason?: string | undefined; +} +/** + * @public + */ +export interface SearchVocabulariesResponse { /** - *

    Represents the identity that created the file.

    + *

    The list of the available custom vocabularies.

    * @public */ - CreatedBy?: CreatedByInfo | undefined; + VocabularySummaryList?: VocabularySummary[] | undefined; /** - *

    Information to be used while uploading the attached file.

    + *

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

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

    A chat message.

    * @public + * @enum */ -export interface ChatMessage { +export const ChatEventType = { + DISCONNECT: "DISCONNECT", + EVENT: "EVENT", + MESSAGE: "MESSAGE", +} as const; + +/** + * @public + */ +export type ChatEventType = (typeof ChatEventType)[keyof typeof ChatEventType]; + +/** + *

    Chat integration event containing payload to perform different chat actions such as:

    + *
      + *
    • + *

      Sending a chat message

      + *
    • + *
    • + *

      Sending a chat event, such as typing

      + *
    • + *
    • + *

      Disconnecting from a chat

      + *
    • + *
    + * @public + */ +export interface ChatEvent { /** - *

    The type of the content. Supported types are text/plain, - * text/markdown, application/json, and - * application/vnd.amazonaws.connect.message.interactive.response.

    + *

    Type of chat integration event.

    * @public */ - ContentType: string | undefined; + Type: ChatEventType | undefined; /** - *

    The content of the chat message.

    + *

    Type of content. This is required when Type is MESSAGE or + * EVENT.

    *
      *
    • - *

      For text/plain and text/markdown, the Length Constraints are - * Minimum of 1, Maximum of 1024.

      - *
    • - *
    • - *

      For application/json, the Length Constraints are Minimum of 1, Maximum of - * 12000.

      + *

      For allowed message content types, see the ContentType parameter in the + * SendMessage topic in the Amazon Connect Participant Service API + * Reference.

      *
    • *
    • - *

      For application/vnd.amazonaws.connect.message.interactive.response, the - * Length Constraints are Minimum of 1, Maximum of 12288.

      + *

      For allowed event content types, see the ContentType parameter in the SendEvent topic in the Amazon Connect Participant Service API + * Reference.

      *
    • *
    * @public */ - Content: string | undefined; -} + ContentType?: string | undefined; -/** - *

    Enable persistent chats. For more information about enabling persistent chat, and for - * example use cases and how to configure for them, see Enable persistent chat.

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

    The contactId that is used for rehydration depends on the rehydration type. RehydrationType - * is required for persistent chat.

    + *

    Content of the message or event. This is required when Type is + * MESSAGE and for certain ContentTypes when Type is + * EVENT.

    *
      *
    • - *

      - * ENTIRE_PAST_SESSION: Rehydrates a chat from the most recently terminated past - * chat contact of the specified past ended chat session. To use this type, provide the - * initialContactId of the past ended chat session in the - * sourceContactId field. In this type, Amazon Connect determines the most - * recent chat contact on the specified chat session that has ended, and uses it to start a - * persistent chat.

      + *

      For allowed message content, see the Content parameter in the SendMessage topic in the Amazon Connect Participant Service API + * Reference.

      *
    • *
    • - *

      - * FROM_SEGMENT: Rehydrates a chat from the past chat contact that is specified - * in the sourceContactId field.

      + *

      For allowed event content, see the Content parameter in the SendEvent topic in the Amazon Connect Participant Service API + * Reference.

      *
    • *
    - *

    The actual contactId used for rehydration is provided in the response of this API.

    * @public */ - RehydrationType?: RehydrationType | undefined; + Content?: string | undefined; +} +/** + *

    The customer's details.

    + * @public + */ +export interface ParticipantDetails { /** - *

    The contactId from which a persistent chat session must be started.

    + *

    Display name of the participant.

    * @public */ - SourceContactId?: string | undefined; + DisplayName: string | undefined; } /** + *

    The streaming configuration, such as the Amazon SNS streaming endpoint.

    * @public */ -export interface StartChatContactResponse { +export interface ChatStreamingConfiguration { /** - *

    The identifier of this contact within the Amazon Connect instance.

    + *

    The Amazon Resource Name (ARN) of the standard Amazon SNS topic. The Amazon Resource Name (ARN) of the streaming endpoint that is used + * to publish real-time message streaming for chat conversations.

    * @public */ - ContactId?: string | undefined; + StreamingEndpointArn: string | undefined; +} +/** + *

    Payload of chat properties to apply when starting a new contact.

    + * @public + */ +export interface NewSessionDetails { /** - *

    The identifier for a chat participant. The participantId for a chat participant is the same - * throughout the chat lifecycle.

    + *

    The supported chat message content types. Supported types are text/plain, + * text/markdown, application/json, + * application/vnd.amazonaws.connect.message.interactive, and + * application/vnd.amazonaws.connect.message.interactive.response.

    + *

    Content types must always contain text/plain. You can then put any other + * supported type in the list. For example, all the following lists are valid because they contain + * text/plain: [text/plain, text/markdown, application/json], + * [text/markdown, text/plain], [text/plain, application/json, + * application/vnd.amazonaws.connect.message.interactive.response].

    * @public */ - ParticipantId?: string | undefined; + SupportedMessagingContentTypes?: string[] | undefined; /** - *

    The token used by the chat participant to call CreateParticipantConnection. The participant token is valid for the lifetime of a chat - * participant.

    + *

    The customer's details.

    * @public */ - ParticipantToken?: string | undefined; + ParticipantDetails?: ParticipantDetails | undefined; /** - *

    The contactId from which a persistent chat session is started. This field is populated only - * for persistent chats.

    + *

    A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows just like any other contact attributes.

    + *

    There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute + * keys can include only alphanumeric, dash, and underscore characters.

    * @public */ - ContinuedFromContactId?: string | undefined; + Attributes?: Record | undefined; + + /** + *

    The streaming configuration, such as the Amazon SNS streaming endpoint.

    + * @public + */ + StreamingConfiguration?: ChatStreamingConfiguration | undefined; } /** * @public */ -export interface StartContactEvaluationRequest { +export interface SendChatIntegrationEventRequest { /** - *

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

    + *

    External identifier of chat customer participant, used in part to uniquely identify a chat. + * For SMS, this is the E164 phone number of the chat customer participant.

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

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

    + *

    Chat system identifier, used in part to uniquely identify chat. This is associated with the + * Amazon Connect instance and flow to be used to start chats. For Server Migration Service, this is + * the phone number destination of inbound Server Migration Service messages represented by an Amazon Web Services End User Messaging phone number ARN.

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

    The unique identifier for the evaluation form.

    + *

    Classification of a channel. This is used in part to uniquely identify chat.

    + *

    Valid value: ["connect:sms", connect:"WhatsApp"] + *

    * @public */ - EvaluationFormId: string | undefined; + Subtype?: string | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    Chat integration event payload

    * @public */ - ClientToken?: string | undefined; + Event: ChatEvent | undefined; + + /** + *

    Contact properties to apply when starting a new chat. If the integration event is handled + * with an existing chat, this is ignored.

    + * @public + */ + NewSessionDetails?: NewSessionDetails | undefined; } /** * @public */ -export interface StartContactEvaluationResponse { +export interface SendChatIntegrationEventResponse { /** - *

    A unique identifier for the contact evaluation.

    + *

    Identifier of chat contact used to handle integration event. This may be null if the + * integration event is not valid without an already existing chat contact.

    * @public */ - EvaluationId: string | undefined; + InitialContactId?: string | undefined; /** - *

    The Amazon Resource Name (ARN) for the contact evaluation resource.

    + *

    Whether handling the integration event resulted in creating a new chat or acting on existing + * chat.

    * @public */ - EvaluationArn: string | undefined; + NewChatCreated?: boolean | undefined; +} + +/** + *

    Contains information about a source or destination email address

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

    The email address with the instance, in [^\s@]+@[^\s@]+\.[^\s@]+ format.

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

    The display name of email address.

    + * @public + */ + DisplayName?: string | undefined; } /** - * @public - * @enum - */ -export const IvrRecordingTrack = { - ALL: "ALL", -} as const; - -/** + *

    The additional recipients information of outbound email.

    * @public */ -export type IvrRecordingTrack = (typeof IvrRecordingTrack)[keyof typeof IvrRecordingTrack]; +export interface OutboundAdditionalRecipients { + /** + *

    The additional CC email address recipients information.

    + * @public + */ + CcEmailAddresses?: EmailAddressInfo[] | undefined; +} /** * @public * @enum */ -export const VoiceRecordingTrack = { - ALL: "ALL", - FROM_AGENT: "FROM_AGENT", - TO_AGENT: "TO_AGENT", +export const OutboundMessageSourceType = { + RAW: "RAW", + TEMPLATE: "TEMPLATE", } as const; /** * @public */ -export type VoiceRecordingTrack = (typeof VoiceRecordingTrack)[keyof typeof VoiceRecordingTrack]; +export type OutboundMessageSourceType = (typeof OutboundMessageSourceType)[keyof typeof OutboundMessageSourceType]; /** - *

    Contains information about the recording configuration settings.

    + *

    Information about the raw email body content.

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

    Identifies which track is being recorded.

    - * @public - */ - VoiceRecordingTrack?: VoiceRecordingTrack | undefined; - +export interface OutboundRawMessage { /** - *

    Identifies which IVR track is being recorded.

    + *

    The email subject.

    * @public */ - IvrRecordingTrack?: IvrRecordingTrack | undefined; -} + Subject: string | undefined; -/** - * @public - */ -export interface StartContactRecordingRequest { /** - *

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

    + *

    The email message body.

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

    The identifier of the contact.

    + *

    Type of content, that is, text/plain or text/html.

    * @public */ - ContactId: string | undefined; + ContentType: string | undefined; +} +/** + *

    Information about the template attributes.

    + * @public + */ +export interface TemplateAttributes { /** - *

    The identifier of the contact. This is the identifier of the contact associated with the - * first interaction with the contact center.

    + *

    An object that specifies the custom attributes values to use for variables in the message + * template. This object contains different categories of key-value pairs. Each key defines a + * variable or placeholder in the message template.

    * @public */ - InitialContactId: string | undefined; + CustomAttributes?: Record | undefined; /** - *

    The person being recorded.

    + *

    An object that specifies the customer profile attributes values to use for variables in the + * message template. This object contains different categories of key-value pairs. Each key defines + * a variable or placeholder in the message template.

    * @public */ - VoiceRecordingConfiguration: VoiceRecordingConfiguration | undefined; + CustomerProfileAttributes?: string | undefined; } /** + *

    Information about template message configuration.

    * @public */ -export interface StartContactRecordingResponse {} - -/** - * @public - */ -export interface StartContactStreamingRequest { - /** - *

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

    - * @public - */ - InstanceId: string | undefined; - +export interface TemplatedMessageConfig { /** - *

    The identifier of the contact. This is the identifier of the contact associated with the - * first interaction with the contact center.

    + *

    The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain + * the ARN.

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

    The streaming configuration, such as the Amazon SNS streaming endpoint.

    + *

    The identifier of the message template Id.

    * @public */ - ChatStreamingConfiguration: ChatStreamingConfiguration | undefined; + MessageTemplateId: string | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    Information about template attributes, that is, CustomAttributes or + * CustomerProfileAttributes.

    * @public */ - ClientToken?: string | undefined; + TemplateAttributes: TemplateAttributes | undefined; } /** + *

    Information about email body content.

    * @public */ -export interface StartContactStreamingResponse { +export interface OutboundEmailContent { /** - *

    The identifier of the streaming configuration enabled.

    + *

    The message source type, that is, RAW or TEMPLATE.

    * @public */ - StreamingId: string | undefined; -} + MessageSourceType: OutboundMessageSourceType | undefined; -/** - *

    The additional TO CC recipients information of inbound email.

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

    The additional recipients information present in to list.

    + *

    Information about template message configuration.

    * @public */ - ToAddresses?: EmailAddressInfo[] | undefined; + TemplatedMessageConfig?: TemplatedMessageConfig | undefined; /** - *

    The additional recipients information present in cc list.

    + *

    The raw email body content.

    * @public */ - CcAddresses?: EmailAddressInfo[] | undefined; + RawMessage?: OutboundRawMessage | undefined; } /** - *

    Information about the email attachment files.

    + *

    Information about the campaign.

    * @public */ -export interface EmailAttachment { +export interface SourceCampaign { /** - *

    A case-sensitive name of the attached file being uploaded.

    + *

    A unique identifier for a campaign.

    * @public */ - FileName: string | undefined; + CampaignId?: string | undefined; /** - *

    The pre-signed URLs for the S3 bucket where the email attachment is stored.

    + *

    A unique identifier for a each request part of same campaign.

    * @public */ - S3Url: string | undefined; + OutboundRequestId?: string | undefined; } /** * @public * @enum */ -export const InboundMessageSourceType = { - RAW: "RAW", +export const TrafficType = { + CAMPAIGN: "CAMPAIGN", + GENERAL: "GENERAL", } as const; /** * @public */ -export type InboundMessageSourceType = (typeof InboundMessageSourceType)[keyof typeof InboundMessageSourceType]; +export type TrafficType = (typeof TrafficType)[keyof typeof TrafficType]; /** * @public - * @enum */ -export const EmailHeaderType = { - IN_REPLY_TO: "IN_REPLY_TO", - MESSAGE_ID: "MESSAGE_ID", - REFERENCES: "REFERENCES", - X_SES_SPAM_VERDICT: "X_SES_SPAM_VERDICT", - X_SES_VIRUS_VERDICT: "X_SES_VIRUS_VERDICT", -} as const; +export interface SendOutboundEmailRequest { + /** + *

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

    + * @public + */ + InstanceId: string | undefined; -/** - * @public - */ -export type EmailHeaderType = (typeof EmailHeaderType)[keyof typeof EmailHeaderType]; + /** + *

    The email address to be used for sending email.

    + * @public + */ + FromEmailAddress: EmailAddressInfo | undefined; -/** - *

    Information about the raw email body content.

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

    The email subject.

    + *

    The email address to send the email to.

    * @public */ - Subject: string | undefined; + DestinationEmailAddress: EmailAddressInfo | undefined; /** - *

    The email message body.

    + *

    The additional recipients address of the email in CC.

    * @public */ - Body: string | undefined; + AdditionalRecipients?: OutboundAdditionalRecipients | undefined; /** - *

    Type of content, that is, text/plain or text/html.

    + *

    The email message body to be sent to the newly created email.

    * @public */ - ContentType: string | undefined; + EmailMessage: OutboundEmailContent | undefined; /** - *

    Headers present in inbound email.

    + *

    Denotes the class of traffic.

    * @public */ - Headers?: Partial> | undefined; -} + TrafficType: TrafficType | undefined; -/** - *

    Information about email body content.

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

    The message source type, that is, RAW.

    + *

    A Campaign object need for Campaign traffic type.

    * @public */ - MessageSourceType: InboundMessageSourceType | undefined; + SourceCampaign?: SourceCampaign | undefined; /** - *

    The raw email body content.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - RawMessage?: InboundRawMessage | undefined; + ClientToken?: string | undefined; } /** * @public */ -export interface StartEmailContactResponse { - /** - *

    The identifier of this contact within the Amazon Connect instance.

    - * @public - */ - ContactId?: string | undefined; -} +export interface SendOutboundEmailResponse {} /** * @public */ -export interface StartOutboundChatContactResponse { +export interface StartAttachedFileUploadRequest { /** - *

    The identifier of this contact within the Amazon Connect instance.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - ContactId?: string | undefined; -} + ClientToken?: string | undefined; -/** - * @public - */ -export interface StartOutboundEmailContactRequest { /** - *

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

    + *

    The unique identifier of the Amazon Connect instance.

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

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

    + *

    A case-sensitive name of the attached file being uploaded.

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

    The email address associated with the instance.

    + *

    The size of the attached file in bytes.

    * @public */ - FromEmailAddress?: EmailAddressInfo | undefined; + FileSizeInBytes: number | undefined; /** - *

    The email address of the customer.

    + *

    Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is + * 300.

    * @public */ - DestinationEmailAddress: EmailAddressInfo | undefined; + UrlExpiryInSeconds?: number | undefined; /** - *

    The addtional recipients address of email in CC.

    + *

    The use case for the file.

    + * + *

    Only ATTACHMENTS are supported.

    + *
    * @public */ - AdditionalRecipients?: OutboundAdditionalRecipients | undefined; + FileUseCaseType: FileUseCaseType | undefined; /** - *

    The email message body to be sent to the newly created email.

    + *

    The resource to which the attached file is (being) uploaded to. The supported resources are + * Cases and Email.

    + * + *

    This value must be a valid ARN.

    + *
    * @public */ - EmailMessage: OutboundEmailContent | undefined; + AssociatedResourceArn: string | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    Represents the identity that created the file.

    * @public */ - ClientToken?: string | undefined; -} + CreatedBy?: CreatedByInfo | undefined; -/** - * @public - */ -export interface StartOutboundEmailContactResponse { /** - *

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

    + *

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

    * @public */ - ContactId?: string | undefined; + Tags?: Record | undefined; } /** - *

    Outbound calls to the destination number are not allowed.

    + *

    Fields required when uploading an attached file.

    * @public */ -export class DestinationNotAllowedException extends __BaseException { - readonly name: "DestinationNotAllowedException" = "DestinationNotAllowedException"; - readonly $fault: "client" = "client"; +export interface UploadUrlMetadata { /** - *

    The message about the outbound calls.

    + *

    A pre-signed S3 URL that should be used for uploading the attached file.

    * @public */ - Message?: string | undefined; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "DestinationNotAllowedException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, DestinationNotAllowedException.prototype); - this.Message = opts.Message; - } -} + Url?: string | undefined; -/** - *

    The contact is not permitted.

    - * @public - */ -export class OutboundContactNotPermittedException extends __BaseException { - readonly name: "OutboundContactNotPermittedException" = "OutboundContactNotPermittedException"; - readonly $fault: "client" = "client"; /** - *

    The message about the contact.

    + *

    The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 format: + * yyyy-MM-ddThh:mm:ss.SSSZ. For example, + * 2019-11-08T02:41:28.172Z.

    * @public */ - Message?: string | undefined; + UrlExpiry?: string | undefined; + /** - * @internal + *

    A map of headers that should be provided when uploading the attached file.

    + * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "OutboundContactNotPermittedException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, OutboundContactNotPermittedException.prototype); - this.Message = opts.Message; - } + HeadersToInclude?: Record | undefined; } /** - *

    Configuration of the answering machine detection.

    + * Response from StartAttachedFileUpload API. * @public */ -export interface AnswerMachineDetectionConfig { +export interface StartAttachedFileUploadResponse { /** - *

    The flag to indicate if answer machine detection analysis needs to be performed for a voice - * call. If set to true, TrafficType must be set as CAMPAIGN. - *

    + *

    The unique identifier of the attached file resource (ARN).

    * @public */ - EnableAnswerMachineDetection?: boolean | undefined; + FileArn?: string | undefined; /** - *

    Wait for the answering machine prompt.

    + *

    The unique identifier of the attached file resource.

    * @public */ - AwaitAnswerMachinePrompt?: boolean | undefined; -} + FileId?: string | undefined; -/** - * @public - */ -export interface StartOutboundVoiceContactRequest { /** - *

    The name of a voice contact that is shown to an agent in the Contact Control Panel - * (CCP).

    + *

    The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 + * format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, + * 2024-05-03T02:41:28.172Z.

    * @public */ - Name?: string | undefined; + CreationTime?: string | undefined; /** - *

    A description of the voice contact that is shown to an agent in the Contact Control Panel - * (CCP).

    + *

    The current status of the attached file.

    * @public */ - Description?: string | undefined; + FileStatus?: FileStatusType | undefined; /** - *

    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.

    + *

    Represents the identity that created the file.

    * @public */ - References?: Record | undefined; + CreatedBy?: CreatedByInfo | undefined; /** - *

    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.

    + *

    Information to be used while uploading the attached file.

    * @public */ - RelatedContactId?: string | undefined; + UploadUrlMetadata?: UploadUrlMetadata | undefined; +} +/** + *

    A chat message.

    + * @public + */ +export interface ChatMessage { /** - *

    The phone number of the customer, in E.164 format.

    + *

    The type of the content. Supported types are text/plain, + * text/markdown, application/json, and + * application/vnd.amazonaws.connect.message.interactive.response.

    * @public */ - DestinationPhoneNumber: string | undefined; + ContentType: string | undefined; /** - *

    The - * identifier of the flow for the outbound call. To see the ContactFlowId in the Amazon Connect admin website, on the - * navigation menu go to Routing, Contact - * Flows. Choose the flow. On the flow page, under the name of the flow, choose - * Show additional flow information. The ContactFlowId is the last - * part of the ARN, shown here in bold:

    - *

    arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx - *

    + *

    The content of the chat message.

    + *
      + *
    • + *

      For text/plain and text/markdown, the Length Constraints are + * Minimum of 1, Maximum of 1024.

      + *
    • + *
    • + *

      For application/json, the Length Constraints are Minimum of 1, Maximum of + * 12000.

      + *
    • + *
    • + *

      For application/vnd.amazonaws.connect.message.interactive.response, the + * Length Constraints are Minimum of 1, Maximum of 12288.

      + *
    • + *
    * @public */ - ContactFlowId: string | undefined; + Content: string | undefined; +} +/** + *

    Enable persistent chats. For more information about enabling persistent chat, and for + * example use cases and how to configure for them, see Enable persistent chat.

    + * @public + */ +export interface PersistentChat { /** - *

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

    + *

    The contactId that is used for rehydration depends on the rehydration type. RehydrationType + * is required for persistent chat.

    + *
      + *
    • + *

      + * ENTIRE_PAST_SESSION: Rehydrates a chat from the most recently terminated past + * chat contact of the specified past ended chat session. To use this type, provide the + * initialContactId of the past ended chat session in the + * sourceContactId field. In this type, Amazon Connect determines the most + * recent chat contact on the specified chat session that has ended, and uses it to start a + * persistent chat.

      + *
    • + *
    • + *

      + * FROM_SEGMENT: Rehydrates a chat from the past chat contact that is specified + * in the sourceContactId field.

      + *
    • + *
    + *

    The actual contactId used for rehydration is provided in the response of this API.

    * @public */ - InstanceId: string | undefined; + RehydrationType?: RehydrationType | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs. The token is valid for 7 days after creation. If a contact is already started, - * the contact ID is returned. - *

    + *

    The contactId from which a persistent chat session must be started.

    * @public */ - ClientToken?: string | undefined; + SourceContactId?: string | undefined; +} +/** + * @public + */ +export interface StartChatContactResponse { /** - *

    The phone number associated with the Amazon Connect instance, in E.164 format. If you do - * not specify a source phone number, you must specify a queue.

    + *

    The identifier of this contact within the Amazon Connect instance.

    * @public */ - SourcePhoneNumber?: string | undefined; + ContactId?: string | undefined; /** - *

    The queue for the call. If you specify a queue, the phone displayed for caller ID is the - * phone number specified in the queue. If you do not specify a queue, the queue defined in the flow - * is used. If you do not specify a queue, you must specify a source phone number.

    + *

    The identifier for a chat participant. The participantId for a chat participant is the same + * throughout the chat lifecycle.

    * @public */ - QueueId?: string | undefined; + ParticipantId?: string | undefined; /** - *

    A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.

    - *

    There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys - * can include only alphanumeric, dash, and underscore characters.

    + *

    The token used by the chat participant to call CreateParticipantConnection. The participant token is valid for the lifetime of a chat + * participant.

    * @public */ - Attributes?: Record | undefined; + ParticipantToken?: string | undefined; /** - *

    Configuration of the answering machine detection for this outbound call.

    + *

    The contactId from which a persistent chat session is started. This field is populated only + * for persistent chats.

    * @public */ - AnswerMachineDetectionConfig?: AnswerMachineDetectionConfig | undefined; + ContinuedFromContactId?: string | undefined; +} +/** + * @public + */ +export interface StartContactEvaluationRequest { /** - *

    The campaign identifier of the outbound communication.

    + *

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

    * @public */ - CampaignId?: string | undefined; + InstanceId: string | undefined; /** - *

    Denotes the class of traffic. Calls with different traffic types are handled differently by - * Amazon Connect. The default value is GENERAL. Use CAMPAIGN if - * EnableAnswerMachineDetection is set to true. For all other cases, use - * GENERAL.

    + *

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

    * @public */ - TrafficType?: TrafficType | undefined; -} + ContactId: string | undefined; -/** - * @public - */ -export interface StartOutboundVoiceContactResponse { /** - *

    The identifier of this contact within the Amazon Connect instance.

    + *

    The unique identifier for the evaluation form.

    * @public */ - ContactId?: string | undefined; -} + EvaluationFormId: string | undefined; -/** - * @public - */ -export interface StartScreenSharingRequest { /** *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the * request. If not provided, the Amazon Web Services @@ -5154,70 +5014,75 @@ export interface StartScreenSharingRequest { * @public */ ClientToken?: string | undefined; +} +/** + * @public + */ +export interface StartContactEvaluationResponse { /** - *

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

    + *

    A unique identifier for the contact evaluation.

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

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

    + *

    The Amazon Resource Name (ARN) for the contact evaluation resource.

    * @public */ - ContactId: string | undefined; + EvaluationArn: string | undefined; } /** * @public + * @enum */ -export interface StartScreenSharingResponse {} +export const IvrRecordingTrack = { + ALL: "ALL", +} as const; /** * @public */ -export interface StartTaskContactResponse { - /** - *

    The identifier of this contact within the Amazon Connect instance.

    - * @public - */ - ContactId?: string | undefined; -} +export type IvrRecordingTrack = (typeof IvrRecordingTrack)[keyof typeof IvrRecordingTrack]; /** * @public + * @enum */ -export interface StartWebRTCContactRequest { - /** - *

    A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.

    - *

    There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys - * can include only alphanumeric, -, and _ characters.

    - * @public - */ - Attributes?: Record | undefined; +export const VoiceRecordingTrack = { + ALL: "ALL", + FROM_AGENT: "FROM_AGENT", + TO_AGENT: "TO_AGENT", +} as const; + +/** + * @public + */ +export type VoiceRecordingTrack = (typeof VoiceRecordingTrack)[keyof typeof VoiceRecordingTrack]; +/** + *

    Contains information about the recording configuration settings.

    + * @public + */ +export interface VoiceRecordingConfiguration { /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    - *

    The token is valid for 7 days after creation. If a contact is already started, the contact - * ID is returned.

    + *

    Identifies which track is being recorded.

    * @public */ - ClientToken?: string | undefined; + VoiceRecordingTrack?: VoiceRecordingTrack | undefined; /** - *

    The identifier of the flow for the call. To see the ContactFlowId in the Amazon Connect admin website, on the - * navigation menu go to Routing, Flows. Choose the flow. On the flow page, under the name of the flow, choose - * Show additional flow information. The ContactFlowId is the last - * part of the ARN, shown here in bold:

    - *

    arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx - *

    + *

    Identifies which IVR track is being recorded.

    * @public */ - ContactFlowId: string | undefined; + IvrRecordingTrack?: IvrRecordingTrack | undefined; +} +/** + * @public + */ +export interface StartContactRecordingRequest { /** *

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

    * @public @@ -5225,449 +5090,484 @@ export interface StartWebRTCContactRequest { InstanceId: string | undefined; /** - *

    Information about the video sharing capabilities of the participants (customer, - * agent).

    + *

    The identifier of the contact.

    * @public */ - AllowedCapabilities?: AllowedCapabilities | undefined; + ContactId: string | undefined; /** - *

    The customer's details.

    + *

    The identifier of the contact. This is the identifier of the contact associated with the + * first interaction with the contact center.

    * @public */ - ParticipantDetails: ParticipantDetails | undefined; + InitialContactId: string | undefined; /** - *

    The unique identifier for an Amazon Connect contact. This identifier is related to the - * contact starting.

    + *

    The person being recorded.

    * @public */ - RelatedContactId?: string | undefined; + VoiceRecordingConfiguration: VoiceRecordingConfiguration | undefined; +} + +/** + * @public + */ +export interface StartContactRecordingResponse {} +/** + * @public + */ +export interface StartContactStreamingRequest { /** - *

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

    + *

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

    * @public */ - References?: Record | undefined; + InstanceId: string | undefined; /** - *

    A description of the task that is shown to an agent in the Contact Control Panel - * (CCP).

    + *

    The identifier of the contact. This is the identifier of the contact associated with the + * first interaction with the contact center.

    * @public */ - Description?: string | undefined; -} + ContactId: string | undefined; -/** - *

    The attendee information, including attendee ID and join token.

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

    The Amazon Chime SDK attendee ID.

    + *

    The streaming configuration, such as the Amazon SNS streaming endpoint.

    * @public */ - AttendeeId?: string | undefined; + ChatStreamingConfiguration: ChatStreamingConfiguration | undefined; /** - *

    The join token used by the Amazon Chime SDK attendee.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - JoinToken?: string | undefined; + ClientToken?: string | undefined; } /** - *

    A set of endpoints used by clients to connect to the media service group for an Amazon Chime SDK meeting.

    * @public */ -export interface MediaPlacement { +export interface StartContactStreamingResponse { /** - *

    The audio host URL.

    + *

    The identifier of the streaming configuration enabled.

    * @public */ - AudioHostUrl?: string | undefined; + StreamingId: string | undefined; +} +/** + *

    The additional TO CC recipients information of inbound email.

    + * @public + */ +export interface InboundAdditionalRecipients { /** - *

    The audio fallback URL.

    + *

    The additional recipients information present in to list.

    * @public */ - AudioFallbackUrl?: string | undefined; + ToAddresses?: EmailAddressInfo[] | undefined; /** - *

    The signaling URL.

    + *

    The additional recipients information present in cc list.

    * @public */ - SignalingUrl?: string | undefined; + CcAddresses?: EmailAddressInfo[] | undefined; +} +/** + *

    Information about the email attachment files.

    + * @public + */ +export interface EmailAttachment { /** - *

    The turn control URL.

    + *

    A case-sensitive name of the attached file being uploaded.

    * @public */ - TurnControlUrl?: string | undefined; + FileName: string | undefined; /** - *

    The event ingestion URL to which you send client meeting events.

    + *

    The pre-signed URLs for the S3 bucket where the email attachment is stored.

    * @public */ - EventIngestionUrl?: string | undefined; + S3Url: string | undefined; } /** * @public * @enum */ -export const MeetingFeatureStatus = { - AVAILABLE: "AVAILABLE", - UNAVAILABLE: "UNAVAILABLE", +export const InboundMessageSourceType = { + RAW: "RAW", } as const; /** * @public */ -export type MeetingFeatureStatus = (typeof MeetingFeatureStatus)[keyof typeof MeetingFeatureStatus]; +export type InboundMessageSourceType = (typeof InboundMessageSourceType)[keyof typeof InboundMessageSourceType]; /** - *

    Has audio-specific configurations as the operating parameter for Echo Reduction.

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

    Makes echo reduction available to clients who connect to the meeting.

    - * @public - */ - EchoReduction?: MeetingFeatureStatus | undefined; -} +export const EmailHeaderType = { + IN_REPLY_TO: "IN_REPLY_TO", + MESSAGE_ID: "MESSAGE_ID", + REFERENCES: "REFERENCES", + X_SES_SPAM_VERDICT: "X_SES_SPAM_VERDICT", + X_SES_VIRUS_VERDICT: "X_SES_VIRUS_VERDICT", +} as const; /** - *

    The configuration settings of the features available to a meeting.

    * @public */ -export interface MeetingFeaturesConfiguration { +export type EmailHeaderType = (typeof EmailHeaderType)[keyof typeof EmailHeaderType]; + +/** + *

    Information about the raw email body content.

    + * @public + */ +export interface InboundRawMessage { /** - *

    The configuration settings for the audio features available to a meeting.

    + *

    The email subject.

    * @public */ - Audio?: AudioFeatures | undefined; + Subject: string | undefined; + + /** + *

    The email message body.

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

    Type of content, that is, text/plain or text/html.

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

    Headers present in inbound email.

    + * @public + */ + Headers?: Partial> | undefined; } /** - *

    A meeting created using the Amazon Chime SDK.

    + *

    Information about email body content.

    * @public */ -export interface Meeting { +export interface InboundEmailContent { /** - *

    The Amazon Web Services Region in which you create the meeting.

    + *

    The message source type, that is, RAW.

    * @public */ - MediaRegion?: string | undefined; + MessageSourceType: InboundMessageSourceType | undefined; /** - *

    The media placement for the meeting.

    + *

    The raw email body content.

    * @public */ - MediaPlacement?: MediaPlacement | undefined; + RawMessage?: InboundRawMessage | undefined; +} +/** + * @public + */ +export interface StartEmailContactResponse { /** - *

    The configuration settings of the features available to a meeting.

    + *

    The identifier of this contact within the Amazon Connect instance.

    * @public */ - MeetingFeatures?: MeetingFeaturesConfiguration | undefined; + ContactId?: string | undefined; +} +/** + * @public + */ +export interface StartOutboundChatContactResponse { /** - *

    The Amazon Chime SDK meeting ID.

    + *

    The identifier of this contact within the Amazon Connect instance.

    * @public */ - MeetingId?: string | undefined; + ContactId?: string | undefined; } /** - *

    Information required to join the call.

    * @public */ -export interface ConnectionData { +export interface StartOutboundEmailContactRequest { /** - *

    The attendee information, including attendee ID and join token.

    + *

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

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

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

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

    The email address associated with the instance.

    * @public */ - Attendee?: Attendee | undefined; + FromEmailAddress?: EmailAddressInfo | undefined; /** - *

    A meeting created using the Amazon Chime SDK.

    + *

    The email address of the customer.

    * @public */ - Meeting?: Meeting | undefined; -} + DestinationEmailAddress: EmailAddressInfo | undefined; -/** - * @public - */ -export interface StartWebRTCContactResponse { /** - *

    Information required for the client application (mobile application or website) to connect - * to the call.

    + *

    The addtional recipients address of email in CC.

    * @public */ - ConnectionData?: ConnectionData | undefined; + AdditionalRecipients?: OutboundAdditionalRecipients | undefined; /** - *

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

    + *

    The email message body to be sent to the newly created email.

    * @public */ - ContactId?: string | undefined; + EmailMessage: OutboundEmailContent | undefined; /** - *

    The identifier for a contact participant. The ParticipantId for a contact - * participant is the same throughout the contact lifecycle.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - ParticipantId?: string | undefined; + ClientToken?: string | undefined; +} +/** + * @public + */ +export interface StartOutboundEmailContactResponse { /** - *

    The token used by the contact participant to call the CreateParticipantConnection API. The participant token is valid for the lifetime of a - * contact participant.

    + *

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

    * @public */ - ParticipantToken?: string | undefined; + ContactId?: string | undefined; } /** - *

    The contact with the specified ID is not active or does not exist. Applies to Voice calls - * only, not to Chat or Task contacts.

    + *

    Outbound calls to the destination number are not allowed.

    * @public */ -export class ContactNotFoundException extends __BaseException { - readonly name: "ContactNotFoundException" = "ContactNotFoundException"; +export class DestinationNotAllowedException extends __BaseException { + readonly name: "DestinationNotAllowedException" = "DestinationNotAllowedException"; readonly $fault: "client" = "client"; /** - *

    The message.

    + *

    The message about the outbound calls.

    * @public */ Message?: string | undefined; /** * @internal */ - constructor(opts: __ExceptionOptionType) { + constructor(opts: __ExceptionOptionType) { super({ - name: "ContactNotFoundException", + name: "DestinationNotAllowedException", $fault: "client", ...opts, }); - Object.setPrototypeOf(this, ContactNotFoundException.prototype); + Object.setPrototypeOf(this, DestinationNotAllowedException.prototype); this.Message = opts.Message; } } /** - *

    Contains details about why a contact was disconnected. Only Amazon Connect outbound - * campaigns can provide this field.

    + *

    The contact is not permitted.

    * @public */ -export interface DisconnectReason { +export class OutboundContactNotPermittedException extends __BaseException { + readonly name: "OutboundContactNotPermittedException" = "OutboundContactNotPermittedException"; + readonly $fault: "client" = "client"; /** - *

    A code that indicates how the contact was terminated.

    + *

    The message about the contact.

    * @public */ - Code?: string | undefined; + Message?: string | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "OutboundContactNotPermittedException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, OutboundContactNotPermittedException.prototype); + this.Message = opts.Message; + } } /** + *

    Configuration of the answering machine detection.

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

    The ID of the contact.

    - * @public - */ - ContactId: string | undefined; - +export interface AnswerMachineDetectionConfig { /** - *

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

    + *

    The flag to indicate if answer machine detection analysis needs to be performed for a voice + * call. If set to true, TrafficType must be set as CAMPAIGN. + *

    * @public */ - InstanceId: string | undefined; + EnableAnswerMachineDetection?: boolean | undefined; /** - *

    The reason a contact can be disconnected. Only Amazon Connect outbound campaigns can - * provide this field.

    + *

    Wait for the answering machine prompt.

    * @public */ - DisconnectReason?: DisconnectReason | undefined; + AwaitAnswerMachinePrompt?: boolean | undefined; } /** * @public */ -export interface StopContactResponse {} - -/** - * @public - */ -export interface StopContactRecordingRequest { +export interface StartOutboundVoiceContactRequest { /** - *

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

    + *

    The name of a voice contact that is shown to an agent in the Contact Control Panel + * (CCP).

    * @public */ - InstanceId: string | undefined; + Name?: string | undefined; /** - *

    The identifier of the contact.

    + *

    A description of the voice contact that is shown to an agent in the Contact Control Panel + * (CCP).

    * @public */ - ContactId: string | undefined; + Description?: string | undefined; /** - *

    The identifier of the contact. This is the identifier of the contact associated with the - * first interaction with the contact center.

    + *

    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.

    * @public */ - InitialContactId: string | undefined; + References?: Record | undefined; /** - *

    The type of recording being operated on.

    + *

    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.

    * @public */ - ContactRecordingType?: ContactRecordingType | undefined; -} - -/** - * @public - */ -export interface StopContactRecordingResponse {} + RelatedContactId?: string | undefined; -/** - * @public - */ -export interface StopContactStreamingRequest { /** - *

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

    + *

    The phone number of the customer, in E.164 format.

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

    The identifier of the contact. This is the identifier of the contact that is associated with - * the first interaction with the contact center.

    + *

    The + * identifier of the flow for the outbound call. To see the ContactFlowId in the Amazon Connect admin website, on the + * navigation menu go to Routing, Contact + * Flows. Choose the flow. On the flow page, under the name of the flow, choose + * Show additional flow information. The ContactFlowId is the last + * part of the ARN, shown here in bold:

    + *

    arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx + *

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

    The identifier of the streaming configuration enabled.

    + *

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

    * @public */ - StreamingId: string | undefined; -} - -/** - * @public - */ -export interface StopContactStreamingResponse {} + InstanceId: string | undefined; -/** - *

    Information about input answers for a contact evaluation.

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

    The value for an answer in a contact evaluation.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs. The token is valid for 7 days after creation. If a contact is already started, + * the contact ID is returned. + *

    * @public */ - Value?: EvaluationAnswerData | undefined; -} + ClientToken?: string | undefined; -/** - * @public - */ -export interface SubmitContactEvaluationRequest { /** - *

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

    + *

    The phone number associated with the Amazon Connect instance, in E.164 format. If you do + * not specify a source phone number, you must specify a queue.

    * @public */ - InstanceId: string | undefined; + SourcePhoneNumber?: string | undefined; /** - *

    A unique identifier for the contact evaluation.

    + *

    The queue for the call. If you specify a queue, the phone displayed for caller ID is the + * phone number specified in the queue. If you do not specify a queue, the queue defined in the flow + * is used. If you do not specify a queue, you must specify a source phone number.

    * @public */ - EvaluationId: string | undefined; + QueueId?: string | undefined; /** - *

    A map of question identifiers to answer value.

    + *

    A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.

    + *

    There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys + * can include only alphanumeric, dash, and underscore characters.

    * @public */ - Answers?: Record | undefined; + Attributes?: Record | undefined; /** - *

    A map of question identifiers to note value.

    + *

    Configuration of the answering machine detection for this outbound call.

    * @public */ - Notes?: Record | undefined; -} + AnswerMachineDetectionConfig?: AnswerMachineDetectionConfig | undefined; -/** - * @public - */ -export interface SubmitContactEvaluationResponse { /** - *

    A unique identifier for the contact evaluation.

    + *

    The campaign identifier of the outbound communication.

    * @public */ - EvaluationId: string | undefined; + CampaignId?: string | undefined; /** - *

    The Amazon Resource Name (ARN) for the contact evaluation resource.

    + *

    Denotes the class of traffic. Calls with different traffic types are handled differently by + * Amazon Connect. The default value is GENERAL. Use CAMPAIGN if + * EnableAnswerMachineDetection is set to true. For all other cases, use + * GENERAL.

    * @public */ - EvaluationArn: string | undefined; + TrafficType?: TrafficType | undefined; } /** * @public */ -export interface SuspendContactRecordingRequest { - /** - *

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

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

    The identifier of the contact.

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

    The identifier of the contact. This is the identifier of the contact associated with the - * first interaction with the contact center.

    - * @public - */ - InitialContactId: string | undefined; - +export interface StartOutboundVoiceContactResponse { /** - *

    The type of recording being operated on.

    + *

    The identifier of this contact within the Amazon Connect instance.

    * @public */ - ContactRecordingType?: ContactRecordingType | undefined; + ContactId?: string | undefined; } /** * @public */ -export interface SuspendContactRecordingResponse {} - -/** - * @public - */ -export interface TagContactRequest { +export interface StartScreenSharingRequest { /** - *

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

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - ContactId: string | undefined; + ClientToken?: string | undefined; /** *

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

    @@ -5676,42 +5576,62 @@ export interface TagContactRequest { InstanceId: string | undefined; /** - *

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

    - * - *

    Authorization is not supported by this tag.

    - *
    + *

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

    * @public */ - Tags: Record | undefined; + ContactId: string | undefined; } /** * @public */ -export interface TagContactResponse {} +export interface StartScreenSharingResponse {} /** * @public */ -export interface TagResourceRequest { - /** - *

    The Amazon Resource Name (ARN) of the resource.

    - * @public - */ - resourceArn: string | undefined; - +export interface StartTaskContactResponse { /** - *

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

    + *

    The identifier of this contact within the Amazon Connect instance.

    * @public */ - tags: Record | undefined; + ContactId?: string | undefined; } /** * @public */ -export interface TransferContactRequest { +export interface StartWebRTCContactRequest { + /** + *

    A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.

    + *

    There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys + * can include only alphanumeric, -, and _ characters.

    + * @public + */ + Attributes?: Record | undefined; + + /** + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    + *

    The token is valid for 7 days after creation. If a contact is already started, the contact + * ID is returned.

    + * @public + */ + ClientToken?: string | undefined; + + /** + *

    The identifier of the flow for the call. To see the ContactFlowId in the Amazon Connect admin website, on the + * navigation menu go to Routing, Flows. Choose the flow. On the flow page, under the name of the flow, choose + * Show additional flow information. The ContactFlowId is the last + * part of the ARN, shown here in bold:

    + *

    arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx + *

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

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

    * @public @@ -5719,232 +5639,263 @@ export interface TransferContactRequest { InstanceId: string | undefined; /** - *

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

    + *

    Information about the video sharing capabilities of the participants (customer, + * agent).

    * @public */ - ContactId: string | undefined; + AllowedCapabilities?: AllowedCapabilities | undefined; /** - *

    The identifier for the queue.

    + *

    The customer's details.

    * @public */ - QueueId?: string | undefined; + ParticipantDetails: ParticipantDetails | undefined; /** - *

    The identifier for the user. This can be the ID or the ARN of the user.

    + *

    The unique identifier for an Amazon Connect contact. This identifier is related to the + * contact starting.

    * @public */ - UserId?: string | undefined; + RelatedContactId?: string | undefined; /** - *

    The identifier of the flow.

    + *

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

    * @public */ - ContactFlowId: string | undefined; + References?: Record | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    A description of the task that is shown to an agent in the Contact Control Panel + * (CCP).

    * @public */ - ClientToken?: string | undefined; + Description?: string | undefined; } /** + *

    The attendee information, including attendee ID and join token.

    * @public */ -export interface TransferContactResponse { +export interface Attendee { /** - *

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

    + *

    The Amazon Chime SDK attendee ID.

    * @public */ - ContactId?: string | undefined; + AttendeeId?: string | undefined; /** - *

    The Amazon Resource Name (ARN) of the contact.

    + *

    The join token used by the Amazon Chime SDK attendee.

    * @public */ - ContactArn?: string | undefined; + JoinToken?: string | undefined; } /** + *

    A set of endpoints used by clients to connect to the media service group for an Amazon Chime SDK meeting.

    * @public */ -export interface UntagContactRequest { +export interface MediaPlacement { /** - *

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

    + *

    The audio host URL.

    * @public */ - ContactId: string | undefined; + AudioHostUrl?: string | undefined; /** - *

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

    + *

    The audio fallback URL.

    * @public */ - InstanceId: string | undefined; + AudioFallbackUrl?: string | undefined; /** - *

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

    + *

    The signaling URL.

    * @public */ - TagKeys: string[] | undefined; + SignalingUrl?: string | undefined; + + /** + *

    The turn control URL.

    + * @public + */ + TurnControlUrl?: string | undefined; + + /** + *

    The event ingestion URL to which you send client meeting events.

    + * @public + */ + EventIngestionUrl?: string | undefined; } /** * @public + * @enum */ -export interface UntagContactResponse {} +export const MeetingFeatureStatus = { + AVAILABLE: "AVAILABLE", + UNAVAILABLE: "UNAVAILABLE", +} as const; /** * @public */ -export interface UntagResourceRequest { - /** - *

    The Amazon Resource Name (ARN) of the resource.

    - * @public - */ - resourceArn: string | undefined; +export type MeetingFeatureStatus = (typeof MeetingFeatureStatus)[keyof typeof MeetingFeatureStatus]; +/** + *

    Has audio-specific configurations as the operating parameter for Echo Reduction.

    + * @public + */ +export interface AudioFeatures { /** - *

    The tag keys.

    + *

    Makes echo reduction available to clients who connect to the meeting.

    * @public */ - tagKeys: string[] | undefined; + EchoReduction?: MeetingFeatureStatus | undefined; } /** + *

    The configuration settings of the features available to a meeting.

    * @public */ -export interface UpdateAgentStatusRequest { +export interface MeetingFeaturesConfiguration { /** - *

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

    + *

    The configuration settings for the audio features available to a meeting.

    * @public */ - InstanceId: string | undefined; + Audio?: AudioFeatures | undefined; +} +/** + *

    A meeting created using the Amazon Chime SDK.

    + * @public + */ +export interface Meeting { /** - *

    The identifier of the agent status.

    + *

    The Amazon Web Services Region in which you create the meeting.

    * @public */ - AgentStatusId: string | undefined; + MediaRegion?: string | undefined; /** - *

    The name of the agent status.

    + *

    The media placement for the meeting.

    * @public */ - Name?: string | undefined; + MediaPlacement?: MediaPlacement | undefined; /** - *

    The description of the agent status.

    + *

    The configuration settings of the features available to a meeting.

    * @public */ - Description?: string | undefined; + MeetingFeatures?: MeetingFeaturesConfiguration | undefined; /** - *

    The state of the agent status.

    + *

    The Amazon Chime SDK meeting ID.

    * @public */ - State?: AgentStatusState | undefined; + MeetingId?: string | undefined; +} +/** + *

    Information required to join the call.

    + * @public + */ +export interface ConnectionData { /** - *

    The display order of the agent status.

    + *

    The attendee information, including attendee ID and join token.

    * @public */ - DisplayOrder?: number | undefined; + Attendee?: Attendee | undefined; /** - *

    A number indicating the reset order of the agent status.

    + *

    A meeting created using the Amazon Chime SDK.

    * @public */ - ResetOrderNumber?: boolean | undefined; + Meeting?: Meeting | undefined; } /** * @public */ -export interface UpdateAuthenticationProfileRequest { - /** - *

    A unique identifier for the authentication profile.

    - * @public - */ - AuthenticationProfileId: string | undefined; - +export interface StartWebRTCContactResponse { /** - *

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

    + *

    Information required for the client application (mobile application or website) to connect + * to the call.

    * @public */ - InstanceId: string | undefined; + ConnectionData?: ConnectionData | undefined; /** - *

    The name for the authentication profile.

    + *

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

    * @public */ - Name?: string | undefined; + ContactId?: string | undefined; /** - *

    The description for the authentication profile.

    + *

    The identifier for a contact participant. The ParticipantId for a contact + * participant is the same throughout the contact lifecycle.

    * @public */ - Description?: string | undefined; + ParticipantId?: string | undefined; /** - *

    A list of IP address range strings that are allowed to access the instance. For more - * information on how to configure IP addresses, seeConfigure session timeouts in the Amazon Connect Administrator - * Guide.

    + *

    The token used by the contact participant to call the CreateParticipantConnection API. The participant token is valid for the lifetime of a + * contact participant.

    * @public */ - AllowedIps?: string[] | undefined; + ParticipantToken?: string | undefined; +} +/** + *

    The contact with the specified ID is not active or does not exist. Applies to Voice calls + * only, not to Chat or Task contacts.

    + * @public + */ +export class ContactNotFoundException extends __BaseException { + readonly name: "ContactNotFoundException" = "ContactNotFoundException"; + readonly $fault: "client" = "client"; /** - *

    A list of IP address range strings that are blocked from accessing the instance. For more - * information on how to configure IP addresses, For more information on how to configure IP - * addresses, see Configure - * IP-based access control in the Amazon Connect Administrator - * Guide.

    + *

    The message.

    * @public */ - BlockedIps?: string[] | undefined; - + Message?: string | undefined; /** - *

    The short lived session duration configuration for users logged in to Amazon Connect, in - * minutes. This value determines the maximum possible time before an agent is authenticated. For - * more information, For more information on how to configure IP addresses, see Configure session timeouts in the Amazon Connect Administrator - * Guide.

    - * @public + * @internal */ - PeriodicSessionDuration?: number | undefined; + constructor(opts: __ExceptionOptionType) { + super({ + name: "ContactNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ContactNotFoundException.prototype); + this.Message = opts.Message; + } } /** - *

    Information about a queue.

    + *

    Contains details about why a contact was disconnected. Only Amazon Connect outbound + * campaigns can provide this field.

    * @public */ -export interface QueueInfoInput { +export interface DisconnectReason { /** - *

    The identifier of the queue.

    + *

    A code that indicates how the contact was terminated.

    * @public */ - Id?: string | undefined; + Code?: string | undefined; } /** * @public */ -export interface UpdateContactResponse {} - -/** - * @public - */ -export interface UpdateContactAttributesRequest { +export interface StopContactRequest { /** - *

    The identifier of the contact. This is the identifier of the contact associated with the - * first interaction with the contact center.

    + *

    The ID of the contact.

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

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

    @@ -5953,38 +5904,22 @@ export interface UpdateContactAttributesRequest { InstanceId: string | undefined; /** - *

    The Amazon Connect attributes. These attributes can be accessed in flows just like any - * other contact attributes.

    - *

    You can have up to 32,768 UTF-8 bytes across all attributes for a contact. Attribute keys - * can include only alphanumeric, dash, and underscore characters.

    - *

    When the attributes for a contact exceed 32 KB, the contact is routed down the Error branch - * of the flow. As a mitigation, consider the following options:

    - *
      - *
    • - *

      Remove unnecessary attributes by setting their values to empty.

      - *
    • - *
    • - *

      If the attributes are only used in one flow and don't need to be referred to outside of - * that flow (for example, by a Lambda or another flow), then use flow attributes. This way you - * aren't needlessly persisting the 32 KB of information from one flow to another. For more - * information, see Flow block: Set contact - * attributes in the Amazon Connect Administrator Guide.

      - *
    • - *
    + *

    The reason a contact can be disconnected. Only Amazon Connect outbound campaigns can + * provide this field.

    * @public */ - Attributes: Record | undefined; + DisconnectReason?: DisconnectReason | undefined; } /** * @public */ -export interface UpdateContactAttributesResponse {} +export interface StopContactResponse {} /** * @public */ -export interface UpdateContactEvaluationRequest { +export interface StopContactRecordingRequest { /** *

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

    * @public @@ -5992,144 +5927,121 @@ export interface UpdateContactEvaluationRequest { InstanceId: string | undefined; /** - *

    A unique identifier for the contact evaluation.

    + *

    The identifier of the contact.

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

    A map of question identifiers to answer value.

    + *

    The identifier of the contact. This is the identifier of the contact associated with the + * first interaction with the contact center.

    * @public */ - Answers?: Record | undefined; + InitialContactId: string | undefined; /** - *

    A map of question identifiers to note value.

    + *

    The type of recording being operated on.

    * @public */ - Notes?: Record | undefined; + ContactRecordingType?: ContactRecordingType | undefined; } /** * @public */ -export interface UpdateContactEvaluationResponse { - /** - *

    A unique identifier for the contact evaluation.

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

    The Amazon Resource Name (ARN) for the contact evaluation resource.

    - * @public - */ - EvaluationArn: string | undefined; -} +export interface StopContactRecordingResponse {} /** * @public */ -export interface UpdateContactFlowContentRequest { +export interface StopContactStreamingRequest { /** - *

    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.

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

    The identifier of the flow.

    + *

    The identifier of the contact. This is the identifier of the contact that is associated with + * the first interaction with the contact center.

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

    The JSON string that represents the content of the flow. For an example, see Example - * flow in Amazon Connect Flow language.

    - *

    Length Constraints: Minimum length of 1. Maximum length of 256000.

    + *

    The identifier of the streaming configuration enabled.

    * @public */ - Content: string | undefined; + StreamingId: string | undefined; } /** * @public */ -export interface UpdateContactFlowContentResponse {} +export interface StopContactStreamingResponse {} /** + *

    Information about input answers for a contact evaluation.

    * @public */ -export interface UpdateContactFlowMetadataRequest { +export interface EvaluationAnswerInput { /** - *

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

    + *

    The value for an answer in a contact evaluation.

    * @public */ - InstanceId: string | undefined; + Value?: EvaluationAnswerData | undefined; +} +/** + * @public + */ +export interface SubmitContactEvaluationRequest { /** - *

    The identifier of the flow.

    + *

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

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

    The name of the flow.

    + *

    A unique identifier for the contact evaluation.

    * @public */ - Name?: string | undefined; + EvaluationId: string | undefined; /** - *

    The description of the flow.

    + *

    A map of question identifiers to answer value.

    * @public */ - Description?: string | undefined; + Answers?: Record | undefined; /** - *

    The state of flow.

    + *

    A map of question identifiers to note value.

    * @public */ - ContactFlowState?: ContactFlowState | undefined; + Notes?: Record | undefined; } /** * @public */ -export interface UpdateContactFlowMetadataResponse {} - -/** - * @public - */ -export interface UpdateContactFlowModuleContentRequest { - /** - *

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

    - * @public - */ - InstanceId: string | undefined; - +export interface SubmitContactEvaluationResponse { /** - *

    The identifier of the flow module.

    + *

    A unique identifier for the contact evaluation.

    * @public */ - ContactFlowModuleId: string | undefined; + EvaluationId: string | undefined; /** - *

    The JSON string that represents the content of the flow. For an example, see Example - * flow in Amazon Connect Flow language.

    + *

    The Amazon Resource Name (ARN) for the contact evaluation resource.

    * @public */ - Content: string | undefined; + EvaluationArn: string | undefined; } /** * @public */ -export interface UpdateContactFlowModuleContentResponse {} - -/** - * @public - */ -export interface UpdateContactFlowModuleMetadataRequest { +export interface SuspendContactRecordingRequest { /** *

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

    * @public @@ -6137,92 +6049,83 @@ export interface UpdateContactFlowModuleMetadataRequest { InstanceId: string | undefined; /** - *

    The identifier of the flow module.

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

    The name of the flow module.

    + *

    The identifier of the contact.

    * @public */ - Name?: string | undefined; + ContactId: string | undefined; /** - *

    The description of the flow module.

    + *

    The identifier of the contact. This is the identifier of the contact associated with the + * first interaction with the contact center.

    * @public */ - Description?: string | undefined; + InitialContactId: string | undefined; /** - *

    The state of flow module.

    + *

    The type of recording being operated on.

    * @public */ - State?: ContactFlowModuleState | undefined; + ContactRecordingType?: ContactRecordingType | undefined; } /** * @public */ -export interface UpdateContactFlowModuleMetadataResponse {} +export interface SuspendContactRecordingResponse {} /** * @public */ -export interface UpdateContactFlowNameRequest { - /** - *

    The identifier of the Amazon Connect instance.

    - * @public - */ - InstanceId: string | undefined; - +export interface TagContactRequest { /** - *

    The identifier of the flow.

    + *

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

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

    The name of the flow.

    + *

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

    * @public */ - Name?: string | undefined; + InstanceId: string | undefined; /** - *

    The description of the flow.

    + *

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

    + * + *

    Authorization is not supported by this tag.

    + *
    * @public */ - Description?: string | undefined; + Tags: Record | undefined; } /** * @public */ -export interface UpdateContactFlowNameResponse {} +export interface TagContactResponse {} /** - *

    Specify whether this routing criteria step should apply for only a limited amount of time, - * or if it should never expire.

    * @public */ -export interface RoutingCriteriaInputStepExpiry { +export interface TagResourceRequest { /** - *

    The number of seconds that the contact will be routed only to agents matching this routing - * step, if expiry was configured for this routing step.

    + *

    The Amazon Resource Name (ARN) of the resource.

    * @public */ - DurationInSeconds?: number | undefined; -} + resourceArn: string | undefined; -/** - * @public - */ -export interface UpdateContactRoutingDataResponse {} + /** + *

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

    + * @public + */ + tags: Record | undefined; +} /** * @public */ -export interface UpdateContactScheduleRequest { +export interface TransferContactRequest { /** *

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

    * @public @@ -6230,105 +6133,106 @@ export interface UpdateContactScheduleRequest { InstanceId: string | undefined; /** - *

    The identifier of the contact.

    + *

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

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

    The timestamp, in Unix Epoch seconds format, at which to start running the inbound flow. The scheduled time cannot be in the past. It must be within up to 6 days in future.

    + *

    The identifier for the queue.

    * @public */ - ScheduledTime: Date | undefined; -} - -/** - * @public - */ -export interface UpdateContactScheduleResponse {} + QueueId?: string | undefined; -/** - * @public - */ -export interface UpdateEmailAddressMetadataRequest { /** - *

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

    + *

    The identifier for the user. This can be the ID or the ARN of the user.

    * @public */ - InstanceId: string | undefined; + UserId?: string | undefined; /** - *

    The identifier of the email address.

    + *

    The identifier of the flow.

    * @public */ - EmailAddressId: string | undefined; + ContactFlowId: string | undefined; /** - *

    The description of the email address.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - Description?: string | undefined; + ClientToken?: string | undefined; +} +/** + * @public + */ +export interface TransferContactResponse { /** - *

    The display name of email address.

    + *

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

    * @public */ - DisplayName?: string | undefined; + ContactId?: string | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    The Amazon Resource Name (ARN) of the contact.

    * @public */ - ClientToken?: string | undefined; + ContactArn?: string | undefined; } /** * @public */ -export interface UpdateEmailAddressMetadataResponse { +export interface UntagContactRequest { /** - *

    The identifier of the email address.

    + *

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

    * @public */ - EmailAddressId?: string | undefined; + ContactId: string | undefined; /** - *

    The Amazon Resource Name (ARN) of the email address.

    + *

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

    * @public */ - EmailAddressArn?: string | undefined; + InstanceId: string | undefined; + + /** + *

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

    + * @public + */ + TagKeys: string[] | undefined; } /** * @public */ -export interface UpdateEvaluationFormResponse { - /** - *

    The unique identifier for the evaluation form.

    - * @public - */ - EvaluationFormId: string | undefined; +export interface UntagContactResponse {} +/** + * @public + */ +export interface UntagResourceRequest { /** - *

    The Amazon Resource Name (ARN) for the contact evaluation resource.

    + *

    The Amazon Resource Name (ARN) of the resource.

    * @public */ - EvaluationFormArn: string | undefined; + resourceArn: string | undefined; /** - *

    The version of the updated evaluation form resource.

    + *

    The tag keys.

    * @public */ - EvaluationFormVersion: number | undefined; + tagKeys: string[] | undefined; } /** * @public */ -export interface UpdateHoursOfOperationRequest { +export interface UpdateAgentStatusRequest { /** *

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

    * @public @@ -6336,282 +6240,281 @@ export interface UpdateHoursOfOperationRequest { InstanceId: string | undefined; /** - *

    The identifier of the hours of operation.

    + *

    The identifier of the agent status.

    * @public */ - HoursOfOperationId: string | undefined; + AgentStatusId: string | undefined; /** - *

    The name of the hours of operation.

    + *

    The name of the agent status.

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

    The description of the hours of operation.

    + *

    The description of the agent status.

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

    The time zone of the hours of operation.

    + *

    The state of the agent status.

    * @public */ - TimeZone?: string | undefined; + State?: AgentStatusState | undefined; /** - *

    Configuration information of the hours of operation.

    + *

    The display order of the agent status.

    * @public */ - Config?: HoursOfOperationConfig[] | undefined; + DisplayOrder?: number | undefined; + + /** + *

    A number indicating the reset order of the agent status.

    + * @public + */ + ResetOrderNumber?: boolean | undefined; } /** * @public */ -export interface UpdateInstanceAttributeRequest { +export interface UpdateAuthenticationProfileRequest { /** - *

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

    + *

    A unique identifier for the authentication profile.

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

    The type of attribute.

    - * - *

    Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, - * contact Amazon Web Services Support for allowlisting.

    - *
    + *

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

    * @public */ - AttributeType: InstanceAttributeType | undefined; + InstanceId: string | undefined; /** - *

    The value for the attribute. Maximum character limit is 100.

    + *

    The name for the authentication profile.

    * @public */ - Value: string | undefined; -} + Name?: string | undefined; -/** - * @public - */ -export interface UpdateInstanceStorageConfigRequest { /** - *

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

    + *

    The description for the authentication profile.

    * @public */ - InstanceId: string | undefined; + Description?: string | undefined; /** - *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    + *

    A list of IP address range strings that are allowed to access the instance. For more + * information on how to configure IP addresses, seeConfigure session timeouts in the Amazon Connect Administrator + * Guide.

    * @public */ - AssociationId: string | undefined; + AllowedIps?: string[] | undefined; /** - *

    A valid resource type.

    + *

    A list of IP address range strings that are blocked from accessing the instance. For more + * information on how to configure IP addresses, For more information on how to configure IP + * addresses, see Configure + * IP-based access control in the Amazon Connect Administrator + * Guide.

    * @public */ - ResourceType: InstanceStorageResourceType | undefined; + BlockedIps?: string[] | undefined; /** - *

    The storage configuration for the instance.

    + *

    The short lived session duration configuration for users logged in to Amazon Connect, in + * minutes. This value determines the maximum possible time before an agent is authenticated. For + * more information, For more information on how to configure IP addresses, see Configure session timeouts in the Amazon Connect Administrator + * Guide.

    * @public */ - StorageConfig: InstanceStorageConfig | undefined; + PeriodicSessionDuration?: number | undefined; } /** - * @public - * @enum - */ -export const TimerEligibleParticipantRoles = { - AGENT: "AGENT", - CUSTOMER: "CUSTOMER", -} as const; - -/** + *

    Information about a queue.

    * @public */ -export type TimerEligibleParticipantRoles = - (typeof TimerEligibleParticipantRoles)[keyof typeof TimerEligibleParticipantRoles]; +export interface QueueInfoInput { + /** + *

    The identifier of the queue.

    + * @public + */ + Id?: string | undefined; +} /** * @public - * @enum */ -export const ParticipantTimerType = { - DISCONNECT_NONCUSTOMER: "DISCONNECT_NONCUSTOMER", - IDLE: "IDLE", -} as const; +export interface UpdateContactResponse {} /** * @public */ -export type ParticipantTimerType = (typeof ParticipantTimerType)[keyof typeof ParticipantTimerType]; +export interface UpdateContactAttributesRequest { + /** + *

    The identifier of the contact. This is the identifier of the contact associated with the + * first interaction with the contact center.

    + * @public + */ + InitialContactId: string | undefined; -/** - * @public - * @enum - */ -export const ParticipantTimerAction = { - Unset: "Unset", -} as const; + /** + *

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

    + * @public + */ + InstanceId: string | undefined; -/** - * @public - */ -export type ParticipantTimerAction = (typeof ParticipantTimerAction)[keyof typeof ParticipantTimerAction]; + /** + *

    The Amazon Connect attributes. These attributes can be accessed in flows just like any + * other contact attributes.

    + *

    You can have up to 32,768 UTF-8 bytes across all attributes for a contact. Attribute keys + * can include only alphanumeric, dash, and underscore characters.

    + *

    When the attributes for a contact exceed 32 KB, the contact is routed down the Error branch + * of the flow. As a mitigation, consider the following options:

    + *
      + *
    • + *

      Remove unnecessary attributes by setting their values to empty.

      + *
    • + *
    • + *

      If the attributes are only used in one flow and don't need to be referred to outside of + * that flow (for example, by a Lambda or another flow), then use flow attributes. This way you + * aren't needlessly persisting the 32 KB of information from one flow to another. For more + * information, see Flow block: Set contact + * attributes in the Amazon Connect Administrator Guide.

      + *
    • + *
    + * @public + */ + Attributes: Record | undefined; +} /** - *

    The value of the timer. Either the timer action (Unset to delete the timer), or - * the duration of the timer in minutes. Only one value can be set.

    - *

    For more information about how chat timeouts work, see - * Set up chat timeouts for human participants.

    * @public */ -export type ParticipantTimerValue = - | ParticipantTimerValue.ParticipantTimerActionMember - | ParticipantTimerValue.ParticipantTimerDurationInMinutesMember - | ParticipantTimerValue.$UnknownMember; +export interface UpdateContactAttributesResponse {} /** * @public */ -export namespace ParticipantTimerValue { +export interface UpdateContactEvaluationRequest { /** - *

    The timer action. Currently only one value is allowed: Unset. It deletes a - * timer.

    + *

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

    * @public */ - export interface ParticipantTimerActionMember { - ParticipantTimerAction: ParticipantTimerAction; - ParticipantTimerDurationInMinutes?: never; - $unknown?: never; - } + InstanceId: string | undefined; /** - *

    The duration of a timer, in minutes.

    + *

    A unique identifier for the contact evaluation.

    * @public */ - export interface ParticipantTimerDurationInMinutesMember { - ParticipantTimerAction?: never; - ParticipantTimerDurationInMinutes: number; - $unknown?: never; - } + EvaluationId: string | undefined; /** + *

    A map of question identifiers to answer value.

    * @public */ - export interface $UnknownMember { - ParticipantTimerAction?: never; - ParticipantTimerDurationInMinutes?: never; - $unknown: [string, any]; - } - - export interface Visitor { - ParticipantTimerAction: (value: ParticipantTimerAction) => T; - ParticipantTimerDurationInMinutes: (value: number) => T; - _: (name: string, value: any) => T; - } + Answers?: Record | undefined; - export const visit = (value: ParticipantTimerValue, visitor: Visitor): T => { - if (value.ParticipantTimerAction !== undefined) return visitor.ParticipantTimerAction(value.ParticipantTimerAction); - if (value.ParticipantTimerDurationInMinutes !== undefined) - return visitor.ParticipantTimerDurationInMinutes(value.ParticipantTimerDurationInMinutes); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; + /** + *

    A map of question identifiers to note value.

    + * @public + */ + Notes?: Record | undefined; } /** - *

    Configuration information for the timer. After the timer configuration is set, it persists - * for the duration of the chat. It persists across new contacts in the chain, for example, transfer - * contacts.

    - *

    For more information about how chat timeouts work, see - * Set up chat timeouts for human participants.

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

    The role of the participant in the chat conversation.

    - * @public - */ - ParticipantRole: TimerEligibleParticipantRoles | undefined; - +export interface UpdateContactEvaluationResponse { /** - *

    The type of timer. IDLE indicates the timer applies for considering a human - * chat participant as idle. DISCONNECT_NONCUSTOMER indicates the timer applies to - * automatically disconnecting a chat participant due to idleness.

    + *

    A unique identifier for the contact evaluation.

    * @public */ - TimerType: ParticipantTimerType | undefined; + EvaluationId: string | undefined; /** - *

    The value of the timer. Either the timer action (Unset to delete the timer), or the duration - * of the timer in minutes. Only one value can be set.

    + *

    The Amazon Resource Name (ARN) for the contact evaluation resource.

    * @public */ - TimerValue: ParticipantTimerValue | undefined; + EvaluationArn: string | undefined; } /** - *

    Configuration information for the chat participant role.

    * @public */ -export interface ChatParticipantRoleConfig { +export interface UpdateContactFlowContentRequest { /** - *

    A list of participant timers. You can specify any unique combination of role and timer type. - * Duplicate entries error out the request with a 400.

    + *

    The identifier of the Amazon Connect instance.

    * @public */ - ParticipantTimerConfigList: ParticipantTimerConfiguration[] | undefined; + InstanceId: string | undefined; + + /** + *

    The identifier of the flow.

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

    The JSON string that represents the content of the flow. For an example, see Example + * flow in Amazon Connect Flow language.

    + *

    Length Constraints: Minimum length of 1. Maximum length of 256000.

    + * @public + */ + Content: string | undefined; } /** - *

    Configuration information for the chat participant role.

    * @public */ -export type UpdateParticipantRoleConfigChannelInfo = - | UpdateParticipantRoleConfigChannelInfo.ChatMember - | UpdateParticipantRoleConfigChannelInfo.$UnknownMember; +export interface UpdateContactFlowContentResponse {} /** * @public */ -export namespace UpdateParticipantRoleConfigChannelInfo { +export interface UpdateContactFlowMetadataRequest { /** - *

    Configuration information for the chat participant role.

    + *

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

    * @public */ - export interface ChatMember { - Chat: ChatParticipantRoleConfig; - $unknown?: never; - } + InstanceId: string | undefined; /** + *

    The identifier of the flow.

    * @public */ - export interface $UnknownMember { - Chat?: never; - $unknown: [string, any]; - } + ContactFlowId: string | undefined; - export interface Visitor { - Chat: (value: ChatParticipantRoleConfig) => T; - _: (name: string, value: any) => T; - } + /** + *

    The name of the flow.

    + * @public + */ + Name?: string | undefined; - export const visit = (value: UpdateParticipantRoleConfigChannelInfo, visitor: Visitor): T => { - if (value.Chat !== undefined) return visitor.Chat(value.Chat); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; + /** + *

    The description of the flow.

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

    The state of flow.

    + * @public + */ + ContactFlowState?: ContactFlowState | undefined; } /** * @public */ -export interface UpdateParticipantRoleConfigRequest { +export interface UpdateContactFlowMetadataResponse {} + +/** + * @public + */ +export interface UpdateContactFlowModuleContentRequest { /** *

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

    * @public @@ -6619,128 +6522,149 @@ export interface UpdateParticipantRoleConfigRequest { InstanceId: string | undefined; /** - *

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

    + *

    The identifier of the flow module.

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

    The Amazon Connect channel you want to configure.

    + *

    The JSON string that represents the content of the flow. For an example, see Example + * flow in Amazon Connect Flow language.

    * @public */ - ChannelConfiguration: UpdateParticipantRoleConfigChannelInfo | undefined; + Content: string | undefined; } /** * @public */ -export interface UpdateParticipantRoleConfigResponse {} +export interface UpdateContactFlowModuleContentResponse {} /** * @public */ -export interface UpdatePhoneNumberRequest { +export interface UpdateContactFlowModuleMetadataRequest { /** - *

    A unique identifier for the phone number.

    + *

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

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

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

    + *

    The identifier of the flow module.

    * @public */ - TargetArn?: string | undefined; + ContactFlowModuleId: string | undefined; /** - *

    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. You must enter InstanceId or TargetArn.

    + *

    The name of the flow module.

    * @public */ - InstanceId?: string | undefined; + Name?: string | undefined; /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    The description of the flow module.

    * @public */ - ClientToken?: string | undefined; + Description?: string | undefined; + + /** + *

    The state of flow module.

    + * @public + */ + State?: ContactFlowModuleState | undefined; } /** * @public */ -export interface UpdatePhoneNumberResponse { +export interface UpdateContactFlowModuleMetadataResponse {} + +/** + * @public + */ +export interface UpdateContactFlowNameRequest { /** - *

    A unique identifier for the phone number.

    + *

    The identifier of the Amazon Connect instance.

    * @public */ - PhoneNumberId?: string | undefined; + InstanceId: string | undefined; /** - *

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

    + *

    The identifier of the flow.

    * @public */ - PhoneNumberArn?: string | undefined; -} + ContactFlowId: string | undefined; -/** - * @public - */ -export interface UpdatePhoneNumberMetadataRequest { /** - *

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

    + *

    The name of the flow.

    * @public */ - PhoneNumberId: string | undefined; + Name?: string | undefined; /** - *

    The description of the phone number.

    + *

    The description of the flow.

    * @public */ - PhoneNumberDescription?: string | undefined; + Description?: string | undefined; +} + +/** + * @public + */ +export interface UpdateContactFlowNameResponse {} +/** + *

    Specify whether this routing criteria step should apply for only a limited amount of time, + * or if it should never expire.

    + * @public + */ +export interface RoutingCriteriaInputStepExpiry { /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    The number of seconds that the contact will be routed only to agents matching this routing + * step, if expiry was configured for this routing step.

    * @public */ - ClientToken?: string | undefined; + DurationInSeconds?: number | undefined; } /** * @public */ -export interface UpdatePredefinedAttributeRequest { +export interface UpdateContactRoutingDataResponse {} + +/** + * @public + */ +export interface UpdateContactScheduleRequest { /** - *

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

    + *

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

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

    The name of the predefined attribute.

    + *

    The identifier of the contact.

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

    The values of the predefined attribute.

    + *

    The timestamp, in Unix Epoch seconds format, at which to start running the inbound flow. The scheduled time cannot be in the past. It must be within up to 6 days in future.

    * @public */ - Values?: PredefinedAttributeValues | undefined; + ScheduledTime: Date | undefined; } /** * @public */ -export interface UpdatePromptRequest { +export interface UpdateContactScheduleResponse {} + +/** + * @public + */ +export interface UpdateEmailAddressMetadataRequest { /** *

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

    * @public @@ -6748,99 +6672,77 @@ export interface UpdatePromptRequest { InstanceId: string | undefined; /** - *

    A unique identifier for the prompt.

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

    The name of the prompt.

    + *

    The identifier of the email address.

    * @public */ - Name?: string | undefined; + EmailAddressId: string | undefined; /** - *

    A description of the prompt.

    + *

    The description of the email address.

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

    The URI for the S3 bucket where the prompt is stored. You can provide S3 pre-signed URLs returned by the - * GetPromptFile - * API instead of providing S3 URIs.

    - * @public - */ - S3Uri?: string | undefined; -} - -/** - * @public - */ -export interface UpdatePromptResponse { - /** - *

    The Amazon Resource Name (ARN) of the prompt.

    + *

    The display name of email address.

    * @public */ - PromptARN?: string | undefined; + DisplayName?: string | undefined; /** - *

    A unique identifier for the prompt.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - PromptId?: string | undefined; + ClientToken?: string | undefined; } /** * @public */ -export interface UpdateQueueHoursOfOperationRequest { - /** - *

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

    - * @public - */ - InstanceId: string | undefined; - +export interface UpdateEmailAddressMetadataResponse { /** - *

    The identifier for the queue.

    + *

    The identifier of the email address.

    * @public */ - QueueId: string | undefined; + EmailAddressId?: string | undefined; /** - *

    The identifier for the hours of operation.

    + *

    The Amazon Resource Name (ARN) of the email address.

    * @public */ - HoursOfOperationId: string | undefined; + EmailAddressArn?: string | undefined; } /** * @public */ -export interface UpdateQueueMaxContactsRequest { +export interface UpdateEvaluationFormResponse { /** - *

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

    + *

    The unique identifier for the evaluation form.

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

    The identifier for the queue.

    + *

    The Amazon Resource Name (ARN) for the contact evaluation resource.

    * @public */ - QueueId: string | undefined; + EvaluationFormArn: string | undefined; /** - *

    The maximum number of contacts that can be in the queue before it is considered full.

    + *

    The version of the updated evaluation form resource.

    * @public */ - MaxContacts?: number | undefined; + EvaluationFormVersion: number | undefined; } /** * @public */ -export interface UpdateQueueNameRequest { +export interface UpdateHoursOfOperationRequest { /** *

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

    * @public @@ -6848,49 +6750,38 @@ export interface UpdateQueueNameRequest { InstanceId: string | undefined; /** - *

    The identifier for the queue.

    + *

    The identifier of the hours of operation.

    * @public */ - QueueId: string | undefined; + HoursOfOperationId: string | undefined; /** - *

    The name of the queue.

    + *

    The name of the hours of operation.

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

    The description of the queue.

    + *

    The description of the hours of operation.

    * @public */ Description?: string | undefined; -} - -/** - * @public - */ -export interface UpdateQueueOutboundCallerConfigRequest { - /** - *

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

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

    The identifier for the queue.

    + *

    The time zone of the hours of operation.

    * @public */ - QueueId: string | undefined; + TimeZone?: string | undefined; /** - *

    The outbound caller ID name, number, and outbound whisper flow.

    + *

    Configuration information of the hours of operation.

    * @public */ - OutboundCallerConfig: OutboundCallerConfig | undefined; + Config?: HoursOfOperationConfig[] | undefined; } /** - *

    A conditional check failed.

    + *

    Request processing failed because dependent condition failed.

    * @public */ export class ConditionalOperationFailedException extends __BaseException { @@ -6914,53 +6805,61 @@ export class ConditionalOperationFailedException extends __BaseException { /** * @public */ -export interface UpdateQueueOutboundEmailConfigRequest { +export interface UpdateHoursOfOperationOverrideRequest { /** - *

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

    + *

    The identifier of the Amazon Connect instance.

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

    The identifier for the queue.

    + *

    The identifier for the hours of operation.

    * @public */ - QueueId: string | undefined; + HoursOfOperationId: string | undefined; /** - *

    The outbound email address ID for a specified queue.

    + *

    The identifier for the hours of operation override.

    * @public */ - OutboundEmailConfig: OutboundEmailConfig | undefined; -} + HoursOfOperationOverrideId: string | undefined; -/** - * @public - */ -export interface UpdateQueueStatusRequest { /** - *

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

    + *

    The name of the hours of operation override.

    * @public */ - InstanceId: string | undefined; + Name?: string | undefined; /** - *

    The identifier for the queue.

    + *

    The description of the hours of operation override.

    * @public */ - QueueId: string | undefined; + Description?: string | undefined; /** - *

    The status of the queue.

    + *

    Configuration information for the hours of operation override: day, start time, and end + * time.

    * @public */ - Status: QueueStatus | undefined; + Config?: HoursOfOperationOverrideConfig[] | undefined; + + /** + *

    The date from when the hours of operation override would be effective.

    + * @public + */ + EffectiveFrom?: string | undefined; + + /** + *

    The date till when the hours of operation override would be effective.

    + * @public + */ + EffectiveTill?: string | undefined; } /** * @public */ -export interface UpdateQuickConnectConfigRequest { +export interface UpdateInstanceAttributeRequest { /** *

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

    * @public @@ -6968,22 +6867,26 @@ export interface UpdateQuickConnectConfigRequest { InstanceId: string | undefined; /** - *

    The identifier for the quick connect.

    + *

    The type of attribute.

    + * + *

    Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, + * contact Amazon Web Services Support for allowlisting.

    + *
    * @public */ - QuickConnectId: string | undefined; + AttributeType: InstanceAttributeType | undefined; /** - *

    Information about the configuration settings for the quick connect.

    + *

    The value for the attribute. Maximum character limit is 100.

    * @public */ - QuickConnectConfig: QuickConnectConfig | undefined; + Value: string | undefined; } /** * @public */ -export interface UpdateQuickConnectNameRequest { +export interface UpdateInstanceStorageConfigRequest { /** *

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

    * @public @@ -6991,128 +6894,214 @@ export interface UpdateQuickConnectNameRequest { InstanceId: string | undefined; /** - *

    The identifier for the quick connect.

    + *

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    * @public */ - QuickConnectId: string | undefined; + AssociationId: string | undefined; /** - *

    The name of the quick connect.

    + *

    A valid resource type.

    * @public */ - Name?: string | undefined; + ResourceType: InstanceStorageResourceType | undefined; /** - *

    The description of the quick connect.

    + *

    The storage configuration for the instance.

    * @public */ - Description?: string | undefined; + StorageConfig: InstanceStorageConfig | undefined; } /** * @public + * @enum */ -export interface UpdateRoutingProfileAgentAvailabilityTimerRequest { - /** - *

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

    - * @public - */ - InstanceId: string | undefined; +export const TimerEligibleParticipantRoles = { + AGENT: "AGENT", + CUSTOMER: "CUSTOMER", +} as const; - /** - *

    The identifier of the routing profile.

    - * @public - */ - RoutingProfileId: string | undefined; +/** + * @public + */ +export type TimerEligibleParticipantRoles = + (typeof TimerEligibleParticipantRoles)[keyof typeof TimerEligibleParticipantRoles]; - /** - *

    Whether agents with this routing profile will have their routing order calculated based on - * time since their last inbound contact or longest idle - * time.

    - * @public - */ - AgentAvailabilityTimer: AgentAvailabilityTimer | undefined; -} +/** + * @public + * @enum + */ +export const ParticipantTimerType = { + DISCONNECT_NONCUSTOMER: "DISCONNECT_NONCUSTOMER", + IDLE: "IDLE", +} as const; /** * @public */ -export interface UpdateRoutingProfileConcurrencyRequest { +export type ParticipantTimerType = (typeof ParticipantTimerType)[keyof typeof ParticipantTimerType]; + +/** + * @public + * @enum + */ +export const ParticipantTimerAction = { + Unset: "Unset", +} as const; + +/** + * @public + */ +export type ParticipantTimerAction = (typeof ParticipantTimerAction)[keyof typeof ParticipantTimerAction]; + +/** + *

    The value of the timer. Either the timer action (Unset to delete the timer), or + * the duration of the timer in minutes. Only one value can be set.

    + *

    For more information about how chat timeouts work, see + * Set up chat timeouts for human participants.

    + * @public + */ +export type ParticipantTimerValue = + | ParticipantTimerValue.ParticipantTimerActionMember + | ParticipantTimerValue.ParticipantTimerDurationInMinutesMember + | ParticipantTimerValue.$UnknownMember; + +/** + * @public + */ +export namespace ParticipantTimerValue { /** - *

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

    + *

    The timer action. Currently only one value is allowed: Unset. It deletes a + * timer.

    * @public */ - InstanceId: string | undefined; + export interface ParticipantTimerActionMember { + ParticipantTimerAction: ParticipantTimerAction; + ParticipantTimerDurationInMinutes?: never; + $unknown?: never; + } /** - *

    The identifier of the routing profile.

    + *

    The duration of a timer, in minutes.

    * @public */ - RoutingProfileId: string | undefined; + export interface ParticipantTimerDurationInMinutesMember { + ParticipantTimerAction?: never; + ParticipantTimerDurationInMinutes: number; + $unknown?: never; + } /** - *

    The channels that agents can handle in the Contact Control Panel (CCP).

    * @public */ - MediaConcurrencies: MediaConcurrency[] | undefined; + export interface $UnknownMember { + ParticipantTimerAction?: never; + ParticipantTimerDurationInMinutes?: never; + $unknown: [string, any]; + } + + export interface Visitor { + ParticipantTimerAction: (value: ParticipantTimerAction) => T; + ParticipantTimerDurationInMinutes: (value: number) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: ParticipantTimerValue, visitor: Visitor): T => { + if (value.ParticipantTimerAction !== undefined) return visitor.ParticipantTimerAction(value.ParticipantTimerAction); + if (value.ParticipantTimerDurationInMinutes !== undefined) + return visitor.ParticipantTimerDurationInMinutes(value.ParticipantTimerDurationInMinutes); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; } /** + *

    Configuration information for the timer. After the timer configuration is set, it persists + * for the duration of the chat. It persists across new contacts in the chain, for example, transfer + * contacts.

    + *

    For more information about how chat timeouts work, see + * Set up chat timeouts for human participants.

    * @public */ -export interface UpdateRoutingProfileDefaultOutboundQueueRequest { +export interface ParticipantTimerConfiguration { /** - *

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

    + *

    The role of the participant in the chat conversation.

    * @public */ - InstanceId: string | undefined; + ParticipantRole: TimerEligibleParticipantRoles | undefined; /** - *

    The identifier of the routing profile.

    + *

    The type of timer. IDLE indicates the timer applies for considering a human + * chat participant as idle. DISCONNECT_NONCUSTOMER indicates the timer applies to + * automatically disconnecting a chat participant due to idleness.

    * @public */ - RoutingProfileId: string | undefined; + TimerType: ParticipantTimerType | undefined; /** - *

    The identifier for the default outbound queue.

    + *

    The value of the timer. Either the timer action (Unset to delete the timer), or the duration + * of the timer in minutes. Only one value can be set.

    * @public */ - DefaultOutboundQueueId: string | undefined; + TimerValue: ParticipantTimerValue | undefined; } /** + *

    Configuration information for the chat participant role.

    * @public */ -export interface UpdateRoutingProfileNameRequest { +export interface ChatParticipantRoleConfig { /** - *

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

    + *

    A list of participant timers. You can specify any unique combination of role and timer type. + * Duplicate entries error out the request with a 400.

    * @public */ - InstanceId: string | undefined; + ParticipantTimerConfigList: ParticipantTimerConfiguration[] | undefined; +} + +/** + *

    Configuration information for the chat participant role.

    + * @public + */ +export type UpdateParticipantRoleConfigChannelInfo = + | UpdateParticipantRoleConfigChannelInfo.ChatMember + | UpdateParticipantRoleConfigChannelInfo.$UnknownMember; +/** + * @public + */ +export namespace UpdateParticipantRoleConfigChannelInfo { /** - *

    The identifier of the routing profile.

    + *

    Configuration information for the chat participant role.

    * @public */ - RoutingProfileId: string | undefined; + export interface ChatMember { + Chat: ChatParticipantRoleConfig; + $unknown?: never; + } /** - *

    The name of the routing profile. Must not be more than 127 characters.

    * @public */ - Name?: string | undefined; + export interface $UnknownMember { + Chat?: never; + $unknown: [string, any]; + } + + export interface Visitor { + Chat: (value: ChatParticipantRoleConfig) => T; + _: (name: string, value: any) => T; + } - /** - *

    The description of the routing profile. Must not be more than 250 characters.

    - * @public - */ - Description?: string | undefined; + export const visit = (value: UpdateParticipantRoleConfigChannelInfo, visitor: Visitor): T => { + if (value.Chat !== undefined) return visitor.Chat(value.Chat); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; } /** * @public */ -export interface UpdateRoutingProfileQueuesRequest { +export interface UpdateParticipantRoleConfigRequest { /** *

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

    * @public @@ -7120,706 +7109,670 @@ export interface UpdateRoutingProfileQueuesRequest { InstanceId: string | undefined; /** - *

    The identifier of the routing profile.

    + *

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

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

    The queues to be updated for this routing profile. - * Queues must first be associated to the routing - * profile. You can do this using AssociateRoutingProfileQueues.

    + *

    The Amazon Connect channel you want to configure.

    * @public */ - QueueConfigs: RoutingProfileQueueConfig[] | undefined; + ChannelConfiguration: UpdateParticipantRoleConfigChannelInfo | undefined; } /** * @public */ -export interface UpdateRuleRequest { - /** - *

    A unique identifier for the rule.

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

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

    - * @public - */ - InstanceId: string | undefined; +export interface UpdateParticipantRoleConfigResponse {} +/** + * @public + */ +export interface UpdatePhoneNumberRequest { /** - *

    The name of the rule. You can change the name only if TriggerEventSource is one - * of the following values: OnZendeskTicketCreate | - * OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate - *

    + *

    A unique identifier for the phone number.

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

    The conditions of the rule.

    + *

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

    * @public */ - Function: string | undefined; + TargetArn?: string | undefined; /** - *

    A list of actions to be run when the rule is triggered.

    + *

    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. You must enter InstanceId or TargetArn.

    * @public */ - Actions: RuleAction[] | undefined; + InstanceId?: string | undefined; /** - *

    The publish status of the rule.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - PublishStatus: RulePublishStatus | undefined; + ClientToken?: string | undefined; } /** * @public */ -export interface UpdateSecurityProfileRequest { - /** - *

    The description of the security profile.

    - * @public - */ - Description?: string | undefined; - +export interface UpdatePhoneNumberResponse { /** - *

    The permissions granted to a security profile. For a list of valid permissions, see List of security - * profile permissions.

    + *

    A unique identifier for the phone number.

    * @public */ - Permissions?: string[] | undefined; + PhoneNumberId?: string | undefined; /** - *

    The identifier for the security profle.

    + *

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

    * @public */ - SecurityProfileId: string | undefined; + PhoneNumberArn?: string | undefined; +} +/** + * @public + */ +export interface UpdatePhoneNumberMetadataRequest { /** - *

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

    + *

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

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

    The list of tags that a security profile uses to restrict access to resources in Amazon Connect.

    + *

    The description of the phone number.

    * @public */ - AllowedAccessControlTags?: Record | undefined; + PhoneNumberDescription?: string | undefined; /** - *

    The list of resources that a security profile applies tag restrictions to in Amazon Connect.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    * @public */ - TagRestrictedResources?: string[] | undefined; + ClientToken?: string | undefined; +} +/** + * @public + */ +export interface UpdatePredefinedAttributeRequest { /** - *

    A list of the third-party application's metadata.

    + *

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

    * @public */ - Applications?: Application[] | undefined; + InstanceId: string | undefined; /** - *

    The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

    + *

    The name of the predefined attribute.

    * @public */ - HierarchyRestrictedResources?: string[] | undefined; + Name: string | undefined; /** - *

    The identifier of the hierarchy group that a security profile uses to restrict access to - * resources in Amazon Connect.

    + *

    The values of the predefined attribute.

    * @public */ - AllowedAccessControlHierarchyGroupId?: string | undefined; + Values?: PredefinedAttributeValues | undefined; } /** * @public */ -export interface UpdateTaskTemplateRequest { +export interface UpdatePromptRequest { /** - *

    A unique identifier for the task template.

    + *

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

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

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

    + *

    A unique identifier for the prompt.

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

    The name of the task template.

    + *

    The name of the prompt.

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

    The description of the task template.

    + *

    A description of the prompt.

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

    The identifier of the flow that runs by default when a task is created by referencing this template.

    + *

    The URI for the S3 bucket where the prompt is stored. You can provide S3 pre-signed URLs returned by the + * GetPromptFile + * API instead of providing S3 URIs.

    * @public */ - ContactFlowId?: string | undefined; + S3Uri?: string | undefined; +} +/** + * @public + */ +export interface UpdatePromptResponse { /** - *

    The ContactFlowId for the flow that will be run if this template is used to create a - * self-assigned task.

    + *

    The Amazon Resource Name (ARN) of the prompt.

    * @public */ - SelfAssignFlowId?: string | undefined; + PromptARN?: string | undefined; /** - *

    Constraints that are applicable to the fields listed.

    + *

    A unique identifier for the prompt.

    * @public */ - Constraints?: TaskTemplateConstraints | undefined; + PromptId?: string | undefined; +} +/** + * @public + */ +export interface UpdateQueueHoursOfOperationRequest { /** - *

    The default values for fields when a task is created by referencing this template.

    + *

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

    * @public */ - Defaults?: TaskTemplateDefaults | undefined; + InstanceId: string | undefined; /** - *

    Marks a template as ACTIVE or INACTIVE for a task to refer to it. - * Tasks can only be created from ACTIVE templates. - * If a template is marked as INACTIVE, then a task that refers to this template cannot be created.

    + *

    The identifier for the queue.

    * @public */ - Status?: TaskTemplateStatus | undefined; + QueueId: string | undefined; /** - *

    Fields that are part of the template.

    + *

    The identifier for the hours of operation.

    * @public */ - Fields?: TaskTemplateField[] | undefined; + HoursOfOperationId: string | undefined; } /** * @public */ -export interface UpdateTaskTemplateResponse { +export interface UpdateQueueMaxContactsRequest { /** *

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

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

    The identifier of the task template resource.

    + *

    The identifier for the queue.

    * @public */ - Id?: string | undefined; + QueueId: string | undefined; /** - *

    The Amazon Resource Name (ARN) for the task template resource.

    + *

    The maximum number of contacts that can be in the queue before it is considered full.

    * @public */ - Arn?: string | undefined; + MaxContacts?: number | undefined; +} +/** + * @public + */ +export interface UpdateQueueNameRequest { /** - *

    The name of the task template.

    + *

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

    * @public */ - Name?: string | undefined; + InstanceId: string | undefined; /** - *

    The description of the task template.

    + *

    The identifier for the queue.

    * @public */ - Description?: string | undefined; + QueueId: string | undefined; /** - *

    The identifier of the flow that runs by default when a task is created by referencing this template.

    + *

    The name of the queue.

    * @public */ - ContactFlowId?: string | undefined; + Name?: string | undefined; /** - *

    The ContactFlowId for the flow that will be run if this template is used to create a - * self-assigned task.

    + *

    The description of the queue.

    * @public */ - SelfAssignFlowId?: string | undefined; + Description?: string | undefined; +} +/** + * @public + */ +export interface UpdateQueueOutboundCallerConfigRequest { /** - *

    Constraints that are applicable to the fields listed.

    + *

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

    * @public */ - Constraints?: TaskTemplateConstraints | undefined; + InstanceId: string | undefined; /** - *

    The default values for fields when a task is created by referencing this template.

    + *

    The identifier for the queue.

    * @public */ - Defaults?: TaskTemplateDefaults | undefined; + QueueId: string | undefined; /** - *

    Fields that are part of the template.

    + *

    The outbound caller ID name, number, and outbound whisper flow.

    * @public */ - Fields?: TaskTemplateField[] | undefined; + OutboundCallerConfig: OutboundCallerConfig | undefined; +} +/** + * @public + */ +export interface UpdateQueueOutboundEmailConfigRequest { /** - *

    Marks a template as ACTIVE or INACTIVE for a task to refer to it. - * Tasks can only be created from ACTIVE templates. - * If a template is marked as INACTIVE, then a task that refers to this template cannot be created.

    + *

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

    * @public */ - Status?: TaskTemplateStatus | undefined; + InstanceId: string | undefined; /** - *

    The timestamp when the task template was last modified.

    + *

    The identifier for the queue.

    * @public */ - LastModifiedTime?: Date | undefined; + QueueId: string | undefined; /** - *

    The timestamp when the task template was created.

    + *

    The outbound email address ID for a specified queue.

    * @public */ - CreatedTime?: Date | undefined; + OutboundEmailConfig: OutboundEmailConfig | undefined; } /** * @public */ -export interface UpdateTrafficDistributionRequest { +export interface UpdateQueueStatusRequest { /** - *

    The identifier of the traffic distribution group. - * This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. - * The ARN must be provided if the call is from the replicated Region.

    + *

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

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

    The identifier for the queue.

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

    The status of the queue.

    + * @public + */ + Status: QueueStatus | undefined; +} +/** + * @public + */ +export interface UpdateQuickConnectConfigRequest { /** - *

    The distribution of traffic between the instance and its replica(s).

    + *

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

    * @public */ - TelephonyConfig?: TelephonyConfig | undefined; + InstanceId: string | undefined; /** - *

    The distribution that determines which Amazon Web Services Regions should be used to sign in - * agents in to both the instance and its replica(s).

    + *

    The identifier for the quick connect.

    * @public */ - SignInConfig?: SignInConfig | undefined; + QuickConnectId: string | undefined; /** - *

    The distribution of agents between the instance and its replica(s).

    + *

    Information about the configuration settings for the quick connect.

    * @public */ - AgentConfig?: AgentConfig | undefined; + QuickConnectConfig: QuickConnectConfig | undefined; } /** * @public */ -export interface UpdateTrafficDistributionResponse {} +export interface UpdateQuickConnectNameRequest { + /** + *

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

    + * @public + */ + InstanceId: string | undefined; -/** - * @public - */ -export interface UpdateUserHierarchyRequest { /** - *

    The identifier of the hierarchy group.

    + *

    The identifier for the quick connect.

    * @public */ - HierarchyGroupId?: string | undefined; + QuickConnectId: string | undefined; /** - *

    The identifier of the user account.

    + *

    The name of the quick connect.

    * @public */ - UserId: string | undefined; + Name?: string | undefined; /** - *

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

    + *

    The description of the quick connect.

    * @public */ - InstanceId: string | undefined; + Description?: string | undefined; } /** * @public */ -export interface UpdateUserHierarchyGroupNameRequest { +export interface UpdateRoutingProfileAgentAvailabilityTimerRequest { /** - *

    The name of the hierarchy group. Must not be more than 100 characters.

    + *

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

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

    The identifier of the hierarchy group.

    + *

    The identifier of the routing profile.

    * @public */ - HierarchyGroupId: string | undefined; + RoutingProfileId: string | undefined; /** - *

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

    + *

    Whether agents with this routing profile will have their routing order calculated based on + * time since their last inbound contact or longest idle + * time.

    * @public */ - InstanceId: string | undefined; + AgentAvailabilityTimer: AgentAvailabilityTimer | undefined; } /** - *

    Contains information about the hierarchy level to update.

    * @public */ -export interface HierarchyLevelUpdate { +export interface UpdateRoutingProfileConcurrencyRequest { /** - *

    The name of the user hierarchy level. Must not be more than 50 characters.

    + *

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

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

    Contains information about the level hierarchy to update.

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

    The - * update - * for level one.

    + *

    The identifier of the routing profile.

    * @public */ - LevelOne?: HierarchyLevelUpdate | undefined; + RoutingProfileId: string | undefined; /** - *

    The update for level two.

    + *

    The channels that agents can handle in the Contact Control Panel (CCP).

    * @public */ - LevelTwo?: HierarchyLevelUpdate | undefined; + MediaConcurrencies: MediaConcurrency[] | undefined; +} +/** + * @public + */ +export interface UpdateRoutingProfileDefaultOutboundQueueRequest { /** - *

    The update for level three.

    + *

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

    * @public */ - LevelThree?: HierarchyLevelUpdate | undefined; + InstanceId: string | undefined; /** - *

    The update for level four.

    + *

    The identifier of the routing profile.

    * @public */ - LevelFour?: HierarchyLevelUpdate | undefined; + RoutingProfileId: string | undefined; /** - *

    The update for level five.

    + *

    The identifier for the default outbound queue.

    * @public */ - LevelFive?: HierarchyLevelUpdate | undefined; + DefaultOutboundQueueId: string | undefined; } /** * @public */ -export interface UpdateUserHierarchyStructureRequest { - /** - *

    The hierarchy levels to update.

    - * @public - */ - HierarchyStructure: HierarchyStructureUpdate | undefined; - +export interface UpdateRoutingProfileNameRequest { /** *

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

    * @public */ InstanceId: string | undefined; -} -/** - * @public - */ -export interface UpdateUserIdentityInfoRequest { /** - *

    The identity information for the user.

    + *

    The identifier of the routing profile.

    * @public */ - IdentityInfo: UserIdentityInfo | undefined; + RoutingProfileId: string | undefined; /** - *

    The identifier of the user account.

    + *

    The name of the routing profile. Must not be more than 127 characters.

    * @public */ - UserId: string | undefined; + Name?: string | undefined; /** - *

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

    + *

    The description of the routing profile. Must not be more than 250 characters.

    * @public */ - InstanceId: string | undefined; + Description?: string | undefined; } /** * @public */ -export interface UpdateUserPhoneConfigRequest { +export interface UpdateRoutingProfileQueuesRequest { /** - *

    Information about phone configuration settings for the user.

    + *

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

    * @public */ - PhoneConfig: UserPhoneConfig | undefined; + InstanceId: string | undefined; /** - *

    The identifier of the user account.

    + *

    The identifier of the routing profile.

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

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

    + *

    The queues to be updated for this routing profile. + * Queues must first be associated to the routing + * profile. You can do this using AssociateRoutingProfileQueues.

    * @public */ - InstanceId: string | undefined; + QueueConfigs: RoutingProfileQueueConfig[] | undefined; } /** * @public */ -export interface UpdateUserProficienciesRequest { +export interface UpdateRuleRequest { /** - *

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

    + *

    A unique identifier for the rule.

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

    The identifier of the user account.

    + *

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

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

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

    + *

    The name of the rule. You can change the name only if TriggerEventSource is one + * of the following values: OnZendeskTicketCreate | + * OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate + *

    * @public */ - UserProficiencies: UserProficiency[] | undefined; -} + Name: string | undefined; -/** - * @public - */ -export interface UpdateUserRoutingProfileRequest { /** - *

    The identifier of the routing profile for the user.

    + *

    The conditions of the rule.

    * @public */ - RoutingProfileId: string | undefined; + Function: string | undefined; /** - *

    The identifier of the user account.

    + *

    A list of actions to be run when the rule is triggered.

    * @public */ - UserId: string | undefined; + Actions: RuleAction[] | undefined; /** - *

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

    + *

    The publish status of the rule.

    * @public */ - InstanceId: string | undefined; + PublishStatus: RulePublishStatus | undefined; } /** * @public */ -export interface UpdateUserSecurityProfilesRequest { +export interface UpdateSecurityProfileRequest { /** - *

    The identifiers of the security profiles for the user.

    + *

    The description of the security profile.

    * @public */ - SecurityProfileIds: string[] | undefined; + Description?: string | undefined; /** - *

    The identifier of the user account.

    + *

    The permissions granted to a security profile. For a list of valid permissions, see List of security + * profile permissions.

    * @public */ - UserId: string | undefined; + Permissions?: string[] | undefined; + + /** + *

    The identifier for the security profle.

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

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

    * @public */ InstanceId: string | undefined; -} -/** - * @public - */ -export interface UpdateViewContentRequest { /** - *

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

    + *

    The list of tags that a security profile uses to restrict access to resources in Amazon Connect.

    * @public */ - InstanceId: string | undefined; + AllowedAccessControlTags?: Record | undefined; /** - *

    The identifier of the view. Both ViewArn and ViewId can be - * used.

    + *

    The list of resources that a security profile applies tag restrictions to in Amazon Connect.

    * @public */ - ViewId: string | undefined; + TagRestrictedResources?: string[] | undefined; /** - *

    Indicates the view status as either SAVED or PUBLISHED. The - * PUBLISHED status will initiate validation on the content.

    + *

    A list of the third-party application's metadata.

    * @public */ - Status: ViewStatus | undefined; + Applications?: Application[] | undefined; /** - *

    View content containing all content necessary to render a view except for runtime input data - * and the runtime input schema, which is auto-generated by this operation.

    - *

    The total uncompressed content has a maximum file size of 400kB.

    + *

    The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

    * @public */ - Content: ViewInputContent | undefined; -} + HierarchyRestrictedResources?: string[] | undefined; -/** - * @public - */ -export interface UpdateViewContentResponse { /** - *

    A view resource object. Contains metadata and content necessary to render the view.

    + *

    The identifier of the hierarchy group that a security profile uses to restrict access to + * resources in Amazon Connect.

    * @public */ - View?: View | undefined; + AllowedAccessControlHierarchyGroupId?: string | undefined; } /** * @public */ -export interface UpdateViewMetadataRequest { +export interface UpdateTaskTemplateRequest { /** - *

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

    + *

    A unique identifier for the task template.

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

    The identifier of the view. Both ViewArn and ViewId can be - * used.

    + *

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

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

    The name of the view.

    + *

    The name of the task template.

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

    The description of the view.

    + *

    The description of the task template.

    * @public */ Description?: string | undefined; -} - -/** - * @public - */ -export interface UpdateViewMetadataResponse {} -/** - *

    A value for a segment attribute. This is structured as a map where the key is - * valueString and the value is a string.

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

    The value of a segment attribute.

    + *

    The identifier of the flow that runs by default when a task is created by referencing this template.

    * @public */ - ValueString?: string | undefined; + ContactFlowId?: string | undefined; /** - *

    The value of a segment attribute.

    + *

    The ContactFlowId for the flow that will be run if this template is used to create a + * self-assigned task.

    * @public */ - ValueMap?: Record | undefined; + SelfAssignFlowId?: string | undefined; /** - *

    The value of a segment attribute.

    + *

    Constraints that are applicable to the fields listed.

    * @public */ - ValueInteger?: number | undefined; -} - -/** - *

    Information about an item from an evaluation form. The item must be either a section or a - * question.

    - * @public - */ -export type EvaluationFormItem = - | EvaluationFormItem.QuestionMember - | EvaluationFormItem.SectionMember - | EvaluationFormItem.$UnknownMember; + Constraints?: TaskTemplateConstraints | undefined; -/** - * @public - */ -export namespace EvaluationFormItem { /** - *

    The information of the section.

    + *

    The default values for fields when a task is created by referencing this template.

    * @public */ - export interface SectionMember { - Section: EvaluationFormSection; - Question?: never; - $unknown?: never; - } + Defaults?: TaskTemplateDefaults | undefined; /** - *

    The information of the question.

    + *

    Marks a template as ACTIVE or INACTIVE for a task to refer to it. + * Tasks can only be created from ACTIVE templates. + * If a template is marked as INACTIVE, then a task that refers to this template cannot be created.

    * @public */ - export interface QuestionMember { - Section?: never; - Question: EvaluationFormQuestion; - $unknown?: never; - } + Status?: TaskTemplateStatus | undefined; /** + *

    Fields that are part of the template.

    * @public */ - export interface $UnknownMember { - Section?: never; - Question?: never; - $unknown: [string, any]; - } - - export interface Visitor { - Section: (value: EvaluationFormSection) => T; - Question: (value: EvaluationFormQuestion) => T; - _: (name: string, value: any) => T; - } - - export const visit = (value: EvaluationFormItem, visitor: Visitor): T => { - if (value.Section !== undefined) return visitor.Section(value.Section); - if (value.Question !== undefined) return visitor.Question(value.Question); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; + Fields?: TaskTemplateField[] | undefined; } /** @@ -8140,35 +8093,3 @@ export const UpdateEmailAddressMetadataRequestFilterSensitiveLog = (obj: UpdateE ...(obj.Description && { Description: SENSITIVE_STRING }), ...(obj.DisplayName && { DisplayName: SENSITIVE_STRING }), }); - -/** - * @internal - */ -export const UpdateUserIdentityInfoRequestFilterSensitiveLog = (obj: UpdateUserIdentityInfoRequest): any => ({ - ...obj, - ...(obj.IdentityInfo && { IdentityInfo: UserIdentityInfoFilterSensitiveLog(obj.IdentityInfo) }), -}); - -/** - * @internal - */ -export const UpdateViewContentRequestFilterSensitiveLog = (obj: UpdateViewContentRequest): any => ({ - ...obj, - ...(obj.Content && { Content: ViewInputContentFilterSensitiveLog(obj.Content) }), -}); - -/** - * @internal - */ -export const UpdateViewContentResponseFilterSensitiveLog = (obj: UpdateViewContentResponse): any => ({ - ...obj, - ...(obj.View && { View: ViewFilterSensitiveLog(obj.View) }), -}); - -/** - * @internal - */ -export const UpdateViewMetadataRequestFilterSensitiveLog = (obj: UpdateViewMetadataRequest): any => ({ - ...obj, - ...(obj.Name && { Name: SENSITIVE_STRING }), -}); diff --git a/clients/client-connect/src/models/models_3.ts b/clients/client-connect/src/models/models_3.ts index 66263aa9b19d8..b4c352d788a61 100644 --- a/clients/client-connect/src/models/models_3.ts +++ b/clients/client-connect/src/models/models_3.ts @@ -3,6 +3,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { AdditionalEmailRecipients, + AgentConfig, AgentInfo, AgentStatusSearchFilter, Campaign, @@ -11,16 +12,32 @@ import { ContactFlowType, ContactInitiationMethod, Endpoint, + EvaluationFormQuestion, EvaluationFormScoringStrategy, InitiateAs, Reference, StringCondition, + TaskTemplateConstraints, + TaskTemplateDefaults, + TaskTemplateField, + TaskTemplateStatus, + UserIdentityInfo, + UserIdentityInfoFilterSensitiveLog, UserInfo, + UserPhoneConfig, + UserProficiency, + View, + ViewFilterSensitiveLog, + ViewInputContent, + ViewInputContentFilterSensitiveLog, + ViewStatus, } from "./models_0"; import { AnsweringMachineDetectionStatus, AttributeCondition, + ContactFlowModuleState, + ContactFlowModuleStatus, ContactFlowState, Customer, CustomerVoiceActivity, @@ -32,6 +49,8 @@ import { QualityMetrics, QueueInfo, RoutingCriteriaStepStatus, + SignInConfig, + TelephonyConfig, WisdomInfo, } from "./models_1"; @@ -39,11 +58,11 @@ import { ChatMessage, ContactFlowModuleSearchFilter, ContactFlowSearchFilter, + DateCondition, EmailAddressInfo, EmailAddressInfoFilterSensitiveLog, EmailAddressSearchFilter, EmailAttachment, - EvaluationFormItem, HierarchyGroupCondition, HoursOfOperationSearchFilter, InboundAdditionalRecipients, @@ -61,11 +80,525 @@ import { RoutingProfileSearchFilter, SearchableQueueType, SecurityProfilesSearchFilter, - SegmentAttributeValue, UserHierarchyGroupSearchFilter, UserSearchFilter, } from "./models_2"; +/** + * @public + */ +export interface UpdateTaskTemplateResponse { + /** + *

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

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

    The identifier of the task template resource.

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

    The Amazon Resource Name (ARN) for the task template resource.

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

    The name of the task template.

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

    The description of the task template.

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

    The identifier of the flow that runs by default when a task is created by referencing this template.

    + * @public + */ + ContactFlowId?: string | undefined; + + /** + *

    The ContactFlowId for the flow that will be run if this template is used to create a + * self-assigned task.

    + * @public + */ + SelfAssignFlowId?: string | undefined; + + /** + *

    Constraints that are applicable to the fields listed.

    + * @public + */ + Constraints?: TaskTemplateConstraints | undefined; + + /** + *

    The default values for fields when a task is created by referencing this template.

    + * @public + */ + Defaults?: TaskTemplateDefaults | undefined; + + /** + *

    Fields that are part of the template.

    + * @public + */ + Fields?: TaskTemplateField[] | undefined; + + /** + *

    Marks a template as ACTIVE or INACTIVE for a task to refer to it. + * Tasks can only be created from ACTIVE templates. + * If a template is marked as INACTIVE, then a task that refers to this template cannot be created.

    + * @public + */ + Status?: TaskTemplateStatus | undefined; + + /** + *

    The timestamp when the task template was last modified.

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

    The timestamp when the task template was created.

    + * @public + */ + CreatedTime?: Date | undefined; +} + +/** + * @public + */ +export interface UpdateTrafficDistributionRequest { + /** + *

    The identifier of the traffic distribution group. + * This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. + * The ARN must be provided if the call is from the replicated Region.

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

    The distribution of traffic between the instance and its replica(s).

    + * @public + */ + TelephonyConfig?: TelephonyConfig | undefined; + + /** + *

    The distribution that determines which Amazon Web Services Regions should be used to sign in + * agents in to both the instance and its replica(s).

    + * @public + */ + SignInConfig?: SignInConfig | undefined; + + /** + *

    The distribution of agents between the instance and its replica(s).

    + * @public + */ + AgentConfig?: AgentConfig | undefined; +} + +/** + * @public + */ +export interface UpdateTrafficDistributionResponse {} + +/** + * @public + */ +export interface UpdateUserHierarchyRequest { + /** + *

    The identifier of the hierarchy group.

    + * @public + */ + HierarchyGroupId?: string | undefined; + + /** + *

    The identifier of the user account.

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

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

    + * @public + */ + InstanceId: string | undefined; +} + +/** + * @public + */ +export interface UpdateUserHierarchyGroupNameRequest { + /** + *

    The name of the hierarchy group. Must not be more than 100 characters.

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

    The identifier of the hierarchy group.

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

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

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

    Contains information about the hierarchy level to update.

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

    The name of the user hierarchy level. Must not be more than 50 characters.

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

    Contains information about the level hierarchy to update.

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

    The + * update + * for level one.

    + * @public + */ + LevelOne?: HierarchyLevelUpdate | undefined; + + /** + *

    The update for level two.

    + * @public + */ + LevelTwo?: HierarchyLevelUpdate | undefined; + + /** + *

    The update for level three.

    + * @public + */ + LevelThree?: HierarchyLevelUpdate | undefined; + + /** + *

    The update for level four.

    + * @public + */ + LevelFour?: HierarchyLevelUpdate | undefined; + + /** + *

    The update for level five.

    + * @public + */ + LevelFive?: HierarchyLevelUpdate | undefined; +} + +/** + * @public + */ +export interface UpdateUserHierarchyStructureRequest { + /** + *

    The hierarchy levels to update.

    + * @public + */ + HierarchyStructure: HierarchyStructureUpdate | undefined; + + /** + *

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

    + * @public + */ + InstanceId: string | undefined; +} + +/** + * @public + */ +export interface UpdateUserIdentityInfoRequest { + /** + *

    The identity information for the user.

    + * @public + */ + IdentityInfo: UserIdentityInfo | undefined; + + /** + *

    The identifier of the user account.

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

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

    + * @public + */ + InstanceId: string | undefined; +} + +/** + * @public + */ +export interface UpdateUserPhoneConfigRequest { + /** + *

    Information about phone configuration settings for the user.

    + * @public + */ + PhoneConfig: UserPhoneConfig | undefined; + + /** + *

    The identifier of the user account.

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

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

    + * @public + */ + InstanceId: string | undefined; +} + +/** + * @public + */ +export interface UpdateUserProficienciesRequest { + /** + *

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

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

    The identifier of the user account.

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

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

    + * @public + */ + UserProficiencies: UserProficiency[] | undefined; +} + +/** + * @public + */ +export interface UpdateUserRoutingProfileRequest { + /** + *

    The identifier of the routing profile for the user.

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

    The identifier of the user account.

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

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

    + * @public + */ + InstanceId: string | undefined; +} + +/** + * @public + */ +export interface UpdateUserSecurityProfilesRequest { + /** + *

    The identifiers of the security profiles for the user.

    + * @public + */ + SecurityProfileIds: string[] | undefined; + + /** + *

    The identifier of the user account.

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

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

    + * @public + */ + InstanceId: string | undefined; +} + +/** + * @public + */ +export interface UpdateViewContentRequest { + /** + *

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

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

    The identifier of the view. Both ViewArn and ViewId can be + * used.

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

    Indicates the view status as either SAVED or PUBLISHED. The + * PUBLISHED status will initiate validation on the content.

    + * @public + */ + Status: ViewStatus | undefined; + + /** + *

    View content containing all content necessary to render a view except for runtime input data + * and the runtime input schema, which is auto-generated by this operation.

    + *

    The total uncompressed content has a maximum file size of 400kB.

    + * @public + */ + Content: ViewInputContent | undefined; +} + +/** + * @public + */ +export interface UpdateViewContentResponse { + /** + *

    A view resource object. Contains metadata and content necessary to render the view.

    + * @public + */ + View?: View | undefined; +} + +/** + * @public + */ +export interface UpdateViewMetadataRequest { + /** + *

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

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

    The identifier of the view. Both ViewArn and ViewId can be + * used.

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

    The name of the view.

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

    The description of the view.

    + * @public + */ + Description?: string | undefined; +} + +/** + * @public + */ +export interface UpdateViewMetadataResponse {} + +/** + *

    A value for a segment attribute. This is structured as a map where the key is + * valueString and the value is a string.

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

    The value of a segment attribute.

    + * @public + */ + ValueString?: string | undefined; + + /** + *

    The value of a segment attribute.

    + * @public + */ + ValueMap?: Record | undefined; + + /** + *

    The value of a segment attribute.

    + * @public + */ + ValueInteger?: number | undefined; +} + +/** + *

    Information about an item from an evaluation form. The item must be either a section or a + * question.

    + * @public + */ +export type EvaluationFormItem = + | EvaluationFormItem.QuestionMember + | EvaluationFormItem.SectionMember + | EvaluationFormItem.$UnknownMember; + +/** + * @public + */ +export namespace EvaluationFormItem { + /** + *

    The information of the section.

    + * @public + */ + export interface SectionMember { + Section: EvaluationFormSection; + Question?: never; + $unknown?: never; + } + + /** + *

    The information of the question.

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

    Information about a section from an evaluation form. A section can contain sections and/or * questions. Evaluation forms can only contain sections and subsections (two level nesting).

    @@ -163,6 +696,18 @@ export interface ContactFlowModuleSearchCriteria { * @public */ StringCondition?: StringCondition | undefined; + + /** + *

    The state of the flow.

    + * @public + */ + StateCondition?: ContactFlowModuleState | undefined; + + /** + *

    The status of the flow.

    + * @public + */ + StatusCondition?: ContactFlowModuleStatus | undefined; } /** @@ -539,6 +1084,36 @@ export interface Expression { OrExpression?: Expression[] | undefined; } +/** + *

    The search criteria to be used to return hours of operations overrides.

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

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

    + * @public + */ + OrConditions?: HoursOfOperationOverrideSearchCriteria[] | undefined; + + /** + *

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

    + * @public + */ + AndConditions?: HoursOfOperationOverrideSearchCriteria[] | undefined; + + /** + *

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

    + * @public + */ + StringCondition?: StringCondition | undefined; + + /** + *

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

    + * @public + */ + DateCondition?: DateCondition | undefined; +} + /** *

    The search criteria to be used to return hours of operations.

    * @public @@ -1682,6 +2257,44 @@ export interface SearchEmailAddressesRequest { SearchFilter?: EmailAddressSearchFilter | undefined; } +/** + * @public + */ +export interface SearchHoursOfOperationOverridesRequest { + /** + *

    The identifier of the Amazon Connect instance.

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

    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. Length Constraints: Minimum length of 1. + * Maximum length of 2500.

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

    The maximum number of results to return per page. Valid Range: Minimum value of 1. Maximum + * value of 100.

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

    Filters to be applied to search results.

    + * @public + */ + SearchFilter?: HoursOfOperationSearchFilter | undefined; + + /** + *

    The search criteria to be used to return hours of operations overrides.

    + * @public + */ + SearchCriteria?: HoursOfOperationOverrideSearchCriteria | undefined; +} + /** * @public */ @@ -2394,6 +3007,38 @@ export interface DescribeContactResponse { Contact?: Contact | undefined; } +/** + * @internal + */ +export const UpdateUserIdentityInfoRequestFilterSensitiveLog = (obj: UpdateUserIdentityInfoRequest): any => ({ + ...obj, + ...(obj.IdentityInfo && { IdentityInfo: UserIdentityInfoFilterSensitiveLog(obj.IdentityInfo) }), +}); + +/** + * @internal + */ +export const UpdateViewContentRequestFilterSensitiveLog = (obj: UpdateViewContentRequest): any => ({ + ...obj, + ...(obj.Content && { Content: ViewInputContentFilterSensitiveLog(obj.Content) }), +}); + +/** + * @internal + */ +export const UpdateViewContentResponseFilterSensitiveLog = (obj: UpdateViewContentResponse): any => ({ + ...obj, + ...(obj.View && { View: ViewFilterSensitiveLog(obj.View) }), +}); + +/** + * @internal + */ +export const UpdateViewMetadataRequestFilterSensitiveLog = (obj: UpdateViewMetadataRequest): any => ({ + ...obj, + ...(obj.Name && { Name: SENSITIVE_STRING }), +}); + /** * @internal */ diff --git a/clients/client-connect/src/pagination/ListHoursOfOperationOverridesPaginator.ts b/clients/client-connect/src/pagination/ListHoursOfOperationOverridesPaginator.ts new file mode 100644 index 0000000000000..2649403bddeb7 --- /dev/null +++ b/clients/client-connect/src/pagination/ListHoursOfOperationOverridesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListHoursOfOperationOverridesCommand, + ListHoursOfOperationOverridesCommandInput, + ListHoursOfOperationOverridesCommandOutput, +} from "../commands/ListHoursOfOperationOverridesCommand"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListHoursOfOperationOverrides: ( + config: ConnectPaginationConfiguration, + input: ListHoursOfOperationOverridesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + ConnectPaginationConfiguration, + ListHoursOfOperationOverridesCommandInput, + ListHoursOfOperationOverridesCommandOutput +>(ConnectClient, ListHoursOfOperationOverridesCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-connect/src/pagination/SearchHoursOfOperationOverridesPaginator.ts b/clients/client-connect/src/pagination/SearchHoursOfOperationOverridesPaginator.ts new file mode 100644 index 0000000000000..7c3fba8f5975a --- /dev/null +++ b/clients/client-connect/src/pagination/SearchHoursOfOperationOverridesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + SearchHoursOfOperationOverridesCommand, + SearchHoursOfOperationOverridesCommandInput, + SearchHoursOfOperationOverridesCommandOutput, +} from "../commands/SearchHoursOfOperationOverridesCommand"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateSearchHoursOfOperationOverrides: ( + config: ConnectPaginationConfiguration, + input: SearchHoursOfOperationOverridesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + ConnectPaginationConfiguration, + SearchHoursOfOperationOverridesCommandInput, + SearchHoursOfOperationOverridesCommandOutput +>(ConnectClient, SearchHoursOfOperationOverridesCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-connect/src/pagination/index.ts b/clients/client-connect/src/pagination/index.ts index 934d84ab70b11..1ce7b21eeea3f 100644 --- a/clients/client-connect/src/pagination/index.ts +++ b/clients/client-connect/src/pagination/index.ts @@ -20,6 +20,7 @@ export * from "./ListDefaultVocabulariesPaginator"; export * from "./ListEvaluationFormVersionsPaginator"; export * from "./ListEvaluationFormsPaginator"; export * from "./ListFlowAssociationsPaginator"; +export * from "./ListHoursOfOperationOverridesPaginator"; export * from "./ListHoursOfOperationsPaginator"; export * from "./ListInstanceAttributesPaginator"; export * from "./ListInstanceStorageConfigsPaginator"; @@ -56,6 +57,7 @@ export * from "./SearchAvailablePhoneNumbersPaginator"; export * from "./SearchContactFlowModulesPaginator"; export * from "./SearchContactFlowsPaginator"; export * from "./SearchContactsPaginator"; +export * from "./SearchHoursOfOperationOverridesPaginator"; export * from "./SearchHoursOfOperationsPaginator"; export * from "./SearchPredefinedAttributesPaginator"; export * from "./SearchPromptsPaginator"; diff --git a/clients/client-connect/src/protocols/Aws_restJson1.ts b/clients/client-connect/src/protocols/Aws_restJson1.ts index 96d1ec2bf2bbc..ecb37091e460b 100644 --- a/clients/client-connect/src/protocols/Aws_restJson1.ts +++ b/clients/client-connect/src/protocols/Aws_restJson1.ts @@ -129,6 +129,10 @@ import { CreateHoursOfOperationCommandInput, CreateHoursOfOperationCommandOutput, } from "../commands/CreateHoursOfOperationCommand"; +import { + CreateHoursOfOperationOverrideCommandInput, + CreateHoursOfOperationOverrideCommandOutput, +} from "../commands/CreateHoursOfOperationOverrideCommand"; import { CreateInstanceCommandInput, CreateInstanceCommandOutput } from "../commands/CreateInstanceCommand"; import { CreateIntegrationAssociationCommandInput, @@ -196,6 +200,10 @@ import { DeleteHoursOfOperationCommandInput, DeleteHoursOfOperationCommandOutput, } from "../commands/DeleteHoursOfOperationCommand"; +import { + DeleteHoursOfOperationOverrideCommandInput, + DeleteHoursOfOperationOverrideCommandOutput, +} from "../commands/DeleteHoursOfOperationOverrideCommand"; import { DeleteInstanceCommandInput, DeleteInstanceCommandOutput } from "../commands/DeleteInstanceCommand"; import { DeleteIntegrationAssociationCommandInput, @@ -268,6 +276,10 @@ import { DescribeHoursOfOperationCommandInput, DescribeHoursOfOperationCommandOutput, } from "../commands/DescribeHoursOfOperationCommand"; +import { + DescribeHoursOfOperationOverrideCommandInput, + DescribeHoursOfOperationOverrideCommandOutput, +} from "../commands/DescribeHoursOfOperationOverrideCommand"; import { DescribeInstanceAttributeCommandInput, DescribeInstanceAttributeCommandOutput, @@ -369,6 +381,10 @@ import { GetCurrentMetricDataCommandOutput, } from "../commands/GetCurrentMetricDataCommand"; import { GetCurrentUserDataCommandInput, GetCurrentUserDataCommandOutput } from "../commands/GetCurrentUserDataCommand"; +import { + GetEffectiveHoursOfOperationsCommandInput, + GetEffectiveHoursOfOperationsCommandOutput, +} from "../commands/GetEffectiveHoursOfOperationsCommand"; import { GetFederationTokenCommandInput, GetFederationTokenCommandOutput } from "../commands/GetFederationTokenCommand"; import { GetFlowAssociationCommandInput, GetFlowAssociationCommandOutput } from "../commands/GetFlowAssociationCommand"; import { GetMetricDataCommandInput, GetMetricDataCommandOutput } from "../commands/GetMetricDataCommand"; @@ -431,6 +447,10 @@ import { ListFlowAssociationsCommandInput, ListFlowAssociationsCommandOutput, } from "../commands/ListFlowAssociationsCommand"; +import { + ListHoursOfOperationOverridesCommandInput, + ListHoursOfOperationOverridesCommandOutput, +} from "../commands/ListHoursOfOperationOverridesCommand"; import { ListHoursOfOperationsCommandInput, ListHoursOfOperationsCommandOutput, @@ -545,6 +565,10 @@ import { SearchEmailAddressesCommandInput, SearchEmailAddressesCommandOutput, } from "../commands/SearchEmailAddressesCommand"; +import { + SearchHoursOfOperationOverridesCommandInput, + SearchHoursOfOperationOverridesCommandOutput, +} from "../commands/SearchHoursOfOperationOverridesCommand"; import { SearchHoursOfOperationsCommandInput, SearchHoursOfOperationsCommandOutput, @@ -688,6 +712,10 @@ import { UpdateHoursOfOperationCommandInput, UpdateHoursOfOperationCommandOutput, } from "../commands/UpdateHoursOfOperationCommand"; +import { + UpdateHoursOfOperationOverrideCommandInput, + UpdateHoursOfOperationOverrideCommandOutput, +} from "../commands/UpdateHoursOfOperationOverrideCommand"; import { UpdateInstanceAttributeCommandInput, UpdateInstanceAttributeCommandOutput, @@ -849,6 +877,7 @@ import { FieldValue, FieldValueUnion, HoursOfOperationConfig, + HoursOfOperationOverrideConfig, HoursOfOperationTimeSlice, IdempotencyException, InstanceStorageConfig, @@ -870,6 +899,7 @@ import { NumericQuestionPropertyValueAutomation, OutboundCallerConfig, OutboundEmailConfig, + OverrideTimeSlice, ParticipantCapabilities, ParticipantDetailsToAdd, PhoneNumberQuickConnectConfig, @@ -971,10 +1001,7 @@ import { QueueSummary, QuickConnect, QuickConnectSummary, - RealTimeContactAnalysisSegmentAttachments, - RealTimeContactAnalysisSegmentEvent, RealTimeContactAnalysisSegmentType, - RealTimeContactAnalysisTimeData, RoutingProfile, Rule, SecurityProfile, @@ -1008,6 +1035,7 @@ import { ContactSearchSummaryQueueInfo, ControlPlaneTagFilter, ControlPlaneUserAttributeFilter, + DateCondition, DestinationNotAllowedException, DisconnectReason, EmailAddressInfo, @@ -1015,10 +1043,7 @@ import { EmailAttachment, EmailHeaderType, EvaluationAnswerInput, - EvaluationFormItem, HierarchyGroupCondition, - HierarchyLevelUpdate, - HierarchyStructureUpdate, HoursOfOperationSearchFilter, InboundAdditionalRecipients, InboundEmailContent, @@ -1041,7 +1066,10 @@ import { QueueSearchFilter, QuickConnectSearchFilter, RealtimeContactAnalysisSegment, + RealTimeContactAnalysisSegmentAttachments, + RealTimeContactAnalysisSegmentEvent, RealTimeContactAnalysisSegmentTranscript, + RealTimeContactAnalysisTimeData, ResourceTagsSearchCriteria, RoutingCriteriaInputStepExpiry, RoutingProfileSearchFilter, @@ -1056,7 +1084,6 @@ import { SecurityKey, SecurityProfilesSearchFilter, SecurityProfileSummary, - SegmentAttributeValue, Sort, SourceCampaign, TagSearchCondition, @@ -1080,8 +1107,12 @@ import { EmailAddressSearchCriteria, EvaluationForm, EvaluationFormContent, + EvaluationFormItem, EvaluationFormSection, Expression, + HierarchyLevelUpdate, + HierarchyStructureUpdate, + HoursOfOperationOverrideSearchCriteria, HoursOfOperationSearchCriteria, PredefinedAttributeSearchCriteria, PromptSearchCriteria, @@ -1092,6 +1123,7 @@ import { RoutingCriteriaInputStep, RoutingProfileSearchCriteria, SecurityProfileSearchCriteria, + SegmentAttributeValue, Step, UserHierarchyGroupSearchCriteria, UserSearchCriteria, @@ -1847,6 +1879,34 @@ export const se_CreateHoursOfOperationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateHoursOfOperationOverrideCommand + */ +export const se_CreateHoursOfOperationOverrideCommand = async ( + input: CreateHoursOfOperationOverrideCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("HoursOfOperationId", () => input.HoursOfOperationId!, "{HoursOfOperationId}", false); + let body: any; + body = JSON.stringify( + take(input, { + Config: (_) => _json(_), + Description: [], + EffectiveFrom: [], + EffectiveTill: [], + Name: [], + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateInstanceCommand */ @@ -2542,6 +2602,24 @@ export const se_DeleteHoursOfOperationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteHoursOfOperationOverrideCommand + */ +export const se_DeleteHoursOfOperationOverrideCommand = async ( + input: DeleteHoursOfOperationOverrideCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides/{HoursOfOperationOverrideId}"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("HoursOfOperationId", () => input.HoursOfOperationId!, "{HoursOfOperationId}", false); + b.p("HoursOfOperationOverrideId", () => input.HoursOfOperationOverrideId!, "{HoursOfOperationOverrideId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteInstanceCommand */ @@ -3007,6 +3085,24 @@ export const se_DescribeHoursOfOperationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DescribeHoursOfOperationOverrideCommand + */ +export const se_DescribeHoursOfOperationOverrideCommand = async ( + input: DescribeHoursOfOperationOverrideCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides/{HoursOfOperationOverrideId}"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("HoursOfOperationId", () => input.HoursOfOperationId!, "{HoursOfOperationId}", false); + b.p("HoursOfOperationOverrideId", () => input.HoursOfOperationOverrideId!, "{HoursOfOperationOverrideId}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DescribeInstanceCommand */ @@ -3682,6 +3778,27 @@ export const se_GetCurrentUserDataCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetEffectiveHoursOfOperationsCommand + */ +export const se_GetEffectiveHoursOfOperationsCommand = async ( + input: GetEffectiveHoursOfOperationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/effective-hours-of-operations/{InstanceId}/{HoursOfOperationId}"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("HoursOfOperationId", () => input.HoursOfOperationId!, "{HoursOfOperationId}", false); + const query: any = map({ + [_fD]: [, __expectNonNull(input[_FD]!, `FromDate`)], + [_tD]: [, __expectNonNull(input[_TD]!, `ToDate`)], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetFederationTokenCommand */ @@ -4169,6 +4286,27 @@ export const se_ListFlowAssociationsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListHoursOfOperationOverridesCommand + */ +export const se_ListHoursOfOperationOverridesCommand = async ( + input: ListHoursOfOperationOverridesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("HoursOfOperationId", () => input.HoursOfOperationId!, "{HoursOfOperationId}", 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_restJson1ListHoursOfOperationsCommand */ @@ -5164,6 +5302,32 @@ export const se_SearchEmailAddressesCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1SearchHoursOfOperationOverridesCommand + */ +export const se_SearchHoursOfOperationOverridesCommand = async ( + input: SearchHoursOfOperationOverridesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/search-hours-of-operation-overrides"); + let body: any; + body = JSON.stringify( + take(input, { + InstanceId: [], + MaxResults: [], + NextToken: [], + SearchCriteria: (_) => se_HoursOfOperationOverrideSearchCriteria(_, context), + SearchFilter: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1SearchHoursOfOperationsCommand */ @@ -6493,6 +6657,35 @@ export const se_UpdateHoursOfOperationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateHoursOfOperationOverrideCommand + */ +export const se_UpdateHoursOfOperationOverrideCommand = async ( + input: UpdateHoursOfOperationOverrideCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides/{HoursOfOperationOverrideId}"); + b.p("InstanceId", () => input.InstanceId!, "{InstanceId}", false); + b.p("HoursOfOperationId", () => input.HoursOfOperationId!, "{HoursOfOperationId}", false); + b.p("HoursOfOperationOverrideId", () => input.HoursOfOperationOverrideId!, "{HoursOfOperationOverrideId}", false); + let body: any; + body = JSON.stringify( + take(input, { + Config: (_) => _json(_), + Description: [], + EffectiveFrom: [], + EffectiveTill: [], + Name: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateInstanceAttributeCommand */ @@ -7937,6 +8130,27 @@ export const de_CreateHoursOfOperationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateHoursOfOperationOverrideCommand + */ +export const de_CreateHoursOfOperationOverrideCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + HoursOfOperationOverrideId: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateInstanceCommand */ @@ -8511,6 +8725,23 @@ export const de_DeleteHoursOfOperationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteHoursOfOperationOverrideCommand + */ +export const de_DeleteHoursOfOperationOverrideCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1DeleteInstanceCommand */ @@ -9020,6 +9251,27 @@ export const de_DescribeHoursOfOperationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DescribeHoursOfOperationOverrideCommand + */ +export const de_DescribeHoursOfOperationOverrideCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + HoursOfOperationOverride: _json, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DescribeInstanceCommand */ @@ -9715,6 +9967,28 @@ export const de_GetCurrentUserDataCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetEffectiveHoursOfOperationsCommand + */ +export const de_GetEffectiveHoursOfOperationsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + EffectiveHoursOfOperationList: _json, + TimeZone: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetFederationTokenCommand */ @@ -10240,6 +10514,30 @@ export const de_ListFlowAssociationsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListHoursOfOperationOverridesCommand + */ +export const de_ListHoursOfOperationOverridesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + HoursOfOperationOverrideList: _json, + LastModifiedRegion: __expectString, + LastModifiedTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + NextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListHoursOfOperationsCommand */ @@ -11221,6 +11519,29 @@ export const de_SearchEmailAddressesCommand = async ( return contents; }; +/** + * deserializeAws_restJson1SearchHoursOfOperationOverridesCommand + */ +export const de_SearchHoursOfOperationOverridesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(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, + HoursOfOperationOverrides: _json, + NextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1SearchHoursOfOperationsCommand */ @@ -12218,6 +12539,23 @@ export const de_UpdateHoursOfOperationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateHoursOfOperationOverrideCommand + */ +export const de_UpdateHoursOfOperationOverrideCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1UpdateInstanceAttributeCommand */ @@ -13568,6 +13906,8 @@ const se_ContactFlowModuleSearchCriteria = (input: ContactFlowModuleSearchCriter return take(input, { AndConditions: (_) => se_ContactFlowModuleSearchConditionList(_, context), OrConditions: (_) => se_ContactFlowModuleSearchConditionList(_, context), + StateCondition: [], + StatusCondition: [], StringCondition: _json, }); }; @@ -13637,6 +13977,8 @@ const se_CreateCaseActionDefinition = (input: CreateCaseActionDefinition, contex // se_DataSetIds omitted. +// se_DateCondition omitted. + // se_DisconnectReason omitted. // se_Distribution omitted. @@ -13905,6 +14247,39 @@ const se_HistoricalMetrics = (input: HistoricalMetric[], context: __SerdeContext // se_HoursOfOperationConfigList omitted. +// se_HoursOfOperationOverrideConfig omitted. + +// se_HoursOfOperationOverrideConfigList omitted. + +/** + * serializeAws_restJson1HoursOfOperationOverrideSearchConditionList + */ +const se_HoursOfOperationOverrideSearchConditionList = ( + input: HoursOfOperationOverrideSearchCriteria[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_HoursOfOperationOverrideSearchCriteria(entry, context); + }); +}; + +/** + * serializeAws_restJson1HoursOfOperationOverrideSearchCriteria + */ +const se_HoursOfOperationOverrideSearchCriteria = ( + input: HoursOfOperationOverrideSearchCriteria, + context: __SerdeContext +): any => { + return take(input, { + AndConditions: (_) => se_HoursOfOperationOverrideSearchConditionList(_, context), + DateCondition: _json, + OrConditions: (_) => se_HoursOfOperationOverrideSearchConditionList(_, context), + StringCondition: _json, + }); +}; + /** * serializeAws_restJson1HoursOfOperationSearchConditionList */ @@ -14016,6 +14391,8 @@ const se_MetricV2 = (input: MetricV2, context: __SerdeContext): any => { // se_OutboundRawMessage omitted. +// se_OverrideTimeSlice omitted. + // se_ParticipantCapabilities omitted. // se_ParticipantDetails omitted. @@ -15121,6 +15498,10 @@ const de_CustomerVoiceActivity = (output: any, context: __SerdeContext): Custome // de_DownloadUrlMetadata omitted. +// de_EffectiveHoursOfOperationList omitted. + +// de_EffectiveHoursOfOperations omitted. + // de_EmailAddressList omitted. // de_EmailAddressMetadata omitted. @@ -15708,6 +16089,14 @@ const de_HoursOfOperationList = (output: any, context: __SerdeContext): HoursOfO return retVal; }; +// de_HoursOfOperationOverride omitted. + +// de_HoursOfOperationOverrideConfig omitted. + +// de_HoursOfOperationOverrideConfigList omitted. + +// de_HoursOfOperationOverrideList omitted. + /** * deserializeAws_restJson1HoursOfOperationSummary */ @@ -15914,12 +16303,18 @@ const de_MetricV2 = (output: any, context: __SerdeContext): MetricV2 => { // de_NumericQuestionPropertyValueAutomation omitted. +// de_OperationalHour omitted. + +// de_OperationalHours omitted. + // de_OriginsList omitted. // de_OutboundCallerConfig omitted. // de_OutboundEmailConfig omitted. +// de_OverrideTimeSlice omitted. + // de_ParticipantCapabilities omitted. // de_ParticipantTokenCredentials omitted. @@ -17012,6 +17407,7 @@ const _DSI = "DataSetId"; const _EFV = "EvaluationFormVersion"; const _ESN = "EventSourceName"; const _FA = "FunctionArn"; +const _FD = "FromDate"; const _IA = "IntegrationArn"; const _II = "InstanceId"; const _IT = "IntegrationType"; @@ -17031,6 +17427,7 @@ const _RTe = "ReferenceTypes"; const _S = "Status"; const _SV = "SnapshotVersion"; const _T = "Type"; +const _TD = "ToDate"; const _TK = "TagKeys"; const _UEIS = "UrlExpiryInSeconds"; const _UI = "UserId"; @@ -17041,6 +17438,7 @@ const _cI = "contactId"; const _cT = "clientToken"; const _eSN = "eventSourceName"; const _fA = "functionArn"; +const _fD = "fromDate"; const _iA = "integrationArn"; const _iI = "instanceId"; const _iT = "integrationType"; @@ -17060,6 +17458,7 @@ const _s = "state"; const _sV = "snapshotVersion"; const _st = "status"; const _t = "type"; +const _tD = "toDate"; const _tK = "tagKeys"; const _uEIS = "urlExpiryInSeconds"; const _v = "version"; diff --git a/codegen/sdk-codegen/aws-models/connect.json b/codegen/sdk-codegen/aws-models/connect.json index 99038949e2b76..55bbef4687a30 100644 --- a/codegen/sdk-codegen/aws-models/connect.json +++ b/codegen/sdk-codegen/aws-models/connect.json @@ -979,6 +979,9 @@ { "target": "com.amazonaws.connect#CreateHoursOfOperation" }, + { + "target": "com.amazonaws.connect#CreateHoursOfOperationOverride" + }, { "target": "com.amazonaws.connect#CreateInstance" }, @@ -1063,6 +1066,9 @@ { "target": "com.amazonaws.connect#DeleteHoursOfOperation" }, + { + "target": "com.amazonaws.connect#DeleteHoursOfOperationOverride" + }, { "target": "com.amazonaws.connect#DeleteInstance" }, @@ -1144,6 +1150,9 @@ { "target": "com.amazonaws.connect#DescribeHoursOfOperation" }, + { + "target": "com.amazonaws.connect#DescribeHoursOfOperationOverride" + }, { "target": "com.amazonaws.connect#DescribeInstance" }, @@ -1249,6 +1258,9 @@ { "target": "com.amazonaws.connect#GetCurrentUserData" }, + { + "target": "com.amazonaws.connect#GetEffectiveHoursOfOperations" + }, { "target": "com.amazonaws.connect#GetFederationToken" }, @@ -1318,6 +1330,9 @@ { "target": "com.amazonaws.connect#ListFlowAssociations" }, + { + "target": "com.amazonaws.connect#ListHoursOfOperationOverrides" + }, { "target": "com.amazonaws.connect#ListHoursOfOperations" }, @@ -1453,6 +1468,9 @@ { "target": "com.amazonaws.connect#SearchEmailAddresses" }, + { + "target": "com.amazonaws.connect#SearchHoursOfOperationOverrides" + }, { "target": "com.amazonaws.connect#SearchHoursOfOperations" }, @@ -1603,6 +1621,9 @@ { "target": "com.amazonaws.connect#UpdateHoursOfOperation" }, + { + "target": "com.amazonaws.connect#UpdateHoursOfOperationOverride" + }, { "target": "com.amazonaws.connect#UpdateInstanceAttribute" }, @@ -5309,6 +5330,18 @@ "target": "com.amazonaws.connect#CommonAttributeAndCondition" } }, + "com.amazonaws.connect#CommonHumanReadableDescription": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[\\P{C}\\r\\n\\t]{1,250}$" + } + }, + "com.amazonaws.connect#CommonHumanReadableName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[\\P{C}\\r\\n\\t]{1,127}$" + } + }, "com.amazonaws.connect#CommonNameLength127": { "type": "string", "traits": { @@ -5450,7 +5483,7 @@ } }, "traits": { - "smithy.api#documentation": "

    A conditional check failed.

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

    Request processing failed because dependent condition failed.

    ", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -5742,7 +5775,7 @@ "ParticipantRole": { "target": "com.amazonaws.connect#ParticipantRole", "traits": { - "smithy.api#documentation": "

    The role of the participant in the chat conversation.

    " + "smithy.api#documentation": "

    The role of the participant in the chat conversation.

    \n \n

    Only CUSTOMER is currently supported. Any other values other than\n CUSTOMER will result in an exception (4xx error).

    \n
    " } }, "IncludeRawMessage": { @@ -6051,6 +6084,18 @@ }, "StringCondition": { "target": "com.amazonaws.connect#StringCondition" + }, + "StateCondition": { + "target": "com.amazonaws.connect#ContactFlowModuleState", + "traits": { + "smithy.api#documentation": "

    The state of the flow.

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

    The status of the flow.

    " + } } }, "traits": { @@ -7816,6 +7861,118 @@ } } }, + "com.amazonaws.connect#CreateHoursOfOperationOverride": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#CreateHoursOfOperationOverrideRequest" + }, + "output": { + "target": "com.amazonaws.connect#CreateHoursOfOperationOverrideResponse" + }, + "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 an hours of operation override in an Amazon Connect hours of operation\n resource

    ", + "smithy.api#http": { + "method": "PUT", + "uri": "/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides", + "code": 200 + } + } + }, + "com.amazonaws.connect#CreateHoursOfOperationOverrideRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation

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

    The name of the hours of operation override.

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

    The description of the hours of operation override.

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

    Configuration information for the hours of operation override: day, start time, and end\n time.

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

    The date from when the hours of operation override would be effective.

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

    The date until when the hours of operation override would be effective.

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

    The identifier for the hours of operation override.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#CreateHoursOfOperationRequest": { "type": "structure", "members": { @@ -8589,7 +8746,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

    \n

    Creates a new queue for the specified Amazon Connect instance.

    \n \n
      \n
    • \n

      If the phone number is claimed to a traffic distribution group that was created in the\n same Region as the Amazon Connect instance where you are calling this API, then you can use a\n full phone number ARN or a UUID for OutboundCallerIdNumberId. However, if the phone number is claimed\n to a traffic distribution group that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that is associated with the traffic distribution group, you must provide a full phone number ARN. If a\n UUID is provided in this scenario, you will receive a\n ResourceNotFoundException.

      \n
    • \n
    • \n

      Only use the phone number ARN format that doesn't contain instance in the\n path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This\n is the same ARN format that is returned when you call the ListPhoneNumbersV2\n API.

      \n
    • \n
    • \n

      If you plan to use IAM policies to allow/deny access to this API for phone\n number resources claimed to a traffic distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region.

      \n
    • \n
    \n
    ", + "smithy.api#documentation": "

    Creates a new queue for the specified Amazon Connect instance.

    \n \n
      \n
    • \n

      If the phone number is claimed to a traffic distribution group that was created in the\n same Region as the Amazon Connect instance where you are calling this API, then you can use a\n full phone number ARN or a UUID for OutboundCallerIdNumberId. However, if the phone number is claimed\n to a traffic distribution group that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that is associated with the traffic distribution group, you must provide a full phone number ARN. If a\n UUID is provided in this scenario, you will receive a\n ResourceNotFoundException.

      \n
    • \n
    • \n

      Only use the phone number ARN format that doesn't contain instance in the\n path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This\n is the same ARN format that is returned when you call the ListPhoneNumbersV2\n API.

      \n
    • \n
    • \n

      If you plan to use IAM policies to allow/deny access to this API for phone\n number resources claimed to a traffic distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region.

      \n
    • \n
    \n
    ", "smithy.api#http": { "method": "PUT", "uri": "/queues/{InstanceId}", @@ -10384,6 +10541,67 @@ "target": "com.amazonaws.connect#DataSetId" } }, + "com.amazonaws.connect#DateComparisonType": { + "type": "enum", + "members": { + "GREATER_THAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GREATER_THAN" + } + }, + "LESS_THAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LESS_THAN" + } + }, + "GREATER_THAN_OR_EQUAL_TO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GREATER_THAN_OR_EQUAL_TO" + } + }, + "LESS_THAN_OR_EQUAL_TO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LESS_THAN_OR_EQUAL_TO" + } + }, + "EQUAL_TO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EQUAL_TO" + } + } + } + }, + "com.amazonaws.connect#DateCondition": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.connect#String", + "traits": { + "smithy.api#documentation": "

    An object to specify the hours of operation override date field.

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

    An object to specify the hours of operation override date value.

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

    An object to specify the hours of operation override date condition\n comparisonType.

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

    An object to specify the hours of operation override date condition.

    " + } + }, "com.amazonaws.connect#DateReference": { "type": "structure", "members": { @@ -10404,6 +10622,12 @@ "smithy.api#documentation": "

    Information about a reference when the referenceType is DATE.\n Otherwise, null.

    " } }, + "com.amazonaws.connect#DateYearMonthDayFormat": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\d{4}-\\d{2}-\\d{2}$" + } + }, "com.amazonaws.connect#DeactivateEvaluationForm": { "type": "operation", "input": { @@ -10994,6 +11218,72 @@ } } }, + "com.amazonaws.connect#DeleteHoursOfOperationOverride": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DeleteHoursOfOperationOverrideRequest" + }, + "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": "

    Deletes an hours of operation override in an Amazon Connect hours of operation\n resource

    ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides/{HoursOfOperationOverrideId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#DeleteHoursOfOperationOverrideRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation.

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

    The identifier for the hours of operation override.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.connect#DeleteHoursOfOperationRequest": { "type": "structure", "members": { @@ -12829,6 +13119,86 @@ } } }, + "com.amazonaws.connect#DescribeHoursOfOperationOverride": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DescribeHoursOfOperationOverrideRequest" + }, + "output": { + "target": "com.amazonaws.connect#DescribeHoursOfOperationOverrideResponse" + }, + "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 the hours of operation override.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides/{HoursOfOperationOverrideId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#DescribeHoursOfOperationOverrideRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation.

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

    The identifier for the hours of operation override.

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

    Information about the hours of operations override.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#DescribeHoursOfOperationRequest": { "type": "structure", "members": { @@ -15284,6 +15654,32 @@ "com.amazonaws.connect#DurationInSeconds": { "type": "integer" }, + "com.amazonaws.connect#EffectiveHoursOfOperationList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#EffectiveHoursOfOperations" + } + }, + "com.amazonaws.connect#EffectiveHoursOfOperations": { + "type": "structure", + "members": { + "Date": { + "target": "com.amazonaws.connect#HoursOfOperationOverrideYearMonthDayDateFormat", + "traits": { + "smithy.api#documentation": "

    The date that the hours of operation or overrides applies to.

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

    Information about the hours of operations with the effective override applied.

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

    Information about the hours of operations with the effective override applied.

    " + } + }, "com.amazonaws.connect#Email": { "type": "string", "traits": { @@ -18110,6 +18506,100 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#GetEffectiveHoursOfOperations": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#GetEffectiveHoursOfOperationsRequest" + }, + "output": { + "target": "com.amazonaws.connect#GetEffectiveHoursOfOperationsResponse" + }, + "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": "

    Get the hours of operations with the effective override applied.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/effective-hours-of-operations/{InstanceId}/{HoursOfOperationId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#GetEffectiveHoursOfOperationsRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation.

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

    The Date from when the hours of operation are listed.

    ", + "smithy.api#httpQuery": "fromDate", + "smithy.api#required": {} + } + }, + "ToDate": { + "target": "com.amazonaws.connect#HoursOfOperationOverrideYearMonthDayDateFormat", + "traits": { + "smithy.api#documentation": "

    The Date until when the hours of operation are listed.

    ", + "smithy.api#httpQuery": "toDate", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#GetEffectiveHoursOfOperationsResponse": { + "type": "structure", + "members": { + "EffectiveHoursOfOperationList": { + "target": "com.amazonaws.connect#EffectiveHoursOfOperationList", + "traits": { + "smithy.api#documentation": "

    Information about the effective hours of operations

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

    The time zone for the hours of operation.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#GetFederationToken": { "type": "operation", "input": { @@ -19812,6 +20302,156 @@ "com.amazonaws.connect#HoursOfOperationName": { "type": "string" }, + "com.amazonaws.connect#HoursOfOperationOverride": { + "type": "structure", + "members": { + "HoursOfOperationOverrideId": { + "target": "com.amazonaws.connect#HoursOfOperationOverrideId", + "traits": { + "smithy.api#documentation": "

    The identifier for the hours of operation override.

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

    The identifier for the hours of operation.

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

    The Amazon Resource Name (ARN) for the hours of operation.

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

    The name of the hours of operation override.

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

    The description of the hours of operation override.

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

    Configuration information for the hours of operation override: day, start time, and end\n time.

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

    The date from which the hours of operation override would be effective.

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

    The date till which the hours of operation override would be effective.

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

    Information about the hours of operations override.

    " + } + }, + "com.amazonaws.connect#HoursOfOperationOverrideConfig": { + "type": "structure", + "members": { + "Day": { + "target": "com.amazonaws.connect#OverrideDays", + "traits": { + "smithy.api#documentation": "

    The day that the hours of operation override applies to.

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

    The start time when your contact center opens if overrides are applied.

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

    The end time that your contact center closes if overrides are applied.

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

    Information about the hours of operation override config: day, start time, and end\n time.

    " + } + }, + "com.amazonaws.connect#HoursOfOperationOverrideConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#HoursOfOperationOverrideConfig" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.connect#HoursOfOperationOverrideId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 36 + } + } + }, + "com.amazonaws.connect#HoursOfOperationOverrideList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#HoursOfOperationOverride" + } + }, + "com.amazonaws.connect#HoursOfOperationOverrideSearchConditionList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#HoursOfOperationOverrideSearchCriteria" + } + }, + "com.amazonaws.connect#HoursOfOperationOverrideSearchCriteria": { + "type": "structure", + "members": { + "OrConditions": { + "target": "com.amazonaws.connect#HoursOfOperationOverrideSearchConditionList", + "traits": { + "smithy.api#documentation": "

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

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

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

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

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

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

    The search criteria to be used to return hours of operations overrides.

    " + } + }, + "com.amazonaws.connect#HoursOfOperationOverrideYearMonthDayDateFormat": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\d{4}-\\d{2}-\\d{2}$" + } + }, "com.amazonaws.connect#HoursOfOperationSearchConditionList": { "type": "list", "member": { @@ -22678,6 +23318,116 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#ListHoursOfOperationOverrides": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#ListHoursOfOperationOverridesRequest" + }, + "output": { + "target": "com.amazonaws.connect#ListHoursOfOperationOverridesResponse" + }, + "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": "

    List the hours of operation overrides.

    ", + "smithy.api#http": { + "method": "GET", + "uri": "/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "HoursOfOperationOverrideList", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#ListHoursOfOperationOverridesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation

    ", + "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. The default MaxResult size is 100. Valid\n Range: Minimum value of 1. Maximum value of 1000.

    ", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#ListHoursOfOperationOverridesResponse": { + "type": "structure", + "members": { + "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.

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

    Information about the hours of operation override.

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

    The AWS Region where this resource was last modified.

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

    The timestamp when this resource was last modified.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#ListHoursOfOperations": { "type": "operation", "input": { @@ -26723,6 +27473,32 @@ } } }, + "com.amazonaws.connect#OperationalHour": { + "type": "structure", + "members": { + "Start": { + "target": "com.amazonaws.connect#OverrideTimeSlice", + "traits": { + "smithy.api#documentation": "

    The start time that your contact center opens.

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

    The end time that your contact center closes.

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

    Information about the hours of operations with the effective override applied.

    " + } + }, + "com.amazonaws.connect#OperationalHours": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#OperationalHour" + } + }, "com.amazonaws.connect#Origin": { "type": "string", "traits": { @@ -26929,6 +27705,77 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.connect#OverrideDays": { + "type": "enum", + "members": { + "SUNDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUNDAY" + } + }, + "MONDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MONDAY" + } + }, + "TUESDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TUESDAY" + } + }, + "WEDNESDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WEDNESDAY" + } + }, + "THURSDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "THURSDAY" + } + }, + "FRIDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FRIDAY" + } + }, + "SATURDAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SATURDAY" + } + } + } + }, + "com.amazonaws.connect#OverrideTimeSlice": { + "type": "structure", + "members": { + "Hours": { + "target": "com.amazonaws.connect#Hours24Format", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

    The hours.

    ", + "smithy.api#required": {} + } + }, + "Minutes": { + "target": "com.amazonaws.connect#MinutesLimit60", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

    The minutes.

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

    The start time or end time for an hours of operation override.

    " + } + }, "com.amazonaws.connect#PEM": { "type": "string", "traits": { @@ -33469,6 +34316,108 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#SearchHoursOfOperationOverrides": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#SearchHoursOfOperationOverridesRequest" + }, + "output": { + "target": "com.amazonaws.connect#SearchHoursOfOperationOverridesResponse" + }, + "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 the hours of operation overrides.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/search-hours-of-operation-overrides", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "HoursOfOperationOverrides", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#SearchHoursOfOperationOverridesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect 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. Length Constraints: Minimum length of 1.\n Maximum length of 2500.

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

    The maximum number of results to return per page. Valid Range: Minimum value of 1. Maximum\n value of 100.

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

    The search criteria to be used to return hours of operations overrides.

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

    Information about the hours of operations overrides.

    " + } + }, + "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. Length Constraints: Minimum length of 1.\n Maximum length of 2500.

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

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

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#SearchHoursOfOperations": { "type": "operation", "input": { @@ -40578,6 +41527,108 @@ } } }, + "com.amazonaws.connect#UpdateHoursOfOperationOverride": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#UpdateHoursOfOperationOverrideRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.connect#ConditionalOperationFailedException" + }, + { + "target": "com.amazonaws.connect#DuplicateResourceException" + }, + { + "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": "

    Update the hours of operation override.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/hours-of-operations/{InstanceId}/{HoursOfOperationId}/overrides/{HoursOfOperationOverrideId}", + "code": 200 + } + } + }, + "com.amazonaws.connect#UpdateHoursOfOperationOverrideRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect instance.

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

    The identifier for the hours of operation.

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

    The identifier for the hours of operation override.

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

    The name of the hours of operation override.

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

    The description of the hours of operation override.

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

    Configuration information for the hours of operation override: day, start time, and end\n time.

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

    The date from when the hours of operation override would be effective.

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

    The date till when the hours of operation override would be effective.

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.connect#UpdateHoursOfOperationRequest": { "type": "structure", "members": { @@ -43616,13 +44667,13 @@ "FirstName": { "target": "com.amazonaws.connect#AgentFirstName", "traits": { - "smithy.api#documentation": "

    The first name. This is required if you are using Amazon Connect or SAML for identity\n management.

    " + "smithy.api#documentation": "

    The first name. This is required if you are using Amazon Connect or SAML for identity\n management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a\n non-NFC form (for example, decomposed characters or combining marks) are not accepted.

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

    The last name. This is required if you are using Amazon Connect or SAML for identity\n management.

    " + "smithy.api#documentation": "

    The last name. This is required if you are using Amazon Connect or SAML for identity\n management. Inputs must be in Unicode Normalization Form C (NFC). Text containing characters in a\n non-NFC form (for example, decomposed characters or combining marks) are not accepted.

    " } }, "Email": {