diff --git a/clients/client-connect/README.md b/clients/client-connect/README.md index d1850f337559..c3a2a7d6c934 100644 --- a/clients/client-connect/README.md +++ b/clients/client-connect/README.md @@ -1300,6 +1300,14 @@ SearchQuickConnects [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-connect/classes/searchquickconnectscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-connect/interfaces/searchquickconnectscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-connect/interfaces/searchquickconnectscommandoutput.html) + +
+ +SearchResourceTags + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-connect/classes/searchresourcetagscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-connect/interfaces/searchresourcetagscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-connect/interfaces/searchresourcetagscommandoutput.html) +
diff --git a/clients/client-connect/src/Connect.ts b/clients/client-connect/src/Connect.ts index 67cf48383de8..c1fbfec1304a 100644 --- a/clients/client-connect/src/Connect.ts +++ b/clients/client-connect/src/Connect.ts @@ -638,6 +638,11 @@ import { SearchQuickConnectsCommandInput, SearchQuickConnectsCommandOutput, } from "./commands/SearchQuickConnectsCommand"; +import { + SearchResourceTagsCommand, + SearchResourceTagsCommandInput, + SearchResourceTagsCommandOutput, +} from "./commands/SearchResourceTagsCommand"; import { SearchRoutingProfilesCommand, SearchRoutingProfilesCommandInput, @@ -1046,6 +1051,7 @@ const commands = { SearchPromptsCommand, SearchQueuesCommand, SearchQuickConnectsCommand, + SearchResourceTagsCommand, SearchRoutingProfilesCommand, SearchSecurityProfilesCommand, SearchUsersCommand, @@ -3235,6 +3241,23 @@ export interface Connect { cb: (err: any, data?: SearchQuickConnectsCommandOutput) => void ): void; + /** + * @see {@link SearchResourceTagsCommand} + */ + searchResourceTags( + args: SearchResourceTagsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + searchResourceTags( + args: SearchResourceTagsCommandInput, + cb: (err: any, data?: SearchResourceTagsCommandOutput) => void + ): void; + searchResourceTags( + args: SearchResourceTagsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SearchResourceTagsCommandOutput) => void + ): void; + /** * @see {@link SearchRoutingProfilesCommand} */ diff --git a/clients/client-connect/src/ConnectClient.ts b/clients/client-connect/src/ConnectClient.ts index 8ec2c651770a..6bf19ffc4ac7 100644 --- a/clients/client-connect/src/ConnectClient.ts +++ b/clients/client-connect/src/ConnectClient.ts @@ -412,6 +412,7 @@ import { SearchQuickConnectsCommandInput, SearchQuickConnectsCommandOutput, } from "./commands/SearchQuickConnectsCommand"; +import { SearchResourceTagsCommandInput, SearchResourceTagsCommandOutput } from "./commands/SearchResourceTagsCommand"; import { SearchRoutingProfilesCommandInput, SearchRoutingProfilesCommandOutput, @@ -742,6 +743,7 @@ export type ServiceInputTypes = | SearchPromptsCommandInput | SearchQueuesCommandInput | SearchQuickConnectsCommandInput + | SearchResourceTagsCommandInput | SearchRoutingProfilesCommandInput | SearchSecurityProfilesCommandInput | SearchUsersCommandInput @@ -940,6 +942,7 @@ export type ServiceOutputTypes = | SearchPromptsCommandOutput | SearchQueuesCommandOutput | SearchQuickConnectsCommandOutput + | SearchResourceTagsCommandOutput | SearchRoutingProfilesCommandOutput | SearchSecurityProfilesCommandOutput | SearchUsersCommandOutput diff --git a/clients/client-connect/src/commands/ClaimPhoneNumberCommand.ts b/clients/client-connect/src/commands/ClaimPhoneNumberCommand.ts index 1618b7cb119c..9768deff9eb6 100644 --- a/clients/client-connect/src/commands/ClaimPhoneNumberCommand.ts +++ b/clients/client-connect/src/commands/ClaimPhoneNumberCommand.ts @@ -47,6 +47,19 @@ export interface ClaimPhoneNumberCommandOutput extends ClaimPhoneNumberResponse, * the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber * operation.

* + *

If you plan to claim and release numbers frequently during a 30 day period, + * contact us for a service quota exception. Otherwise, it is possible you will be blocked from + * claiming and releasing any more numbers until 30 days past the oldest number + * released has expired.

+ *

By default you can claim and release up to 200% of your maximum number of active + * phone numbers during any 30 day period. If you claim and release phone numbers using + * the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number + * service level quota, you will be blocked from claiming any more numbers until 30 + * days past the oldest number released has expired.

+ *

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 + * day period you release 99, claim 99, and then release 99, you will have exceeded the + * 200% limit. At that point you are blocked from claiming any more numbers until you + * open an Amazon Web Services support ticket.

* @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/DescribeContactEvaluationCommand.ts b/clients/client-connect/src/commands/DescribeContactEvaluationCommand.ts index ca933a5cf2aa..0c327f2a4f88 100644 --- a/clients/client-connect/src/commands/DescribeContactEvaluationCommand.ts +++ b/clients/client-connect/src/commands/DescribeContactEvaluationCommand.ts @@ -15,7 +15,7 @@ import { SerdeContext as __SerdeContext } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { DescribeContactEvaluationRequest } from "../models/models_0"; -import { DescribeContactEvaluationResponse } from "../models/models_1"; +import { DescribeContactEvaluationResponse } from "../models/models_2"; import { de_DescribeContactEvaluationCommand, se_DescribeContactEvaluationCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/ReleasePhoneNumberCommand.ts b/clients/client-connect/src/commands/ReleasePhoneNumberCommand.ts index a9834e8a5cd8..5470084f894a 100644 --- a/clients/client-connect/src/commands/ReleasePhoneNumberCommand.ts +++ b/clients/client-connect/src/commands/ReleasePhoneNumberCommand.ts @@ -45,6 +45,19 @@ export interface ReleasePhoneNumberCommandOutput extends __MetadataBearer {} * It cannot be searched for or claimed again until the period has ended. If you accidentally * release a phone number, contact Amazon Web Services Support.

* + *

If you plan to claim and release numbers frequently during a 30 day period, + * contact us for a service quota exception. Otherwise, it is possible you will be blocked from + * claiming and releasing any more numbers until 30 days past the oldest number + * released has expired.

+ *

By default you can claim and release up to 200% of your maximum number of active + * phone numbers during any 30 day period. If you claim and release phone numbers using + * the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number + * service level quota, you will be blocked from claiming any more numbers until 30 + * days past the oldest number released has expired.

+ *

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 + * day period you release 99, claim 99, and then release 99, you will have exceeded the + * 200% limit. At that point you are blocked from claiming any more numbers until you + * open an Amazon Web Services support ticket.

* @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/SearchResourceTagsCommand.ts b/clients/client-connect/src/commands/SearchResourceTagsCommand.ts new file mode 100644 index 000000000000..e9417975b701 --- /dev/null +++ b/clients/client-connect/src/commands/SearchResourceTagsCommand.ts @@ -0,0 +1,180 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { SearchResourceTagsRequest, SearchResourceTagsResponse } from "../models/models_1"; +import { de_SearchResourceTagsCommand, se_SearchResourceTagsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link SearchResourceTagsCommand}. + */ +export interface SearchResourceTagsCommandInput extends SearchResourceTagsRequest {} +/** + * @public + * + * The output of {@link SearchResourceTagsCommand}. + */ +export interface SearchResourceTagsCommandOutput extends SearchResourceTagsResponse, __MetadataBearer {} + +/** + * @public + *

Searches tags used in an Amazon Connect instance using optional search criteria.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, SearchResourceTagsCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, SearchResourceTagsCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // SearchResourceTagsRequest + * InstanceId: "STRING_VALUE", // required + * ResourceTypes: [ // ResourceTypeList + * "STRING_VALUE", + * ], + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * SearchCriteria: { // ResourceTagsSearchCriteria + * TagSearchCondition: { // TagSearchCondition + * tagKey: "STRING_VALUE", + * tagValue: "STRING_VALUE", + * tagKeyComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * tagValueComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * }, + * }, + * }; + * const command = new SearchResourceTagsCommand(input); + * const response = await client.send(command); + * // { // SearchResourceTagsResponse + * // Tags: [ // TagsList + * // { // TagSet + * // key: "STRING_VALUE", + * // value: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param SearchResourceTagsCommandInput - {@link SearchResourceTagsCommandInput} + * @returns {@link SearchResourceTagsCommandOutput} + * @see {@link SearchResourceTagsCommandInput} for command's `input` shape. + * @see {@link SearchResourceTagsCommandOutput} 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 MaximumResultReturnedException} (client fault) + *

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

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

The specified resource was not found.

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

The throttling limit has been exceeded.

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

Base exception class for all service exceptions from Connect service.

+ * + */ +export class SearchResourceTagsCommand extends $Command< + SearchResourceTagsCommandInput, + SearchResourceTagsCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: SearchResourceTagsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ConnectClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, SearchResourceTagsCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ConnectClient"; + const commandName = "SearchResourceTagsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: SearchResourceTagsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_SearchResourceTagsCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_SearchResourceTagsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-connect/src/commands/UpdateEvaluationFormCommand.ts b/clients/client-connect/src/commands/UpdateEvaluationFormCommand.ts index 5df403cc9a43..cebce6b32a5c 100644 --- a/clients/client-connect/src/commands/UpdateEvaluationFormCommand.ts +++ b/clients/client-connect/src/commands/UpdateEvaluationFormCommand.ts @@ -14,7 +14,8 @@ import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@s import { SerdeContext as __SerdeContext } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; -import { UpdateEvaluationFormRequest, UpdateEvaluationFormResponse } from "../models/models_1"; +import { UpdateEvaluationFormResponse } from "../models/models_1"; +import { UpdateEvaluationFormRequest } from "../models/models_2"; import { de_UpdateEvaluationFormCommand, se_UpdateEvaluationFormCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/index.ts b/clients/client-connect/src/commands/index.ts index 777fce826cd7..30fac58fe930 100644 --- a/clients/client-connect/src/commands/index.ts +++ b/clients/client-connect/src/commands/index.ts @@ -135,6 +135,7 @@ export * from "./SearchHoursOfOperationsCommand"; export * from "./SearchPromptsCommand"; export * from "./SearchQueuesCommand"; export * from "./SearchQuickConnectsCommand"; +export * from "./SearchResourceTagsCommand"; export * from "./SearchRoutingProfilesCommand"; export * from "./SearchSecurityProfilesCommand"; export * from "./SearchUsersCommand"; diff --git a/clients/client-connect/src/models/models_1.ts b/clients/client-connect/src/models/models_1.ts index a567fb9714ac..f3ab1a152c25 100644 --- a/clients/client-connect/src/models/models_1.ts +++ b/clients/client-connect/src/models/models_1.ts @@ -17,7 +17,6 @@ import { ContactState, CurrentMetric, DirectoryType, - Evaluation, EvaluationAnswerData, EvaluationFormQuestion, EvaluationFormScoringStrategy, @@ -4435,6 +4434,130 @@ export interface SearchQuickConnectsResponse { ApproximateTotalCount?: number; } +/** + * @public + *

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

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

The search criteria to be used to return tags.

+ */ +export interface TagSearchCondition { + /** + *

The tag key used in the tag search condition.

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

The tag value used in the tag search condition.

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

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

+ */ + tagKeyComparisonType?: StringComparisonType | string; + + /** + *

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

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

The search criteria to be used to search tags.

+ */ +export interface ResourceTagsSearchCriteria { + /** + *

The search criteria to be used to return tags.

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

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

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

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

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

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

The maximum number of results to return per page.

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

The search criteria to be used to return tags.

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

A tag set contains tag key and tag value.

+ */ +export interface TagSet { + /** + *

The tag key in the tagSet.

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

The tag value in the tagSet.

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

A list of tags used in the Amazon Connect instance.

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

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

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

Filters to be applied to search results.

@@ -7325,192 +7448,6 @@ export interface QueueSearchCriteria { QueueTypeCondition?: SearchableQueueType | string; } -/** - * @public - *

The search criteria to be used to return quick connects.

- */ -export interface QuickConnectSearchCriteria { - /** - *

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

- */ - OrConditions?: QuickConnectSearchCriteria[]; - - /** - *

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

- */ - AndConditions?: QuickConnectSearchCriteria[]; - - /** - *

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

- * - *

The currently supported values for FieldName are name, - * description, and resourceID.

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

The search criteria to be used to return routing profiles.

- * - *

The name and description fields support "contains" queries with - * a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths - * outside of this range will throw invalid results.

- *
- */ -export interface RoutingProfileSearchCriteria { - /** - *

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

- */ - OrConditions?: RoutingProfileSearchCriteria[]; - - /** - *

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

- */ - AndConditions?: RoutingProfileSearchCriteria[]; - - /** - *

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

- * - *

The currently supported values for FieldName are name, - * description, and resourceID.

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

The search criteria to be used to return security profiles.

- * - *

The name field support "contains" queries with a minimum of 2 characters and - * maximum of 25 characters. Any queries with character lengths outside of this range will throw - * invalid results.

- *
- */ -export interface SecurityProfileSearchCriteria { - /** - *

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

- */ - OrConditions?: SecurityProfileSearchCriteria[]; - - /** - *

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

- */ - AndConditions?: SecurityProfileSearchCriteria[]; - - /** - *

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

- */ - StringCondition?: StringCondition; -} - -/** - * @public - */ -export interface UpdateEvaluationFormRequest { - /** - *

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

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

The unique identifier for the evaluation form.

- */ - EvaluationFormId: string | undefined; - - /** - *

A version of the evaluation form to update.

- */ - EvaluationFormVersion: number | undefined; - - /** - *

A flag indicating whether the operation must create a new version.

- */ - CreateNewVersion?: boolean; - - /** - *

A title of the evaluation form.

- */ - Title: string | undefined; - - /** - *

The description of the evaluation form.

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

Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.

- */ - Items: EvaluationFormItem[] | undefined; - - /** - *

A scoring strategy of the evaluation form.

- */ - ScoringStrategy?: EvaluationFormScoringStrategy; - - /** - *

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.

- */ - ClientToken?: string; -} - -/** - * @public - *

The search criteria to be used to return users.

- * - *

The name and description fields support "contains" queries with - * a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths - * outside of this range will throw invalid results.

- *
- */ -export interface UserSearchCriteria { - /** - *

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

- */ - OrConditions?: UserSearchCriteria[]; - - /** - *

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

- */ - AndConditions?: UserSearchCriteria[]; - - /** - *

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

- * - *

The currently supported values for FieldName are name, - * description, and resourceID.

- *
- */ - StringCondition?: StringCondition; - - /** - *

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

- */ - HierarchyGroupCondition?: HierarchyGroupCondition; -} - -/** - * @public - */ -export interface DescribeContactEvaluationResponse { - /** - *

Information about the evaluation form completed for a specific contact.

- */ - Evaluation: Evaluation | undefined; - - /** - *

Information about the evaluation form.

- */ - EvaluationForm: EvaluationFormContent | undefined; -} - /** * @internal */ diff --git a/clients/client-connect/src/models/models_2.ts b/clients/client-connect/src/models/models_2.ts index 2397ada188ee..3cbaed47d140 100644 --- a/clients/client-connect/src/models/models_2.ts +++ b/clients/client-connect/src/models/models_2.ts @@ -1,22 +1,209 @@ // smithy-typescript generated code +import { Evaluation, EvaluationFormScoringStrategy } from "./models_0"; import { EvaluationForm, + EvaluationFormContent, + EvaluationFormItem, + HierarchyGroupCondition, HoursOfOperationSearchCriteria, HoursOfOperationSearchFilter, PromptSearchCriteria, PromptSearchFilter, QueueSearchCriteria, QueueSearchFilter, - QuickConnectSearchCriteria, QuickConnectSearchFilter, - RoutingProfileSearchCriteria, RoutingProfileSearchFilter, - SecurityProfileSearchCriteria, SecurityProfilesSearchFilter, - UserSearchCriteria, + StringCondition, UserSearchFilter, } from "./models_1"; +/** + * @public + *

The search criteria to be used to return quick connects.

+ */ +export interface QuickConnectSearchCriteria { + /** + *

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

+ */ + OrConditions?: QuickConnectSearchCriteria[]; + + /** + *

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

+ */ + AndConditions?: QuickConnectSearchCriteria[]; + + /** + *

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

+ * + *

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

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

The search criteria to be used to return routing profiles.

+ * + *

The name and description fields support "contains" queries with + * a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths + * outside of this range will throw invalid results.

+ *
+ */ +export interface RoutingProfileSearchCriteria { + /** + *

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

+ */ + OrConditions?: RoutingProfileSearchCriteria[]; + + /** + *

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

+ */ + AndConditions?: RoutingProfileSearchCriteria[]; + + /** + *

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

+ * + *

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

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

The search criteria to be used to return security profiles.

+ * + *

The name field support "contains" queries with a minimum of 2 characters and + * maximum of 25 characters. Any queries with character lengths outside of this range will throw + * invalid results.

+ *
+ */ +export interface SecurityProfileSearchCriteria { + /** + *

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

+ */ + OrConditions?: SecurityProfileSearchCriteria[]; + + /** + *

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

+ */ + AndConditions?: SecurityProfileSearchCriteria[]; + + /** + *

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

+ */ + StringCondition?: StringCondition; +} + +/** + * @public + */ +export interface UpdateEvaluationFormRequest { + /** + *

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

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

The unique identifier for the evaluation form.

+ */ + EvaluationFormId: string | undefined; + + /** + *

A version of the evaluation form to update.

+ */ + EvaluationFormVersion: number | undefined; + + /** + *

A flag indicating whether the operation must create a new version.

+ */ + CreateNewVersion?: boolean; + + /** + *

A title of the evaluation form.

+ */ + Title: string | undefined; + + /** + *

The description of the evaluation form.

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

Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.

+ */ + Items: EvaluationFormItem[] | undefined; + + /** + *

A scoring strategy of the evaluation form.

+ */ + ScoringStrategy?: EvaluationFormScoringStrategy; + + /** + *

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.

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

The search criteria to be used to return users.

+ * + *

The name and description fields support "contains" queries with + * a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths + * outside of this range will throw invalid results.

+ *
+ */ +export interface UserSearchCriteria { + /** + *

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

+ */ + OrConditions?: UserSearchCriteria[]; + + /** + *

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

+ */ + AndConditions?: UserSearchCriteria[]; + + /** + *

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

+ * + *

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

+ *
+ */ + StringCondition?: StringCondition; + + /** + *

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

+ */ + HierarchyGroupCondition?: HierarchyGroupCondition; +} + +/** + * @public + */ +export interface DescribeContactEvaluationResponse { + /** + *

Information about the evaluation form completed for a specific contact.

+ */ + Evaluation: Evaluation | undefined; + + /** + *

Information about the evaluation form.

+ */ + EvaluationForm: EvaluationFormContent | undefined; +} + /** * @public */ diff --git a/clients/client-connect/src/pagination/SearchResourceTagsPaginator.ts b/clients/client-connect/src/pagination/SearchResourceTagsPaginator.ts new file mode 100644 index 000000000000..f83d207a7788 --- /dev/null +++ b/clients/client-connect/src/pagination/SearchResourceTagsPaginator.ts @@ -0,0 +1,50 @@ +// smithy-typescript generated code +import { Paginator } from "@aws-sdk/types"; + +import { + SearchResourceTagsCommand, + SearchResourceTagsCommandInput, + SearchResourceTagsCommandOutput, +} from "../commands/SearchResourceTagsCommand"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: ConnectClient, + input: SearchResourceTagsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new SearchResourceTagsCommand(input), ...args); +}; +/** + * @public + */ +export async function* paginateSearchResourceTags( + config: ConnectPaginationConfiguration, + input: SearchResourceTagsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: SearchResourceTagsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof ConnectClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Connect | ConnectClient"); + } + yield page; + const prevToken = token; + token = page.NextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-connect/src/pagination/index.ts b/clients/client-connect/src/pagination/index.ts index 38ebd2eb7659..46ca7a7a983b 100644 --- a/clients/client-connect/src/pagination/index.ts +++ b/clients/client-connect/src/pagination/index.ts @@ -46,6 +46,7 @@ export * from "./SearchHoursOfOperationsPaginator"; export * from "./SearchPromptsPaginator"; export * from "./SearchQueuesPaginator"; export * from "./SearchQuickConnectsPaginator"; +export * from "./SearchResourceTagsPaginator"; export * from "./SearchRoutingProfilesPaginator"; export * from "./SearchSecurityProfilesPaginator"; export * from "./SearchUsersPaginator"; diff --git a/clients/client-connect/src/protocols/Aws_restJson1.ts b/clients/client-connect/src/protocols/Aws_restJson1.ts index 833eb3b60f66..8aa85ab14ab7 100644 --- a/clients/client-connect/src/protocols/Aws_restJson1.ts +++ b/clients/client-connect/src/protocols/Aws_restJson1.ts @@ -386,6 +386,7 @@ import { SearchQuickConnectsCommandInput, SearchQuickConnectsCommandOutput, } from "../commands/SearchQuickConnectsCommand"; +import { SearchResourceTagsCommandInput, SearchResourceTagsCommandOutput } from "../commands/SearchResourceTagsCommand"; import { SearchRoutingProfilesCommandInput, SearchRoutingProfilesCommandOutput, @@ -690,6 +691,7 @@ import { HoursOfOperationSearchCriteria, HoursOfOperationSearchFilter, InstanceSummary, + MaximumResultReturnedException, MetricDataV2, MetricFilterV2, MetricResultV2, @@ -703,16 +705,15 @@ import { PromptSearchFilter, QueueSearchCriteria, QueueSearchFilter, - QuickConnectSearchCriteria, QuickConnectSearchFilter, - RoutingProfileSearchCriteria, + ResourceTagsSearchCriteria, RoutingProfileSearchFilter, RuleSummary, SecurityKey, - SecurityProfileSearchCriteria, SecurityProfilesSearchFilter, StringCondition, TagCondition, + TagSearchCondition, TaskTemplateMetadata, TelephonyConfig, Threshold, @@ -721,11 +722,16 @@ import { UserData, UserDataFilters, UserNotFoundException, - UserSearchCriteria, UserSearchFilter, VocabularySummary, VoiceRecordingConfiguration, } from "../models/models_1"; +import { + QuickConnectSearchCriteria, + RoutingProfileSearchCriteria, + SecurityProfileSearchCriteria, + UserSearchCriteria, +} from "../models/models_2"; /** * serializeAws_restJson1ActivateEvaluationFormCommand @@ -5126,6 +5132,39 @@ export const se_SearchQuickConnectsCommand = async ( }); }; +/** + * serializeAws_restJson1SearchResourceTagsCommand + */ +export const se_SearchResourceTagsCommand = async ( + input: SearchResourceTagsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/search-resource-tags"; + let body: any; + body = JSON.stringify( + take(input, { + InstanceId: [], + MaxResults: [], + NextToken: [], + ResourceTypes: (_) => _json(_), + SearchCriteria: (_) => _json(_), + }) + ); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + /** * serializeAws_restJson1SearchRoutingProfilesCommand */ @@ -15296,6 +15335,69 @@ const de_SearchQuickConnectsCommandError = async ( } }; +/** + * deserializeAws_restJson1SearchResourceTagsCommand + */ +export const de_SearchResourceTagsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_SearchResourceTagsCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + NextToken: __expectString, + Tags: _json, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1SearchResourceTagsCommandError + */ +const de_SearchResourceTagsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceException": + case "com.amazonaws.connect#InternalServiceException": + throw await de_InternalServiceExceptionRes(parsedOutput, context); + case "InvalidParameterException": + case "com.amazonaws.connect#InvalidParameterException": + throw await de_InvalidParameterExceptionRes(parsedOutput, context); + case "InvalidRequestException": + case "com.amazonaws.connect#InvalidRequestException": + throw await de_InvalidRequestExceptionRes(parsedOutput, context); + case "MaximumResultReturnedException": + case "com.amazonaws.connect#MaximumResultReturnedException": + throw await de_MaximumResultReturnedExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.connect#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.connect#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1SearchRoutingProfilesCommand */ @@ -18822,6 +18924,26 @@ const de_LimitExceededExceptionRes = async ( return __decorateServiceException(exception, parsedOutput.body); }; +/** + * deserializeAws_restJson1MaximumResultReturnedExceptionRes + */ +const de_MaximumResultReturnedExceptionRes = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const contents: any = map({}); + const data: any = parsedOutput.body; + const doc = take(data, { + Message: __expectString, + }); + Object.assign(contents, doc); + const exception = new MaximumResultReturnedException({ + $metadata: deserializeMetadata(parsedOutput), + ...contents, + }); + return __decorateServiceException(exception, parsedOutput.body); +}; + /** * deserializeAws_restJson1OutboundContactNotPermittedExceptionRes */ @@ -19399,6 +19521,10 @@ const se_QuickConnectSearchCriteria = (input: QuickConnectSearchCriteria, contex // se_RequiredTaskTemplateFields omitted. +// se_ResourceTagsSearchCriteria omitted. + +// se_ResourceTypeList omitted. + // se_RoutingProfileQueueConfig omitted. // se_RoutingProfileQueueConfigList omitted. @@ -19490,6 +19616,8 @@ const se_SecurityProfileSearchCriteria = (input: SecurityProfileSearchCriteria, // se_TagRestrictedResourceList omitted. +// se_TagSearchCondition omitted. + // se_TaskActionDefinition omitted. // se_TaskTemplateConstraints omitted. @@ -20521,6 +20649,10 @@ const de_SecurityKeysList = (output: any, context: __SerdeContext): SecurityKey[ // de_TagRestrictedResourceList omitted. +// de_TagSet omitted. + +// de_TagsList omitted. + // de_TaskActionDefinition omitted. // de_TaskTemplateConstraints omitted. diff --git a/codegen/sdk-codegen/aws-models/connect.json b/codegen/sdk-codegen/aws-models/connect.json index f9addc24554f..286162600f58 100644 --- a/codegen/sdk-codegen/aws-models/connect.json +++ b/codegen/sdk-codegen/aws-models/connect.json @@ -973,6 +973,9 @@ { "target": "com.amazonaws.connect#SearchQuickConnects" }, + { + "target": "com.amazonaws.connect#SearchResourceTags" + }, { "target": "com.amazonaws.connect#SearchRoutingProfiles" }, @@ -3055,7 +3058,7 @@ } ], "traits": { - "smithy.api#documentation": "

Claims an available phone number to your Amazon Connect instance or traffic distribution\n group. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group was created.

\n

For more information about how to use this operation, see Claim a phone number in your\n country and Claim phone\n numbers to traffic distribution groups in the Amazon Connect Administrator\n Guide.

\n \n

You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call\n the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber\n operation.

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

Claims an available phone number to your Amazon Connect instance or traffic distribution\n group. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group was created.

\n

For more information about how to use this operation, see Claim a phone number in your\n country and Claim phone\n numbers to traffic distribution groups in the Amazon Connect Administrator\n Guide.

\n \n

You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call\n the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber\n operation.

\n
\n

If you plan to claim and release numbers frequently during a 30 day period,\n contact us for a service quota exception. Otherwise, it is possible you will be blocked from\n claiming and releasing any more numbers until 30 days past the oldest number\n released has expired.

\n

By default you can claim and release up to 200% of your maximum number of active\n phone numbers during any 30 day period. If you claim and release phone numbers using\n the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number\n service level quota, you will be blocked from claiming any more numbers until 30\n days past the oldest number released has expired.

\n

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30\n day period you release 99, claim 99, and then release 99, you will have exceeded the\n 200% limit. At that point you are blocked from claiming any more numbers until you\n open an Amazon Web Services support ticket.

", "smithy.api#http": { "method": "POST", "uri": "/phone-number/claim", @@ -17550,6 +17553,19 @@ } } }, + "com.amazonaws.connect#MaximumResultReturnedException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.connect#Message" + } + }, + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.connect#MediaConcurrencies": { "type": "list", "member": { @@ -21116,7 +21132,7 @@ } ], "traits": { - "smithy.api#documentation": "

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You\n can call this API only in the Amazon Web Services Region where the number was claimed.

\n \n

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the\n Amazon Connect console.

\n

After releasing a phone number, the phone number enters into a cooldown period of 30 days.\n It cannot be searched for or claimed again until the period has ended. If you accidentally\n release a phone number, contact Amazon Web Services Support.

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

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You\n can call this API only in the Amazon Web Services Region where the number was claimed.

\n \n

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the\n Amazon Connect console.

\n

After releasing a phone number, the phone number enters into a cooldown period of 30 days.\n It cannot be searched for or claimed again until the period has ended. If you accidentally\n release a phone number, contact Amazon Web Services Support.

\n
\n

If you plan to claim and release numbers frequently during a 30 day period,\n contact us for a service quota exception. Otherwise, it is possible you will be blocked from\n claiming and releasing any more numbers until 30 days past the oldest number\n released has expired.

\n

By default you can claim and release up to 200% of your maximum number of active\n phone numbers during any 30 day period. If you claim and release phone numbers using\n the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number\n service level quota, you will be blocked from claiming any more numbers until 30\n days past the oldest number released has expired.

\n

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30\n day period you release 99, claim 99, and then release 99, you will have exceeded the\n 200% limit. At that point you are blocked from claiming any more numbers until you\n open an Amazon Web Services support ticket.

", "smithy.api#http": { "method": "DELETE", "uri": "/phone-number/{PhoneNumberId}", @@ -21353,6 +21369,20 @@ "smithy.api#httpError": 409 } }, + "com.amazonaws.connect#ResourceTagsSearchCriteria": { + "type": "structure", + "members": { + "TagSearchCondition": { + "target": "com.amazonaws.connect#TagSearchCondition", + "traits": { + "smithy.api#documentation": "

The search criteria to be used to return tags.

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

The search criteria to be used to search tags.

" + } + }, "com.amazonaws.connect#ResourceType": { "type": "enum", "members": { @@ -21400,6 +21430,12 @@ } } }, + "com.amazonaws.connect#ResourceTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#String" + } + }, "com.amazonaws.connect#ResumeContactRecording": { "type": "operation", "input": { @@ -22621,6 +22657,109 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#SearchResourceTags": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#SearchResourceTagsRequest" + }, + "output": { + "target": "com.amazonaws.connect#SearchResourceTagsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#MaximumResultReturnedException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Searches tags used in an Amazon Connect instance using optional search criteria.

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

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

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

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

" + } + }, + "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 the \n next request to retrieve the next set of results.

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

The maximum number of results to return per page.

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

The search criteria to be used to return tags.

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

A list of tags used in the Amazon Connect instance.

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

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#SearchRoutingProfiles": { "type": "operation", "input": { @@ -24693,6 +24832,15 @@ } } }, + "com.amazonaws.connect#TagKeyString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + } + } + }, "com.amazonaws.connect#TagMap": { "type": "map", "key": { @@ -24792,6 +24940,58 @@ } } }, + "com.amazonaws.connect#TagSearchCondition": { + "type": "structure", + "members": { + "tagKey": { + "target": "com.amazonaws.connect#TagKeyString", + "traits": { + "smithy.api#documentation": "

The tag key used in the tag search condition.

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

The tag value used in the tag search condition.

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

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

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

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

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

The search criteria to be used to return tags.

" + } + }, + "com.amazonaws.connect#TagSet": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.connect#TagKey", + "traits": { + "smithy.api#documentation": "

The tag key in the tagSet.

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

The tag value in the tagSet.

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

A tag set contains tag key and tag value.

" + } + }, "com.amazonaws.connect#TagValue": { "type": "string", "traits": { @@ -24801,6 +25001,21 @@ } } }, + "com.amazonaws.connect#TagValueString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.connect#TagsList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#TagSet" + } + }, "com.amazonaws.connect#TaskActionDefinition": { "type": "structure", "members": {