From 1c86676ebc7cfd24f0fb16d3310abc98d8890ffe Mon Sep 17 00:00:00 2001 From: awstools Date: Fri, 9 Aug 2024 18:40:08 +0000 Subject: [PATCH] feat(client-connect): This release supports adding RoutingCriteria via UpdateContactRoutingData public API. --- .../src/commands/CreateInstanceCommand.ts | 2 + .../CreatePredefinedAttributeCommand.ts | 5 +- .../commands/CreateSecurityProfileCommand.ts | 4 + .../src/commands/DeleteInstanceCommand.ts | 4 +- .../src/commands/DeleteQueueCommand.ts | 2 +- .../DescribePredefinedAttributeCommand.ts | 5 +- .../DescribeSecurityProfileCommand.ts | 6 +- .../ListPredefinedAttributesCommand.ts | 5 +- .../ListSecurityProfilePermissionsCommand.ts | 4 + .../commands/ListSecurityProfilesCommand.ts | 4 +- .../SearchPredefinedAttributesCommand.ts | 5 +- .../commands/SearchSecurityProfilesCommand.ts | 4 + .../UpdateContactRoutingDataCommand.ts | 50 +++++++++ .../UpdatePredefinedAttributeCommand.ts | 5 +- .../commands/UpdateSecurityProfileCommand.ts | 4 + clients/client-connect/src/models/models_0.ts | 8 +- clients/client-connect/src/models/models_1.ts | 22 ++-- clients/client-connect/src/models/models_2.ts | 105 +++++++++++++----- .../src/protocols/Aws_restJson1.ts | 79 +++++++++++++ codegen/sdk-codegen/aws-models/connect.json | 98 ++++++++++++---- 20 files changed, 351 insertions(+), 70 deletions(-) diff --git a/clients/client-connect/src/commands/CreateInstanceCommand.ts b/clients/client-connect/src/commands/CreateInstanceCommand.ts index a3eb1ce306cc..3991b9cf76b2 100644 --- a/clients/client-connect/src/commands/CreateInstanceCommand.ts +++ b/clients/client-connect/src/commands/CreateInstanceCommand.ts @@ -36,6 +36,8 @@ export interface CreateInstanceCommandOutput extends CreateInstanceResponse, __M *

Initiates an Amazon Connect instance with all the supported channels enabled. It does * not attach any storage, such as Amazon Simple Storage Service (Amazon S3) or Amazon Kinesis. It * also does not allow for any configurations on features, such as Contact Lens for Amazon Connect.

+ *

For more information, see Create an Amazon Connect + * instance in the Amazon Connect Administrator Guide.

*

Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. * If you exceed this limit, you will get an error message indicating there has been an excessive number of attempts at creating or deleting instances. * You must wait 30 days before you can restart creating and deleting instances in your account.

diff --git a/clients/client-connect/src/commands/CreatePredefinedAttributeCommand.ts b/clients/client-connect/src/commands/CreatePredefinedAttributeCommand.ts index face8ebe817d..a080ca49d7bf 100644 --- a/clients/client-connect/src/commands/CreatePredefinedAttributeCommand.ts +++ b/clients/client-connect/src/commands/CreatePredefinedAttributeCommand.ts @@ -28,7 +28,10 @@ export interface CreatePredefinedAttributeCommandInput extends CreatePredefinedA export interface CreatePredefinedAttributeCommandOutput extends __MetadataBearer {} /** - *

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

+ *

Creates a new predefined attribute for the specified Amazon Connect instance. Predefined + * attributes are attributes in an Amazon Connect instance that can be used to route + * contacts to an agent or pools of agents within a queue. For more information, see Create + * predefined attributes for routing contacts to agents.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/CreateSecurityProfileCommand.ts b/clients/client-connect/src/commands/CreateSecurityProfileCommand.ts index 17cca615b791..bee320f1db2b 100644 --- a/clients/client-connect/src/commands/CreateSecurityProfileCommand.ts +++ b/clients/client-connect/src/commands/CreateSecurityProfileCommand.ts @@ -29,6 +29,10 @@ export interface CreateSecurityProfileCommandOutput extends CreateSecurityProfil /** *

Creates a security profile.

+ *

For information about security profiles, see Security Profiles in the + * Amazon Connect Administrator Guide. For a mapping of the API name and + * user interface name of the security profile permissions, see List of security profile + * permissions.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/DeleteInstanceCommand.ts b/clients/client-connect/src/commands/DeleteInstanceCommand.ts index d5b2e8b7e8f2..091a47738816 100644 --- a/clients/client-connect/src/commands/DeleteInstanceCommand.ts +++ b/clients/client-connect/src/commands/DeleteInstanceCommand.ts @@ -29,7 +29,9 @@ export interface DeleteInstanceCommandOutput extends __MetadataBearer {} /** *

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

- *

Deletes the Amazon Connect instance.

+ *

Deletes the Amazon Connect instance. For more information, see Delete your + * Amazon Connect instance in the Amazon Connect Administrator + * Guide.

*

Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. * If you exceed this limit, you will get an error message indicating there has been an excessive number of attempts at creating or deleting instances. * You must wait 30 days before you can restart creating and deleting instances in your account.

diff --git a/clients/client-connect/src/commands/DeleteQueueCommand.ts b/clients/client-connect/src/commands/DeleteQueueCommand.ts index de9505813543..ce302729deb1 100644 --- a/clients/client-connect/src/commands/DeleteQueueCommand.ts +++ b/clients/client-connect/src/commands/DeleteQueueCommand.ts @@ -28,7 +28,7 @@ export interface DeleteQueueCommandInput extends DeleteQueueRequest {} export interface DeleteQueueCommandOutput extends __MetadataBearer {} /** - *

Deletes a queue.

+ *

Deletes a queue. It isn't possible to delete a queue by using the Amazon Connect admin website.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/DescribePredefinedAttributeCommand.ts b/clients/client-connect/src/commands/DescribePredefinedAttributeCommand.ts index 137a8a936481..17342d70af5e 100644 --- a/clients/client-connect/src/commands/DescribePredefinedAttributeCommand.ts +++ b/clients/client-connect/src/commands/DescribePredefinedAttributeCommand.ts @@ -33,7 +33,10 @@ export interface DescribePredefinedAttributeCommandOutput __MetadataBearer {} /** - *

Describes a predefined attribute for the specified Amazon Connect instance.

+ *

Describes a predefined attribute for the specified Amazon Connect instance. Predefined + * attributes are attributes in an Amazon Connect instance that can be used to route + * contacts to an agent or pools of agents within a queue. For more information, see Create + * predefined attributes for routing contacts to agents.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/DescribeSecurityProfileCommand.ts b/clients/client-connect/src/commands/DescribeSecurityProfileCommand.ts index de469aafeaba..633938f2ef4e 100644 --- a/clients/client-connect/src/commands/DescribeSecurityProfileCommand.ts +++ b/clients/client-connect/src/commands/DescribeSecurityProfileCommand.ts @@ -28,7 +28,11 @@ export interface DescribeSecurityProfileCommandInput extends DescribeSecurityPro export interface DescribeSecurityProfileCommandOutput extends DescribeSecurityProfileResponse, __MetadataBearer {} /** - *

Gets basic information about the security profle.

+ *

Gets basic information about the security profile.

+ *

For information about security profiles, see Security Profiles in the + * Amazon Connect Administrator Guide. For a mapping of the API name and + * user interface name of the security profile permissions, see List of security profile + * permissions.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/ListPredefinedAttributesCommand.ts b/clients/client-connect/src/commands/ListPredefinedAttributesCommand.ts index 49d38abd27b1..5d7043c23c82 100644 --- a/clients/client-connect/src/commands/ListPredefinedAttributesCommand.ts +++ b/clients/client-connect/src/commands/ListPredefinedAttributesCommand.ts @@ -28,7 +28,10 @@ export interface ListPredefinedAttributesCommandInput extends ListPredefinedAttr export interface ListPredefinedAttributesCommandOutput extends ListPredefinedAttributesResponse, __MetadataBearer {} /** - *

Lists predefined attributes for the specified Amazon Connect instance.

+ *

Lists predefined attributes for the specified Amazon Connect instance. Predefined + * attributes are attributes in an Amazon Connect instance that can be used to route + * contacts to an agent or pools of agents within a queue. For more information, see Create + * predefined attributes for routing contacts to agents.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/ListSecurityProfilePermissionsCommand.ts b/clients/client-connect/src/commands/ListSecurityProfilePermissionsCommand.ts index 96e01904f0bf..16f96530c040 100644 --- a/clients/client-connect/src/commands/ListSecurityProfilePermissionsCommand.ts +++ b/clients/client-connect/src/commands/ListSecurityProfilePermissionsCommand.ts @@ -34,6 +34,10 @@ export interface ListSecurityProfilePermissionsCommandOutput /** *

Lists the permissions granted to a security profile.

+ *

For information about security profiles, see Security Profiles in the + * Amazon Connect Administrator Guide. For a mapping of the API name and + * user interface name of the security profile permissions, see List of security profile + * permissions.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/ListSecurityProfilesCommand.ts b/clients/client-connect/src/commands/ListSecurityProfilesCommand.ts index 85c59b274cd9..2008af699e40 100644 --- a/clients/client-connect/src/commands/ListSecurityProfilesCommand.ts +++ b/clients/client-connect/src/commands/ListSecurityProfilesCommand.ts @@ -30,7 +30,9 @@ export interface ListSecurityProfilesCommandOutput extends ListSecurityProfilesR /** *

Provides summary information about the security profiles for the specified Amazon Connect instance.

*

For more information about security profiles, see Security Profiles in the - * Amazon Connect Administrator Guide.

+ * Amazon Connect Administrator Guide. For a mapping of the API name and + * user interface name of the security profile permissions, see List of security profile + * permissions.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/SearchPredefinedAttributesCommand.ts b/clients/client-connect/src/commands/SearchPredefinedAttributesCommand.ts index 74eaf86cb1e5..188ac24865b5 100644 --- a/clients/client-connect/src/commands/SearchPredefinedAttributesCommand.ts +++ b/clients/client-connect/src/commands/SearchPredefinedAttributesCommand.ts @@ -28,7 +28,10 @@ export interface SearchPredefinedAttributesCommandInput extends SearchPredefined export interface SearchPredefinedAttributesCommandOutput extends SearchPredefinedAttributesResponse, __MetadataBearer {} /** - *

Predefined attributes that meet certain criteria.

+ *

Searches predefined attributes that meet certain criteria. Predefined + * attributes are attributes in an Amazon Connect instance that can be used to route + * contacts to an agent or pools of agents within a queue. For more information, see Create + * predefined attributes for routing contacts to agents.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/SearchSecurityProfilesCommand.ts b/clients/client-connect/src/commands/SearchSecurityProfilesCommand.ts index acc30422329e..cdd15d93e2b7 100644 --- a/clients/client-connect/src/commands/SearchSecurityProfilesCommand.ts +++ b/clients/client-connect/src/commands/SearchSecurityProfilesCommand.ts @@ -30,6 +30,10 @@ export interface SearchSecurityProfilesCommandOutput extends SearchSecurityProfi /** *

Searches security profiles in an Amazon Connect instance, with optional * filtering.

+ *

For information about security profiles, see Security Profiles in the + * Amazon Connect Administrator Guide. For a mapping of the API name and + * user interface name of the security profile permissions, see List of security profile + * permissions.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/UpdateContactRoutingDataCommand.ts b/clients/client-connect/src/commands/UpdateContactRoutingDataCommand.ts index dbf3856effc4..cc723ceca4dc 100644 --- a/clients/client-connect/src/commands/UpdateContactRoutingDataCommand.ts +++ b/clients/client-connect/src/commands/UpdateContactRoutingDataCommand.ts @@ -52,6 +52,56 @@ export interface UpdateContactRoutingDataCommandOutput extends UpdateContactRout * ContactId: "STRING_VALUE", // required * QueueTimeAdjustmentSeconds: Number("int"), * QueuePriority: Number("long"), + * RoutingCriteria: { // RoutingCriteriaInput + * Steps: [ // RoutingCriteriaInputSteps + * { // RoutingCriteriaInputStep + * Expiry: { // RoutingCriteriaInputStepExpiry + * DurationInSeconds: Number("int"), + * }, + * Expression: { // Expression + * AttributeCondition: { // AttributeCondition + * Name: "STRING_VALUE", + * Value: "STRING_VALUE", + * ProficiencyLevel: Number("float"), + * MatchCriteria: { // MatchCriteria + * AgentsCriteria: { // AgentsCriteria + * AgentIds: [ // AgentIds + * "STRING_VALUE", + * ], + * }, + * }, + * ComparisonOperator: "STRING_VALUE", + * }, + * AndExpression: [ // Expressions + * { + * AttributeCondition: { + * Name: "STRING_VALUE", + * Value: "STRING_VALUE", + * ProficiencyLevel: Number("float"), + * MatchCriteria: { + * AgentsCriteria: { + * AgentIds: [ + * "STRING_VALUE", + * ], + * }, + * }, + * ComparisonOperator: "STRING_VALUE", + * }, + * AndExpression: [ + * "", + * ], + * OrExpression: [ + * "", + * ], + * }, + * ], + * OrExpression: [ + * "", + * ], + * }, + * }, + * ], + * }, * }; * const command = new UpdateContactRoutingDataCommand(input); * const response = await client.send(command); diff --git a/clients/client-connect/src/commands/UpdatePredefinedAttributeCommand.ts b/clients/client-connect/src/commands/UpdatePredefinedAttributeCommand.ts index c74548ce2229..63f1169214b7 100644 --- a/clients/client-connect/src/commands/UpdatePredefinedAttributeCommand.ts +++ b/clients/client-connect/src/commands/UpdatePredefinedAttributeCommand.ts @@ -28,7 +28,10 @@ export interface UpdatePredefinedAttributeCommandInput extends UpdatePredefinedA export interface UpdatePredefinedAttributeCommandOutput extends __MetadataBearer {} /** - *

Updates a predefined attribute for the specified Amazon Connect instance.

+ *

Updates a predefined attribute for the specified Amazon Connect instance. Predefined + * attributes are attributes in an Amazon Connect instance that can be used to route + * contacts to an agent or pools of agents within a queue. For more information, see Create + * predefined attributes for routing contacts to agents.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/UpdateSecurityProfileCommand.ts b/clients/client-connect/src/commands/UpdateSecurityProfileCommand.ts index d477489ab8a5..6415147e6cf4 100644 --- a/clients/client-connect/src/commands/UpdateSecurityProfileCommand.ts +++ b/clients/client-connect/src/commands/UpdateSecurityProfileCommand.ts @@ -29,6 +29,10 @@ export interface UpdateSecurityProfileCommandOutput extends __MetadataBearer {} /** *

Updates a security profile.

+ *

For information about security profiles, see Security Profiles in the + * Amazon Connect Administrator Guide. For a mapping of the API name and + * user interface name of the security profile permissions, see List of security profile + * permissions.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/models/models_0.ts b/clients/client-connect/src/models/models_0.ts index 252a0953c41e..1932e6b4b36b 100644 --- a/clients/client-connect/src/models/models_0.ts +++ b/clients/client-connect/src/models/models_0.ts @@ -615,14 +615,14 @@ export interface AgentQualityMetrics { } /** - *

Can be used to define a list of preferred agents to target the contact within the queue. + *

Can be used to define a list of preferred agents to target the contact to within the queue. * Note that agents must have the queue in their routing profile in order to be offered the * contact.

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

An object to specify a list of agents, by Agent ID.

+ *

An object to specify a list of agents, by user ID.

* @public */ AgentIds?: string[]; @@ -7056,12 +7056,12 @@ export interface Expiry { } /** - *

An object to define AgentsCriteria.

+ *

An object to define AgentsCriteria.

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

An object to define AgentIds.

+ *

An object to define agentIds.

* @public */ AgentsCriteria?: AgentsCriteria; diff --git a/clients/client-connect/src/models/models_1.ts b/clients/client-connect/src/models/models_1.ts index ca18f6ec559c..add7d8a7249d 100644 --- a/clients/client-connect/src/models/models_1.ts +++ b/clients/client-connect/src/models/models_1.ts @@ -8869,31 +8869,27 @@ export interface RealTimeContactAnalysisSegmentPostContactSummary { Status: RealTimeContactAnalysisPostContactSummaryStatus | undefined; /** - *

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

+ *

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.

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

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

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

    *
  • *
  • diff --git a/clients/client-connect/src/models/models_2.ts b/clients/client-connect/src/models/models_2.ts index 218e255613ce..f85017b6f47b 100644 --- a/clients/client-connect/src/models/models_2.ts +++ b/clients/client-connect/src/models/models_2.ts @@ -4757,36 +4757,17 @@ export interface UpdateContactFlowNameRequest { 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 UpdateContactRoutingDataRequest { - /** - *

    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; - +export interface RoutingCriteriaInputStepExpiry { /** - *

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

    + *

    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 */ - QueueTimeAdjustmentSeconds?: number; - - /** - *

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

    - * @public - */ - QueuePriority?: number; + DurationInSeconds?: number; } /** @@ -6984,6 +6965,25 @@ export interface DescribeEvaluationFormResponse { EvaluationForm: EvaluationForm | undefined; } +/** + *

    Step defines the list of agents to be routed or route based on the agent requirements such as ProficiencyLevel, + * Name, or Value.

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

    An object to specify the expiration of a routing step.

    + * @public + */ + Expiry?: RoutingCriteriaInputStepExpiry; + + /** + *

    A tagged union to specify expression for a routing step.

    + * @public + */ + Expression?: Expression; +} + /** * @public */ @@ -7506,6 +7506,21 @@ export interface RoutingCriteria { Index?: number; } +/** + *

    An object to define the RoutingCriteria.

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

    When Amazon Connect does not find an available agent meeting the requirements in a step for + * a given step duration, the routing criteria will move on to the next step sequentially until a + * join is completed with an agent. When all steps are exhausted, the contact will be offered to any agent + * in the queue.

    + * @public + */ + Steps?: RoutingCriteriaInputStep[]; +} + /** *

    Contains information about a contact.

    * @public @@ -7723,6 +7738,46 @@ export interface Contact { SegmentAttributes?: Record; } +/** + * @public + */ +export interface UpdateContactRoutingDataRequest { + /** + *

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

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

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

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

    Updates the routing criteria on the contact. These properties can be used to change how a + * contact is routed within the queue.

    + * @public + */ + RoutingCriteria?: RoutingCriteriaInput; +} + /** * @public */ diff --git a/clients/client-connect/src/protocols/Aws_restJson1.ts b/clients/client-connect/src/protocols/Aws_restJson1.ts index 710a24ba5430..54c9e0d25502 100644 --- a/clients/client-connect/src/protocols/Aws_restJson1.ts +++ b/clients/client-connect/src/protocols/Aws_restJson1.ts @@ -758,6 +758,7 @@ import { AgentHierarchyGroups, AgentInfo, AgentQualityMetrics, + AgentsCriteria, AgentStatus, AgentStatusReference, AgentStatusSearchFilter, @@ -816,6 +817,7 @@ import { LexBot, LexV2Bot, LimitExceededException, + MatchCriteria, MediaConcurrency, MonitorCapability, NotificationRecipientType, @@ -994,6 +996,9 @@ import { QuickConnectSearchFilter, ResourceTagsSearchCriteria, RoutingCriteria, + RoutingCriteriaInput, + RoutingCriteriaInputStep, + RoutingCriteriaInputStepExpiry, RoutingProfileSearchCriteria, RoutingProfileSearchFilter, SearchableContactAttributes, @@ -5914,6 +5919,7 @@ export const se_UpdateContactRoutingDataCommand = async ( take(input, { QueuePriority: [], QueueTimeAdjustmentSeconds: [], + RoutingCriteria: (_) => se_RoutingCriteriaInput(_, context), }) ); b.m("POST").h(headers).b(body); @@ -12551,8 +12557,12 @@ const de_UserNotFoundExceptionRes = async ( // se_AgentHierarchyGroups omitted. +// se_AgentIds omitted. + // se_AgentResourceIdList omitted. +// se_AgentsCriteria omitted. + // se_AgentsMinOneMaxHundred omitted. /** @@ -12597,6 +12607,19 @@ const se_AgentStatusSearchCriteria = (input: AgentStatusSearchCriteria, context: // se_AttributeAndCondition omitted. +/** + * serializeAws_restJson1AttributeCondition + */ +const se_AttributeCondition = (input: AttributeCondition, context: __SerdeContext): any => { + return take(input, { + ComparisonOperator: [], + MatchCriteria: _json, + Name: [], + ProficiencyLevel: __serializeFloat, + Value: [], + }); +}; + // se_AttributeOrConditionList omitted. // se_Attributes omitted. @@ -12849,6 +12872,28 @@ const se_EvaluationFormSection = (input: EvaluationFormSection, context: __Serde // se_EventBridgeActionDefinition omitted. +/** + * serializeAws_restJson1Expression + */ +const se_Expression = (input: Expression, context: __SerdeContext): any => { + return take(input, { + AndExpression: (_) => se_Expressions(_, context), + AttributeCondition: (_) => se_AttributeCondition(_, context), + OrExpression: (_) => se_Expressions(_, context), + }); +}; + +/** + * serializeAws_restJson1Expressions + */ +const se_Expressions = (input: Expression[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_Expression(entry, context); + }); +}; + /** * serializeAws_restJson1FieldValue */ @@ -12986,6 +13031,8 @@ const se_HoursOfOperationSearchCriteria = (input: HoursOfOperationSearchCriteria // se_ListCondition omitted. +// se_MatchCriteria omitted. + // se_MediaConcurrencies omitted. // se_MediaConcurrency omitted. @@ -13183,6 +13230,38 @@ const se_QuickConnectSearchCriteria = (input: QuickConnectSearchCriteria, contex // se_ResourceTypeList omitted. +/** + * serializeAws_restJson1RoutingCriteriaInput + */ +const se_RoutingCriteriaInput = (input: RoutingCriteriaInput, context: __SerdeContext): any => { + return take(input, { + Steps: (_) => se_RoutingCriteriaInputSteps(_, context), + }); +}; + +/** + * serializeAws_restJson1RoutingCriteriaInputStep + */ +const se_RoutingCriteriaInputStep = (input: RoutingCriteriaInputStep, context: __SerdeContext): any => { + return take(input, { + Expiry: _json, + Expression: (_) => se_Expression(_, context), + }); +}; + +// se_RoutingCriteriaInputStepExpiry omitted. + +/** + * serializeAws_restJson1RoutingCriteriaInputSteps + */ +const se_RoutingCriteriaInputSteps = (input: RoutingCriteriaInputStep[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_RoutingCriteriaInputStep(entry, context); + }); +}; + // se_RoutingExpressions omitted. // se_RoutingProfileQueueConfig omitted. diff --git a/codegen/sdk-codegen/aws-models/connect.json b/codegen/sdk-codegen/aws-models/connect.json index 782d3f8dddf1..4db9543f7219 100644 --- a/codegen/sdk-codegen/aws-models/connect.json +++ b/codegen/sdk-codegen/aws-models/connect.json @@ -789,12 +789,12 @@ "AgentIds": { "target": "com.amazonaws.connect#AgentIds", "traits": { - "smithy.api#documentation": "

    An object to specify a list of agents, by Agent ID.

    " + "smithy.api#documentation": "

    An object to specify a list of agents, by user ID.

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

    Can be used to define a list of preferred agents to target the contact within the queue.\n Note that agents must have the queue in their routing profile in order to be offered the\n contact.

    " + "smithy.api#documentation": "

    Can be used to define a list of preferred agents to target the contact to within the queue.\u2028\n Note that agents must have the queue in their routing profile in order to be offered the\u2028\n contact.

    " } }, "com.amazonaws.connect#AgentsMinOneMaxHundred": { @@ -7150,7 +7150,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

    \n

    Initiates an Amazon Connect instance with all the supported channels enabled. It does\n not attach any storage, such as Amazon Simple Storage Service (Amazon S3) or Amazon Kinesis. It\n also does not allow for any configurations on features, such as Contact Lens for Amazon Connect.

    \n

    Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. \nIf you exceed this limit, you will get an error message indicating there has been an excessive number of attempts at creating or deleting instances. \nYou must wait 30 days before you can restart creating and deleting instances in your account.

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

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

    \n

    Initiates an Amazon Connect instance with all the supported channels enabled. It does\n not attach any storage, such as Amazon Simple Storage Service (Amazon S3) or Amazon Kinesis. It\n also does not allow for any configurations on features, such as Contact Lens for Amazon Connect.

    \n

    For more information, see Create an Amazon Connect\n instance in the Amazon Connect Administrator Guide.

    \n

    Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. \nIf you exceed this limit, you will get an error message indicating there has been an excessive number of attempts at creating or deleting instances. \nYou must wait 30 days before you can restart creating and deleting instances in your account.

    ", "smithy.api#http": { "method": "PUT", "uri": "/instance", @@ -7556,7 +7556,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

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

    Creates a new predefined attribute for the specified Amazon Connect instance. Predefined\n attributes are attributes in an Amazon Connect instance that can be used to route\n contacts to an agent or pools of agents within a queue. For more information, see Create\n predefined attributes for routing contacts to agents.

    ", "smithy.api#http": { "method": "PUT", "uri": "/predefined-attributes/{InstanceId}", @@ -8190,7 +8190,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates a security profile.

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

    Creates a security profile.

    \n

    For information about security profiles, see Security Profiles in the\n Amazon Connect Administrator Guide. For a mapping of the API name and\n user interface name of the security profile permissions, see List of security profile\n permissions.

    ", "smithy.api#http": { "method": "PUT", "uri": "/security-profiles/{InstanceId}", @@ -10088,7 +10088,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

    \n

    Deletes the Amazon Connect instance.

    \n

    Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. \nIf you exceed this limit, you will get an error message indicating there has been an excessive number of attempts at creating or deleting instances. \nYou must wait 30 days before you can restart creating and deleting instances in your account.

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

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

    \n

    Deletes the Amazon Connect instance. For more information, see Delete your\n Amazon Connect instance in the Amazon Connect Administrator\n Guide.

    \n

    Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. \nIf you exceed this limit, you will get an error message indicating there has been an excessive number of attempts at creating or deleting instances. \nYou must wait 30 days before you can restart creating and deleting instances in your account.

    ", "smithy.api#http": { "method": "DELETE", "uri": "/instance/{InstanceId}", @@ -10316,7 +10316,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Deletes a queue.

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

    Deletes a queue. It isn't possible to delete a queue by using the Amazon Connect admin website.

    ", "smithy.api#http": { "method": "DELETE", "uri": "/queues/{InstanceId}/{QueueId}", @@ -12027,7 +12027,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Describes a predefined attribute for the specified Amazon Connect instance.

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

    Describes a predefined attribute for the specified Amazon Connect instance. Predefined\n attributes are attributes in an Amazon Connect instance that can be used to route\n contacts to an agent or pools of agents within a queue. For more information, see Create\n predefined attributes for routing contacts to agents.

    ", "smithy.api#http": { "method": "GET", "uri": "/predefined-attributes/{InstanceId}/{Name}", @@ -12460,7 +12460,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Gets basic information about the security profle.

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

    Gets basic information about the security profile.

    \n

    For information about security profiles, see Security Profiles in the\n Amazon Connect Administrator Guide. For a mapping of the API name and\n user interface name of the security profile permissions, see List of security profile\n permissions.

    ", "smithy.api#http": { "method": "GET", "uri": "/security-profiles/{InstanceId}/{SecurityProfileId}", @@ -21613,7 +21613,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Lists predefined attributes for the specified Amazon Connect instance.

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

    Lists predefined attributes for the specified Amazon Connect instance. Predefined\n attributes are attributes in an Amazon Connect instance that can be used to route\n contacts to an agent or pools of agents within a queue. For more information, see Create\n predefined attributes for routing contacts to agents.

    ", "smithy.api#http": { "method": "GET", "uri": "/predefined-attributes/{InstanceId}", @@ -22729,7 +22729,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Lists the permissions granted to a security profile.

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

    Lists the permissions granted to a security profile.

    \n

    For information about security profiles, see Security Profiles in the\n Amazon Connect Administrator Guide. For a mapping of the API name and\n user interface name of the security profile permissions, see List of security profile\n permissions.

    ", "smithy.api#http": { "method": "GET", "uri": "/security-profiles-permissions/{InstanceId}/{SecurityProfileId}", @@ -22839,7 +22839,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Provides summary information about the security profiles for the specified Amazon Connect instance.

    \n

    For more information about security profiles, see Security Profiles in the\n Amazon Connect Administrator Guide.

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

    Provides summary information about the security profiles for the specified Amazon Connect instance.

    \n

    For more information about security profiles, see Security Profiles in the\n Amazon Connect Administrator Guide. For a mapping of the API name and\n user interface name of the security profile permissions, see List of security profile\n permissions.

    ", "smithy.api#http": { "method": "GET", "uri": "/security-profiles-summary/{InstanceId}", @@ -23845,12 +23845,12 @@ "AgentsCriteria": { "target": "com.amazonaws.connect#AgentsCriteria", "traits": { - "smithy.api#documentation": "

    An object to define AgentIds.

    " + "smithy.api#documentation": "

    An object to define agentIds.

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

    An object to define AgentsCriteria.

    " + "smithy.api#documentation": "

    An object to define AgentsCriteria.

    " } }, "com.amazonaws.connect#MaxResult10": { @@ -28485,7 +28485,7 @@ "FailureCode": { "target": "com.amazonaws.connect#RealTimeContactAnalysisPostContactSummaryFailureCode", "traits": { - "smithy.api#documentation": "

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

    \n
      \n
    • \n

      \n QUOTA_EXCEEDED: The number of concurrent analytics jobs reached\n your service quota.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n INTERNAL_ERROR: Internal system error.

      \n
    • \n
    " + "smithy.api#documentation": "

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

    \n
      \n
    • \n

      \n QUOTA_EXCEEDED: The number of concurrent analytics jobs reached your service\n quota.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n INTERNAL_ERROR: Internal system error.

      \n
    • \n
    " } } }, @@ -29537,6 +29537,60 @@ "smithy.api#documentation": "

    Latest routing criteria on the contact.

    " } }, + "com.amazonaws.connect#RoutingCriteriaInput": { + "type": "structure", + "members": { + "Steps": { + "target": "com.amazonaws.connect#RoutingCriteriaInputSteps", + "traits": { + "smithy.api#documentation": "

    When Amazon Connect does not find an available agent meeting the requirements in a step for\u2028 \n a given step duration, the routing criteria will move on to the next step sequentially until a\u2028 \n join is completed with an agent. When all steps are exhausted, the contact will be offered to any agent \n in the queue.

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

    An object to define the RoutingCriteria.

    " + } + }, + "com.amazonaws.connect#RoutingCriteriaInputStep": { + "type": "structure", + "members": { + "Expiry": { + "target": "com.amazonaws.connect#RoutingCriteriaInputStepExpiry", + "traits": { + "smithy.api#documentation": "

    An object to specify the expiration of a routing step.

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

    A tagged union to specify expression for a routing step.

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

    Step defines the list of agents to be routed or route based on the agent requirements such as ProficiencyLevel, \n Name, or Value.

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

    The number of seconds that the contact will be routed only to agents matching this routing\u2028 step, if expiry \n was configured for this routing step.

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

    Specify whether this routing criteria step should apply for only a limited amount of time,\u2028 or if it should \n never expire.

    " + } + }, + "com.amazonaws.connect#RoutingCriteriaInputSteps": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#RoutingCriteriaInputStep" + } + }, "com.amazonaws.connect#RoutingCriteriaStepStatus": { "type": "enum", "members": { @@ -31073,7 +31127,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Predefined attributes that meet certain criteria.

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

    Searches predefined attributes that meet certain criteria. Predefined\n attributes are attributes in an Amazon Connect instance that can be used to route\n contacts to an agent or pools of agents within a queue. For more information, see Create\n predefined attributes for routing contacts to agents.

    ", "smithy.api#http": { "method": "POST", "uri": "/search-predefined-attributes", @@ -31694,7 +31748,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Searches security profiles in an Amazon Connect instance, with optional\n filtering.

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

    Searches security profiles in an Amazon Connect instance, with optional\n filtering.

    \n

    For information about security profiles, see Security Profiles in the\n Amazon Connect Administrator Guide. For a mapping of the API name and\n user interface name of the security profile permissions, see List of security profile\n permissions.

    ", "smithy.api#http": { "method": "POST", "uri": "/search-security-profiles", @@ -36832,6 +36886,12 @@ "traits": { "smithy.api#documentation": "

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

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

    Updates the routing criteria on the contact. These properties can be used to change how a\u2028\n contact is routed within the queue.

    " + } } }, "traits": { @@ -37571,7 +37631,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Updates a predefined attribute for the specified Amazon Connect instance.

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

    Updates a predefined attribute for the specified Amazon Connect instance. Predefined\n attributes are attributes in an Amazon Connect instance that can be used to route\n contacts to an agent or pools of agents within a queue. For more information, see Create\n predefined attributes for routing contacts to agents.

    ", "smithy.api#http": { "method": "POST", "uri": "/predefined-attributes/{InstanceId}/{Name}", @@ -38630,7 +38690,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Updates a security profile.

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

    Updates a security profile.

    \n

    For information about security profiles, see Security Profiles in the\n Amazon Connect Administrator Guide. For a mapping of the API name and\n user interface name of the security profile permissions, see List of security profile\n permissions.

    ", "smithy.api#http": { "method": "POST", "uri": "/security-profiles/{InstanceId}/{SecurityProfileId}",