diff --git a/CHANGELOG.md b/CHANGELOG.md index 6db3007182..fc6ac80ddf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +Release v1.49.8 (2023-12-21) +=== + +### Service Client Updates +* `service/amp`: Updates service API and documentation +* `service/appintegrations`: Updates service API, documentation, paginators, and examples +* `service/bedrock-agent`: Updates service API and documentation +* `service/codecommit`: Updates service API and documentation + * AWS CodeCommit now supports customer managed keys from AWS Key Management Service. UpdateRepositoryEncryptionKey is added for updating the key configuration. CreateRepository, GetRepository, BatchGetRepositories are updated with new input or output parameters. +* `service/connect`: Updates service API, documentation, and paginators +* `service/medialive`: Updates service API and documentation + * MediaLive now supports the ability to configure the audio that an AWS Elemental Link UHD device produces, when the device is configured as the source for a flow in AWS Elemental MediaConnect. +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * This release adds support for using RDS Data API with Aurora PostgreSQL Serverless v2 and provisioned DB clusters. +* `service/rds-data`: Updates service API and documentation +* `service/sagemaker`: Updates service API and documentation + * Amazon SageMaker Training now provides model training container access for debugging purposes. Amazon SageMaker Search now provides the ability to use visibility conditions to limit resource access to a single domain or multiple domains. + Release v1.49.7 (2023-12-20) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index fc015bdca4..cd565b4d3b 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -20329,6 +20329,9 @@ var awsPartition = partition{ endpointKey{ Region: "ca-central-1", }: endpoint{}, + endpointKey{ + Region: "ca-west-1", + }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, @@ -25397,6 +25400,9 @@ var awsPartition = partition{ endpointKey{ Region: "ca-central-1", }: endpoint{}, + endpointKey{ + Region: "ca-west-1", + }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 5edfe433c3..7cb4128775 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.49.7" +const SDKVersion = "1.49.8" diff --git a/models/apis/amp/2020-08-01/api-2.json b/models/apis/amp/2020-08-01/api-2.json index e5fccbc62d..df11549dd3 100644 --- a/models/apis/amp/2020-08-01/api-2.json +++ b/models/apis/amp/2020-08-01/api-2.json @@ -683,7 +683,8 @@ "shape":"IdempotencyToken", "idempotencyToken":true }, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "kmsKeyArn":{"shape":"KmsKeyArn"} } }, "CreateWorkspaceResponse":{ @@ -697,7 +698,8 @@ "workspaceId":{"shape":"WorkspaceId"}, "arn":{"shape":"WorkspaceArn"}, "status":{"shape":"WorkspaceStatus"}, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "kmsKeyArn":{"shape":"KmsKeyArn"} } }, "DeleteAlertManagerDefinitionRequest":{ @@ -976,6 +978,12 @@ "fault":true, "retryable":{"throttling":false} }, + "KmsKeyArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws:kms:[a-z0-9\\-]+:\\d+:key/[a-f0-9\\-]+" + }, "ListRuleGroupsNamespacesRequest":{ "type":"structure", "required":["workspaceId"], @@ -1658,7 +1666,8 @@ "status":{"shape":"WorkspaceStatus"}, "prometheusEndpoint":{"shape":"Uri"}, "createdAt":{"shape":"Timestamp"}, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "kmsKeyArn":{"shape":"KmsKeyArn"} } }, "WorkspaceId":{ @@ -1698,7 +1707,8 @@ "arn":{"shape":"WorkspaceArn"}, "status":{"shape":"WorkspaceStatus"}, "createdAt":{"shape":"Timestamp"}, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "kmsKeyArn":{"shape":"KmsKeyArn"} } }, "WorkspaceSummaryList":{ diff --git a/models/apis/amp/2020-08-01/docs-2.json b/models/apis/amp/2020-08-01/docs-2.json index 46e6a96fec..636b666443 100644 --- a/models/apis/amp/2020-08-01/docs-2.json +++ b/models/apis/amp/2020-08-01/docs-2.json @@ -297,6 +297,15 @@ "refs": { } }, + "KmsKeyArn": { + "base": "

A KMS Key ARN.

", + "refs": { + "CreateWorkspaceRequest$kmsKeyArn": "

Optional, customer managed KMS key used to encrypt data for this workspace

", + "CreateWorkspaceResponse$kmsKeyArn": "

Customer managed KMS key ARN for this workspace

", + "WorkspaceDescription$kmsKeyArn": "

The customer managed KMS key of this workspace.

", + "WorkspaceSummary$kmsKeyArn": "

Customer managed KMS key ARN for this workspace

" + } + }, "ListRuleGroupsNamespacesRequest": { "base": "

Represents the input of a ListRuleGroupsNamespaces operation.

", "refs": { diff --git a/models/apis/appintegrations/2020-07-29/api-2.json b/models/apis/appintegrations/2020-07-29/api-2.json index 527ac2fc18..2541781877 100644 --- a/models/apis/appintegrations/2020-07-29/api-2.json +++ b/models/apis/appintegrations/2020-07-29/api-2.json @@ -26,7 +26,8 @@ {"shape":"DuplicateResourceException"}, {"shape":"ThrottlingException"}, {"shape":"InvalidRequestException"}, - {"shape":"AccessDeniedException"} + {"shape":"AccessDeniedException"}, + {"shape":"UnsupportedOperationException"} ] }, "CreateDataIntegration":{ @@ -63,6 +64,22 @@ {"shape":"AccessDeniedException"} ] }, + "DeleteApplication":{ + "name":"DeleteApplication", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{ApplicationIdentifier}" + }, + "input":{"shape":"DeleteApplicationRequest"}, + "output":{"shape":"DeleteApplicationResponse"}, + "errors":[ + {"shape":"InternalServiceError"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"} + ] + }, "DeleteDataIntegration":{ "name":"DeleteDataIntegration", "http":{ @@ -99,7 +116,7 @@ "name":"GetApplication", "http":{ "method":"GET", - "requestUri":"/applications/{Arn}" + "requestUri":"/applications/{ApplicationIdentifier}" }, "input":{"shape":"GetApplicationRequest"}, "output":{"shape":"GetApplicationResponse"}, @@ -143,6 +160,22 @@ {"shape":"AccessDeniedException"} ] }, + "ListApplicationAssociations":{ + "name":"ListApplicationAssociations", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationIdentifier}/associations" + }, + "input":{"shape":"ListApplicationAssociationsRequest"}, + "output":{"shape":"ListApplicationAssociationsResponse"}, + "errors":[ + {"shape":"InternalServiceError"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"} + ] + }, "ListApplications":{ "name":"ListApplications", "http":{ @@ -269,7 +302,7 @@ "name":"UpdateApplication", "http":{ "method":"PATCH", - "requestUri":"/applications/{Arn}" + "requestUri":"/applications/{ApplicationIdentifier}" }, "input":{"shape":"UpdateApplicationRequest"}, "output":{"shape":"UpdateApplicationResponse"}, @@ -278,7 +311,8 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidRequestException"}, - {"shape":"AccessDeniedException"} + {"shape":"AccessDeniedException"}, + {"shape":"UnsupportedOperationException"} ] }, "UpdateDataIntegration":{ @@ -329,6 +363,20 @@ "max":50, "min":1 }, + "ApplicationAssociationSummary":{ + "type":"structure", + "members":{ + "ApplicationAssociationArn":{"shape":"Arn"}, + "ApplicationArn":{"shape":"Arn"}, + "ClientId":{"shape":"ClientId"} + } + }, + "ApplicationAssociationsList":{ + "type":"list", + "member":{"shape":"ApplicationAssociationSummary"}, + "max":50, + "min":1 + }, "ApplicationName":{ "type":"string", "max":255, @@ -405,13 +453,22 @@ "Namespace":{"shape":"ApplicationNamespace"}, "Description":{"shape":"Description"}, "ApplicationSourceConfig":{"shape":"ApplicationSourceConfig"}, - "Subscriptions":{"shape":"SubscriptionList"}, - "Publications":{"shape":"PublicationList"}, + "Subscriptions":{ + "shape":"SubscriptionList", + "deprecated":true, + "deprecatedMessage":"Subscriptions has been replaced with Permissions" + }, + "Publications":{ + "shape":"PublicationList", + "deprecated":true, + "deprecatedMessage":"Publications has been replaced with Permissions" + }, "ClientToken":{ "shape":"IdempotencyToken", "idempotencyToken":true }, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "Permissions":{"shape":"PermissionList"} } }, "CreateApplicationResponse":{ @@ -512,6 +569,22 @@ "max":50, "min":1 }, + "DeleteApplicationRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"ArnOrUUID", + "location":"uri", + "locationName":"ApplicationIdentifier" + } + } + }, + "DeleteApplicationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteDataIntegrationRequest":{ "type":"structure", "required":["DataIntegrationIdentifier"], @@ -547,7 +620,7 @@ "Description":{ "type":"string", "max":1000, - "min":1, + "min":0, "pattern":".*" }, "DuplicateResourceException":{ @@ -669,7 +742,7 @@ "Arn":{ "shape":"ArnOrUUID", "location":"uri", - "locationName":"Arn" + "locationName":"ApplicationIdentifier" } } }, @@ -682,11 +755,20 @@ "Namespace":{"shape":"ApplicationNamespace"}, "Description":{"shape":"Description"}, "ApplicationSourceConfig":{"shape":"ApplicationSourceConfig"}, - "Subscriptions":{"shape":"SubscriptionList"}, - "Publications":{"shape":"PublicationList"}, + "Subscriptions":{ + "shape":"SubscriptionList", + "deprecated":true, + "deprecatedMessage":"Subscriptions has been replaced with Permissions" + }, + "Publications":{ + "shape":"PublicationList", + "deprecated":true, + "deprecatedMessage":"Publications has been replaced with Permissions" + }, "CreatedTime":{"shape":"Timestamp"}, "LastModifiedTime":{"shape":"Timestamp"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "Permissions":{"shape":"PermissionList"} } }, "GetDataIntegrationRequest":{ @@ -766,6 +848,34 @@ "error":{"httpStatusCode":400}, "exception":true }, + "ListApplicationAssociationsRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"ArnOrUUID", + "location":"uri", + "locationName":"ApplicationIdentifier" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListApplicationAssociationsResponse":{ + "type":"structure", + "members":{ + "ApplicationAssociations":{"shape":"ApplicationAssociationsList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListApplicationsRequest":{ "type":"structure", "members":{ @@ -946,6 +1056,18 @@ "key":{"shape":"NonBlankString"}, "value":{"shape":"FieldsMap"} }, + "Permission":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9\\/\\._\\-\\*]+$" + }, + "PermissionList":{ + "type":"list", + "member":{"shape":"Permission"}, + "max":150, + "min":0 + }, "Publication":{ "type":"structure", "required":[ @@ -1077,6 +1199,14 @@ "type":"string", "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" }, + "UnsupportedOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -1108,13 +1238,22 @@ "Arn":{ "shape":"ArnOrUUID", "location":"uri", - "locationName":"Arn" + "locationName":"ApplicationIdentifier" }, "Name":{"shape":"ApplicationName"}, "Description":{"shape":"Description"}, "ApplicationSourceConfig":{"shape":"ApplicationSourceConfig"}, - "Subscriptions":{"shape":"SubscriptionList"}, - "Publications":{"shape":"PublicationList"} + "Subscriptions":{ + "shape":"SubscriptionList", + "deprecated":true, + "deprecatedMessage":"Subscriptions has been replaced with Permissions" + }, + "Publications":{ + "shape":"PublicationList", + "deprecated":true, + "deprecatedMessage":"Publications has been replaced with Permissions" + }, + "Permissions":{"shape":"PermissionList"} } }, "UpdateApplicationResponse":{ diff --git a/models/apis/appintegrations/2020-07-29/docs-2.json b/models/apis/appintegrations/2020-07-29/docs-2.json index ee352869da..4c35fb07b4 100644 --- a/models/apis/appintegrations/2020-07-29/docs-2.json +++ b/models/apis/appintegrations/2020-07-29/docs-2.json @@ -5,11 +5,13 @@ "CreateApplication": "

This API is in preview release and subject to change.

Creates and persists an Application resource.

", "CreateDataIntegration": "

Creates and persists a DataIntegration resource.

You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API.

", "CreateEventIntegration": "

Creates an EventIntegration, given a specified name, description, and a reference to an Amazon EventBridge bus in your account and a partner event source that pushes events to that bus. No objects are created in the your account, only metadata that is persisted on the EventIntegration control plane.

", + "DeleteApplication": "

Deletes the Application. Only Applications that don't have any Application Associations can be deleted.

", "DeleteDataIntegration": "

Deletes the DataIntegration. Only DataIntegrations that don't have any DataIntegrationAssociations can be deleted. Deleting a DataIntegration also deletes the underlying Amazon AppFlow flow and service linked role.

You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API.

", "DeleteEventIntegration": "

Deletes the specified existing event integration. If the event integration is associated with clients, the request is rejected.

", "GetApplication": "

This API is in preview release and subject to change.

Get an Application resource.

", "GetDataIntegration": "

Returns information about the DataIntegration.

You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API.

", "GetEventIntegration": "

Returns information about the event integration.

", + "ListApplicationAssociations": "

Returns a paginated list of application associations for an application.

", "ListApplications": "

This API is in preview release and subject to change.

Lists applications in the account.

", "ListDataIntegrationAssociations": "

Returns a paginated list of DataIntegration associations in the account.

You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API.

", "ListDataIntegrations": "

Returns a paginated list of DataIntegrations in the account.

You cannot create a DataIntegration association for a DataIntegration that has been previously associated. Use a different DataIntegration, or recreate the DataIntegration using the CreateDataIntegration API.

", @@ -34,6 +36,18 @@ "ExternalUrlConfig$ApprovedOrigins": "

Additional URLs to allow list if different than the access URL.

" } }, + "ApplicationAssociationSummary": { + "base": "

Summary information about the Application Association.

", + "refs": { + "ApplicationAssociationsList$member": null + } + }, + "ApplicationAssociationsList": { + "base": null, + "refs": { + "ListApplicationAssociationsResponse$ApplicationAssociations": "

List of Application Associations for the Application.

" + } + }, "ApplicationName": { "base": null, "refs": { @@ -80,6 +94,8 @@ "Arn": { "base": null, "refs": { + "ApplicationAssociationSummary$ApplicationAssociationArn": "

The Amazon Resource Name (ARN) of the Application Association.

", + "ApplicationAssociationSummary$ApplicationArn": "

The Amazon Resource Name (ARN) of the Application.

", "ApplicationSummary$Arn": "

The Amazon Resource Name (ARN) of the Application.

", "CreateApplicationResponse$Arn": "

The Amazon Resource Name (ARN) of the Application.

", "CreateDataIntegrationResponse$Arn": "

The Amazon Resource Name (ARN)

", @@ -100,7 +116,9 @@ "ArnOrUUID": { "base": null, "refs": { + "DeleteApplicationRequest$Arn": "

The Amazon Resource Name (ARN) of the Application.

", "GetApplicationRequest$Arn": "

The Amazon Resource Name (ARN) of the Application.

", + "ListApplicationAssociationsRequest$ApplicationId": "

A unique identifier for the Application.

", "UpdateApplicationRequest$Arn": "

The Amazon Resource Name (ARN) of the Application.

" } }, @@ -113,6 +131,7 @@ "ClientId": { "base": null, "refs": { + "ApplicationAssociationSummary$ClientId": "

The identifier for the client that is associated with the Application Association.

", "DataIntegrationAssociationSummary$ClientId": "

The identifier for the client that is associated with the DataIntegration association.

", "EventIntegrationAssociation$ClientId": "

The identifier for the client that is associated with the event integration.

" } @@ -171,6 +190,16 @@ "ListDataIntegrationsResponse$DataIntegrations": "

The DataIntegrations associated with this account.

" } }, + "DeleteApplicationRequest": { + "base": null, + "refs": { + } + }, + "DeleteApplicationResponse": { + "base": null, + "refs": { + } + }, "DeleteDataIntegrationRequest": { "base": null, "refs": { @@ -370,6 +399,16 @@ "refs": { } }, + "ListApplicationAssociationsRequest": { + "base": null, + "refs": { + } + }, + "ListApplicationAssociationsResponse": { + "base": null, + "refs": { + } + }, "ListApplicationsRequest": { "base": null, "refs": { @@ -433,6 +472,7 @@ "MaxResults": { "base": null, "refs": { + "ListApplicationAssociationsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListApplicationsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListDataIntegrationAssociationsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListDataIntegrationsRequest$MaxResults": "

The maximum number of results to return per page.

", @@ -449,7 +489,8 @@ "InvalidRequestException$Message": null, "ResourceNotFoundException$Message": null, "ResourceQuotaExceededException$Message": null, - "ThrottlingException$Message": null + "ThrottlingException$Message": null, + "UnsupportedOperationException$Message": null } }, "Name": { @@ -473,6 +514,8 @@ "NextToken": { "base": null, "refs": { + "ListApplicationAssociationsRequest$NextToken": "

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.

", + "ListApplicationAssociationsResponse$NextToken": "

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

", "ListApplicationsRequest$NextToken": "

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.

", "ListApplicationsResponse$NextToken": "

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

", "ListDataIntegrationAssociationsRequest$NextToken": "

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.

", @@ -519,6 +562,20 @@ "GetDataIntegrationResponse$ObjectConfiguration": "

The configuration for what data should be pulled from the source.

" } }, + "Permission": { + "base": "

The permission of an event or request that the application has access to.

", + "refs": { + "PermissionList$member": null + } + }, + "PermissionList": { + "base": null, + "refs": { + "CreateApplicationRequest$Permissions": "

The configuration of events or requests that the application has access to.

", + "GetApplicationResponse$Permissions": "

The configuration of events or requests that the application has access to.

", + "UpdateApplicationRequest$Permissions": "

The configuration of events or requests that the application has access to.

" + } + }, "Publication": { "base": "

The configuration of an event that the application publishes.

", "refs": { @@ -655,6 +712,11 @@ "GetDataIntegrationResponse$Id": "

A unique identifier.

" } }, + "UnsupportedOperationException": { + "base": "

The operation is not supported.

", + "refs": { + } + }, "UntagResourceRequest": { "base": null, "refs": { diff --git a/models/apis/appintegrations/2020-07-29/examples-1.json b/models/apis/appintegrations/2020-07-29/examples-1.json index 88db8c3107..5d55f4011f 100644 --- a/models/apis/appintegrations/2020-07-29/examples-1.json +++ b/models/apis/appintegrations/2020-07-29/examples-1.json @@ -24,6 +24,20 @@ "title": "To create an application" } ], + "DeleteApplication": [ + { + "input": { + "Arn": "arn:aws:app-integrations:us-west-2:0123456789012:application/98542c53-e8ac-4570-9c85-c6552c8d9c5e" + }, + "output": { + }, + "comments": { + }, + "description": "The following deletes an application.", + "id": "delete-an-application", + "title": "To delete an application" + } + ], "GetApplication": [ { "input": { @@ -46,6 +60,28 @@ "title": "To get an application" } ], + "ListApplicationAssociations": [ + { + "input": { + "ApplicationId": "98542c53-e8ac-4570-9c85-c6552c8d9c5e" + }, + "output": { + "ApplicationAssociations": [ + { + "ApplicationArn": "arn:aws:app-integrations:us-west-2:0123456789012:application/98542c53-e8ac-4570-9c85-c6552c8d9c5e", + "ApplicationAssociationArn": "arn:aws:app-integrations:us-west-2:0123456789012:application-association/98542c53-e8ac-4570-9c85-c6552c8d9c5e/461dfb57-320a-454d-9bba-bb560845ff38", + "ClientId": "connect.amazonaws.com" + } + ], + "NextToken": "abc" + }, + "comments": { + }, + "description": "The following retrives application associations of an application", + "id": "list-application-associations", + "title": "To list application associations of an application" + } + ], "ListApplications": [ { "input": { diff --git a/models/apis/appintegrations/2020-07-29/paginators-1.json b/models/apis/appintegrations/2020-07-29/paginators-1.json index e947335435..3208f97716 100644 --- a/models/apis/appintegrations/2020-07-29/paginators-1.json +++ b/models/apis/appintegrations/2020-07-29/paginators-1.json @@ -1,5 +1,11 @@ { "pagination": { + "ListApplicationAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ApplicationAssociations" + }, "ListApplications": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/apis/bedrock-agent/2023-06-05/api-2.json b/models/apis/bedrock-agent/2023-06-05/api-2.json index 7162246a77..41d16c87bd 100644 --- a/models/apis/bedrock-agent/2023-06-05/api-2.json +++ b/models/apis/bedrock-agent/2023-06-05/api-2.json @@ -1174,6 +1174,12 @@ "min":33, "pattern":"[a-zA-Z0-9](-*[a-zA-Z0-9])*" }, + "ColumnName":{ + "type":"string", + "max":63, + "min":0, + "pattern":"[a-zA-Z0-9_\\-]+" + }, "ConflictException":{ "type":"structure", "members":{ @@ -2117,7 +2123,8 @@ "enum":[ "OPENSEARCH_SERVERLESS", "PINECONE", - "REDIS_ENTERPRISE_CLOUD" + "REDIS_ENTERPRISE_CLOUD", + "RDS" ] }, "KnowledgeBaseSummaries":{ @@ -2533,6 +2540,54 @@ "KNOWLEDGE_BASE_RESPONSE_GENERATION" ] }, + "RdsArn":{ + "type":"string", + "pattern":"arn:aws(|-cn|-us-gov):rds:[a-zA-Z0-9-]*:[0-9]{12}:cluster:[a-zA-Z0-9-]{1,63}" + }, + "RdsConfiguration":{ + "type":"structure", + "required":[ + "resourceArn", + "credentialsSecretArn", + "databaseName", + "tableName", + "fieldMapping" + ], + "members":{ + "resourceArn":{"shape":"RdsArn"}, + "credentialsSecretArn":{"shape":"SecretArn"}, + "databaseName":{"shape":"RdsDatabaseName"}, + "tableName":{"shape":"RdsTableName"}, + "fieldMapping":{"shape":"RdsFieldMapping"} + } + }, + "RdsDatabaseName":{ + "type":"string", + "max":63, + "min":0, + "pattern":"[a-zA-Z0-9_\\-]+" + }, + "RdsFieldMapping":{ + "type":"structure", + "required":[ + "primaryKeyField", + "vectorField", + "textField", + "metadataField" + ], + "members":{ + "primaryKeyField":{"shape":"ColumnName"}, + "vectorField":{"shape":"ColumnName"}, + "textField":{"shape":"ColumnName"}, + "metadataField":{"shape":"ColumnName"} + } + }, + "RdsTableName":{ + "type":"string", + "max":63, + "min":0, + "pattern":"[a-zA-Z0-9_\\.\\-]+" + }, "RecommendedAction":{ "type":"string", "max":2048, @@ -2641,7 +2696,7 @@ }, "SecretArn":{ "type":"string", - "pattern":"arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9/_+=.@-]{1,63}" + "pattern":"arn:aws(|-cn|-us-gov):secretsmanager:[a-z0-9-]{1,20}:([0-9]{12}|):secret:[a-zA-Z0-9!/_+=.@-]{1,512}" }, "ServerSideEncryptionConfiguration":{ "type":"structure", @@ -2717,7 +2772,8 @@ "type":{"shape":"KnowledgeBaseStorageType"}, "opensearchServerlessConfiguration":{"shape":"OpenSearchServerlessConfiguration"}, "pineconeConfiguration":{"shape":"PineconeConfiguration"}, - "redisEnterpriseCloudConfiguration":{"shape":"RedisEnterpriseCloudConfiguration"} + "redisEnterpriseCloudConfiguration":{"shape":"RedisEnterpriseCloudConfiguration"}, + "rdsConfiguration":{"shape":"RdsConfiguration"} } }, "String":{"type":"string"}, diff --git a/models/apis/bedrock-agent/2023-06-05/docs-2.json b/models/apis/bedrock-agent/2023-06-05/docs-2.json index b49dcbe739..7c564f1732 100644 --- a/models/apis/bedrock-agent/2023-06-05/docs-2.json +++ b/models/apis/bedrock-agent/2023-06-05/docs-2.json @@ -317,6 +317,15 @@ "StartIngestionJobRequest$clientToken": null } }, + "ColumnName": { + "base": "

Name of the column

", + "refs": { + "RdsFieldMapping$primaryKeyField": null, + "RdsFieldMapping$vectorField": null, + "RdsFieldMapping$textField": null, + "RdsFieldMapping$metadataField": null + } + }, "ConflictException": { "base": "

This exception is thrown when there is a conflict performing an operation

", "refs": { @@ -1265,6 +1274,36 @@ "PromptConfiguration$promptType": null } }, + "RdsArn": { + "base": "

Arn of a RDS Resource.

", + "refs": { + "RdsConfiguration$resourceArn": null + } + }, + "RdsConfiguration": { + "base": "

Contains the configurations to use RDS to store knowledge base data.

", + "refs": { + "StorageConfiguration$rdsConfiguration": null + } + }, + "RdsDatabaseName": { + "base": "

Name of the database within RDS

", + "refs": { + "RdsConfiguration$databaseName": null + } + }, + "RdsFieldMapping": { + "base": "

A mapping of Bedrock Knowledge Base fields to RDS column names

", + "refs": { + "RdsConfiguration$fieldMapping": null + } + }, + "RdsTableName": { + "base": "

Name of the table within RDS

", + "refs": { + "RdsConfiguration$tableName": null + } + }, "RecommendedAction": { "base": "

The recommended action users can take to resolve an error in failureReasons.

", "refs": { @@ -1353,6 +1392,7 @@ "base": "

Arn of a SecretsManager Secret.

", "refs": { "PineconeConfiguration$credentialsSecretArn": null, + "RdsConfiguration$credentialsSecretArn": null, "RedisEnterpriseCloudConfiguration$credentialsSecretArn": null } }, diff --git a/models/apis/codecommit/2015-04-13/api-2.json b/models/apis/codecommit/2015-04-13/api-2.json index d15419d85e..8d74930d69 100644 --- a/models/apis/codecommit/2015-04-13/api-2.json +++ b/models/apis/codecommit/2015-04-13/api-2.json @@ -321,6 +321,8 @@ {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"EncryptionKeyInvalidIdException"}, + {"shape":"EncryptionKeyInvalidUsageException"}, {"shape":"InvalidTagsMapException"}, {"shape":"TooManyTagsException"}, {"shape":"InvalidSystemTagUsageException"}, @@ -1935,6 +1937,28 @@ {"shape":"EncryptionKeyUnavailableException"} ] }, + "UpdateRepositoryEncryptionKey":{ + "name":"UpdateRepositoryEncryptionKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRepositoryEncryptionKeyInput"}, + "output":{"shape":"UpdateRepositoryEncryptionKeyOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"EncryptionKeyRequiredException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyInvalidIdException"}, + {"shape":"EncryptionKeyInvalidUsageException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ] + }, "UpdateRepositoryName":{ "name":"UpdateRepositoryName", "http":{ @@ -2299,6 +2323,30 @@ "errors":{"shape":"BatchGetCommitsErrorsList"} } }, + "BatchGetRepositoriesError":{ + "type":"structure", + "members":{ + "repositoryId":{"shape":"RepositoryId"}, + "repositoryName":{"shape":"RepositoryName"}, + "errorCode":{"shape":"BatchGetRepositoriesErrorCodeEnum"}, + "errorMessage":{"shape":"ErrorMessage"} + } + }, + "BatchGetRepositoriesErrorCodeEnum":{ + "type":"string", + "enum":[ + "EncryptionIntegrityChecksFailedException", + "EncryptionKeyAccessDeniedException", + "EncryptionKeyDisabledException", + "EncryptionKeyNotFoundException", + "EncryptionKeyUnavailableException", + "RepositoryDoesNotExistException" + ] + }, + "BatchGetRepositoriesErrorsList":{ + "type":"list", + "member":{"shape":"BatchGetRepositoriesError"} + }, "BatchGetRepositoriesInput":{ "type":"structure", "required":["repositoryNames"], @@ -2310,7 +2358,8 @@ "type":"structure", "members":{ "repositories":{"shape":"RepositoryMetadataList"}, - "repositoriesNotFound":{"shape":"RepositoryNotFoundList"} + "repositoriesNotFound":{"shape":"RepositoryNotFoundList"}, + "errors":{"shape":"BatchGetRepositoriesErrorsList"} } }, "BeforeCommitIdAndAfterCommitIdAreSameException":{ @@ -2738,7 +2787,8 @@ "members":{ "repositoryName":{"shape":"RepositoryName"}, "repositoryDescription":{"shape":"RepositoryDescription"}, - "tags":{"shape":"TagsMap"} + "tags":{"shape":"TagsMap"}, + "kmsKeyId":{"shape":"KmsKeyId"} } }, "CreateRepositoryOutput":{ @@ -3014,12 +3064,30 @@ }, "exception":true }, + "EncryptionKeyInvalidIdException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "EncryptionKeyInvalidUsageException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "EncryptionKeyNotFoundException":{ "type":"structure", "members":{ }, "exception":true }, + "EncryptionKeyRequiredException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "EncryptionKeyUnavailableException":{ "type":"structure", "members":{ @@ -3986,6 +4054,10 @@ "IsMove":{"type":"boolean"}, "IsObjectTypeConflict":{"type":"boolean"}, "KeepEmptyFolders":{"type":"boolean"}, + "KmsKeyId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9:/_-]+$" + }, "LastModifiedDate":{"type":"timestamp"}, "Limit":{ "type":"integer", @@ -4994,7 +5066,8 @@ "creationDate":{"shape":"CreationDate"}, "cloneUrlHttp":{"shape":"CloneUrlHttp"}, "cloneUrlSsh":{"shape":"CloneUrlSsh"}, - "Arn":{"shape":"Arn"} + "Arn":{"shape":"Arn"}, + "kmsKeyId":{"shape":"KmsKeyId"} } }, "RepositoryMetadataList":{ @@ -5557,6 +5630,25 @@ "repositoryDescription":{"shape":"RepositoryDescription"} } }, + "UpdateRepositoryEncryptionKeyInput":{ + "type":"structure", + "required":[ + "repositoryName", + "kmsKeyId" + ], + "members":{ + "repositoryName":{"shape":"RepositoryName"}, + "kmsKeyId":{"shape":"KmsKeyId"} + } + }, + "UpdateRepositoryEncryptionKeyOutput":{ + "type":"structure", + "members":{ + "repositoryId":{"shape":"RepositoryId"}, + "kmsKeyId":{"shape":"KmsKeyId"}, + "originalKmsKeyId":{"shape":"KmsKeyId"} + } + }, "UpdateRepositoryNameInput":{ "type":"structure", "required":[ diff --git a/models/apis/codecommit/2015-04-13/docs-2.json b/models/apis/codecommit/2015-04-13/docs-2.json index ef6ea2aa2f..90fa6600b6 100644 --- a/models/apis/codecommit/2015-04-13/docs-2.json +++ b/models/apis/codecommit/2015-04-13/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "CodeCommit

This is the CodeCommit API Reference. This reference provides descriptions of the operations and data types for CodeCommit API along with usage examples.

You can use the CodeCommit API to work with the following objects:

Repositories, by calling the following:

Branches, by calling the following:

Files, by calling the following:

Commits, by calling the following:

Merges, by calling the following:

Pull requests, by calling the following:

Approval rule templates, by calling the following:

Comments in a repository, by calling the following:

Tags used to tag resources in CodeCommit (not Git tags), by calling the following:

Triggers, by calling the following:

For information about how to use CodeCommit, see the CodeCommit User Guide.

", + "service": "CodeCommit

This is the CodeCommit API Reference. This reference provides descriptions of the operations and data types for CodeCommit API along with usage examples.

You can use the CodeCommit API to work with the following objects:

Repositories, by calling the following:

Branches, by calling the following:

Files, by calling the following:

Commits, by calling the following:

Merges, by calling the following:

Pull requests, by calling the following:

Approval rule templates, by calling the following:

Comments in a repository, by calling the following:

Tags used to tag resources in CodeCommit (not Git tags), by calling the following:

Triggers, by calling the following:

For information about how to use CodeCommit, see the CodeCommit User Guide.

", "operations": { "AssociateApprovalRuleTemplateWithRepository": "

Creates an association between an approval rule template and a specified repository. Then, the next time a pull request is created in the repository where the destination reference (if specified) matches the destination reference (branch) for the pull request, an approval rule that matches the template conditions is automatically created for that pull request. If no destination references are specified in the template, an approval rule that matches the template contents is created for all pull requests in that repository.

", "BatchAssociateApprovalRuleTemplateWithRepositories": "

Creates an association between an approval rule template and one or more specified repositories.

", @@ -79,6 +79,7 @@ "UpdatePullRequestStatus": "

Updates the status of a pull request.

", "UpdatePullRequestTitle": "

Replaces the title of a pull request.

", "UpdateRepositoryDescription": "

Sets or changes the comment or description for a repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.

", + "UpdateRepositoryEncryptionKey": "

Updates the Key Management Service encryption key used to encrypt and decrypt a CodeCommit repository.

", "UpdateRepositoryName": "

Renames a repository. The repository name must be unique across the calling Amazon Web Services account. Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix .git is prohibited. For more information about the limits on repository names, see Quotas in the CodeCommit User Guide.

" }, "shapes": { @@ -426,6 +427,24 @@ "refs": { } }, + "BatchGetRepositoriesError": { + "base": "

Returns information about errors in a BatchGetRepositories operation.

", + "refs": { + "BatchGetRepositoriesErrorsList$member": null + } + }, + "BatchGetRepositoriesErrorCodeEnum": { + "base": null, + "refs": { + "BatchGetRepositoriesError$errorCode": "

An error code that specifies the type of failure.

" + } + }, + "BatchGetRepositoriesErrorsList": { + "base": null, + "refs": { + "BatchGetRepositoriesOutput$errors": "

Returns information about any errors returned when attempting to retrieve information about the repositories.

" + } + }, "BatchGetRepositoriesInput": { "base": "

Represents the input of a batch get repositories operation.

", "refs": { @@ -1101,11 +1120,26 @@ "refs": { } }, + "EncryptionKeyInvalidIdException": { + "base": "

The Key Management Service encryption key is not valid.

", + "refs": { + } + }, + "EncryptionKeyInvalidUsageException": { + "base": "

A KMS encryption key was used to try and encrypt or decrypt a repository, but either the repository or the key was not in a valid state to support the operation.

", + "refs": { + } + }, "EncryptionKeyNotFoundException": { "base": "

No encryption key was found.

", "refs": { } }, + "EncryptionKeyRequiredException": { + "base": "

A KMS encryption key ID is required but was not specified.

", + "refs": { + } + }, "EncryptionKeyUnavailableException": { "base": "

The encryption key is not available.

", "refs": { @@ -1124,7 +1158,8 @@ "refs": { "BatchAssociateApprovalRuleTemplateWithRepositoriesError$errorMessage": "

An error message that provides details about why the repository name was not found or not valid.

", "BatchDisassociateApprovalRuleTemplateFromRepositoriesError$errorMessage": "

An error message that provides details about why the repository name was either not found or not valid.

", - "BatchGetCommitsError$errorMessage": "

An error message that provides detail about why the commit ID either was not found or was not valid.

" + "BatchGetCommitsError$errorMessage": "

An error message that provides detail about why the commit ID either was not found or was not valid.

", + "BatchGetRepositoriesError$errorMessage": "

An error message that provides detail about why the repository either was not found or was not in a valid state.

" } }, "EvaluatePullRequestApprovalRulesInput": { @@ -1887,6 +1922,16 @@ "MergePullRequestByThreeWayInput$keepEmptyFolders": "

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a .gitkeep file is created for empty folders. The default is false.

" } }, + "KmsKeyId": { + "base": null, + "refs": { + "CreateRepositoryInput$kmsKeyId": "

The ID of the encryption key. You can view the ID of an encryption key in the KMS console, or use the KMS APIs to programmatically retrieve a key ID. For more information about acceptable values for kmsKeyID, see KeyId in the Decrypt API description in the Key Management Service API Reference.

If no key is specified, the default aws/codecommit Amazon Web Services managed key is used.

", + "RepositoryMetadata$kmsKeyId": "

The ID of the Key Management Service encryption key used to encrypt and decrypt the repository.

", + "UpdateRepositoryEncryptionKeyInput$kmsKeyId": "

The ID of the encryption key. You can view the ID of an encryption key in the KMS console, or use the KMS APIs to programmatically retrieve a key ID. For more information about acceptable values for keyID, see KeyId in the Decrypt API description in the Key Management Service API Reference.

", + "UpdateRepositoryEncryptionKeyOutput$kmsKeyId": "

The ID of the encryption key.

", + "UpdateRepositoryEncryptionKeyOutput$originalKmsKeyId": "

The ID of the encryption key formerly used to encrypt and decrypt the repository.

" + } + }, "LastModifiedDate": { "base": null, "refs": { @@ -2852,9 +2897,11 @@ "RepositoryId": { "base": null, "refs": { + "BatchGetRepositoriesError$repositoryId": "

The ID of a repository that either could not be found or was not in a valid state.

", "DeleteRepositoryOutput$repositoryId": "

The ID of the repository that was deleted.

", "RepositoryMetadata$repositoryId": "

The ID of the repository.

", - "RepositoryNameIdPair$repositoryId": "

The ID associated with the repository.

" + "RepositoryNameIdPair$repositoryId": "

The ID associated with the repository.

", + "UpdateRepositoryEncryptionKeyOutput$repositoryId": "

The ID of the repository.

" } }, "RepositoryLimitExceededException": { @@ -2884,6 +2931,7 @@ "BatchDescribeMergeConflictsInput$repositoryName": "

The name of the repository that contains the merge conflicts you want to review.

", "BatchDisassociateApprovalRuleTemplateFromRepositoriesError$repositoryName": "

The name of the repository where the association with the template was not able to be removed.

", "BatchGetCommitsInput$repositoryName": "

The name of the repository that contains the commits.

", + "BatchGetRepositoriesError$repositoryName": "

The name of a repository that either could not be found or was not in a valid state.

", "CommentsForComparedCommit$repositoryName": "

The name of the repository that contains the compared commits.

", "CommentsForPullRequest$repositoryName": "

The name of the repository that contains the pull request.

", "CreateBranchInput$repositoryName": "

The name of the repository in which you want to create the new branch.

", @@ -2936,6 +2984,7 @@ "TestRepositoryTriggersInput$repositoryName": "

The name of the repository in which to test the triggers.

", "UpdateDefaultBranchInput$repositoryName": "

The name of the repository for which you want to set or change the default branch.

", "UpdateRepositoryDescriptionInput$repositoryName": "

The name of the repository to set or change the comment or description for.

", + "UpdateRepositoryEncryptionKeyInput$repositoryName": "

The name of the repository for which you want to update the KMS encryption key used to encrypt and decrypt the repository.

", "UpdateRepositoryNameInput$oldName": "

The current name of the repository.

", "UpdateRepositoryNameInput$newName": "

The new name for the repository.

" } @@ -3424,6 +3473,16 @@ "refs": { } }, + "UpdateRepositoryEncryptionKeyInput": { + "base": null, + "refs": { + } + }, + "UpdateRepositoryEncryptionKeyOutput": { + "base": null, + "refs": { + } + }, "UpdateRepositoryNameInput": { "base": "

Represents the input of an update repository description operation.

", "refs": { diff --git a/models/apis/codecommit/2015-04-13/endpoint-rule-set-1.json b/models/apis/codecommit/2015-04-13/endpoint-rule-set-1.json index 96a72fcdca..f2cc5e088f 100644 --- a/models/apis/codecommit/2015-04-13/endpoint-rule-set-1.json +++ b/models/apis/codecommit/2015-04-13/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index 4bf5c706dd..81f65053d2 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -245,6 +245,21 @@ ], "idempotent":true }, + "AssociateUserProficiencies":{ + "name":"AssociateUserProficiencies", + "http":{ + "method":"POST", + "requestUri":"/users/{InstanceId}/{UserId}/associate-proficiencies" + }, + "input":{"shape":"AssociateUserProficienciesRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "BatchAssociateAnalyticsDataSet":{ "name":"BatchAssociateAnalyticsDataSet", "http":{ @@ -488,6 +503,23 @@ {"shape":"InternalServiceException"} ] }, + "CreatePredefinedAttribute":{ + "name":"CreatePredefinedAttribute", + "http":{ + "method":"PUT", + "requestUri":"/predefined-attributes/{InstanceId}" + }, + "input":{"shape":"CreatePredefinedAttributeRequest"}, + "errors":[ + {"shape":"DuplicateResourceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "CreatePrompt":{ "name":"CreatePrompt", "http":{ @@ -866,6 +898,23 @@ {"shape":"ThrottlingException"} ] }, + "DeletePredefinedAttribute":{ + "name":"DeletePredefinedAttribute", + "http":{ + "method":"DELETE", + "requestUri":"/predefined-attributes/{InstanceId}/{Name}" + }, + "input":{"shape":"DeletePredefinedAttributeRequest"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "idempotent":true + }, "DeletePrompt":{ "name":"DeletePrompt", "http":{ @@ -1264,6 +1313,22 @@ {"shape":"AccessDeniedException"} ] }, + "DescribePredefinedAttribute":{ + "name":"DescribePredefinedAttribute", + "http":{ + "method":"GET", + "requestUri":"/predefined-attributes/{InstanceId}/{Name}" + }, + "input":{"shape":"DescribePredefinedAttributeRequest"}, + "output":{"shape":"DescribePredefinedAttributeResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "DescribePrompt":{ "name":"DescribePrompt", "http":{ @@ -1641,6 +1706,21 @@ ], "idempotent":true }, + "DisassociateUserProficiencies":{ + "name":"DisassociateUserProficiencies", + "http":{ + "method":"POST", + "requestUri":"/users/{InstanceId}/{UserId}/disassociate-proficiencies" + }, + "input":{"shape":"DisassociateUserProficienciesRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "DismissUserContact":{ "name":"DismissUserContact", "http":{ @@ -2164,6 +2244,22 @@ {"shape":"AccessDeniedException"} ] }, + "ListPredefinedAttributes":{ + "name":"ListPredefinedAttributes", + "http":{ + "method":"GET", + "requestUri":"/predefined-attributes/{InstanceId}" + }, + "input":{"shape":"ListPredefinedAttributesRequest"}, + "output":{"shape":"ListPredefinedAttributesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "ListPrompts":{ "name":"ListPrompts", "http":{ @@ -2451,6 +2547,22 @@ {"shape":"InternalServiceException"} ] }, + "ListUserProficiencies":{ + "name":"ListUserProficiencies", + "http":{ + "method":"GET", + "requestUri":"/users/{InstanceId}/{UserId}/proficiencies" + }, + "input":{"shape":"ListUserProficienciesRequest"}, + "output":{"shape":"ListUserProficienciesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "ListUsers":{ "name":"ListUsers", "http":{ @@ -2638,6 +2750,22 @@ {"shape":"AccessDeniedException"} ] }, + "SearchContacts":{ + "name":"SearchContacts", + "http":{ + "method":"POST", + "requestUri":"/search-contacts" + }, + "input":{"shape":"SearchContactsRequest"}, + "output":{"shape":"SearchContactsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"} + ] + }, "SearchHoursOfOperations":{ "name":"SearchHoursOfOperations", "http":{ @@ -2654,6 +2782,22 @@ {"shape":"InternalServiceException"} ] }, + "SearchPredefinedAttributes":{ + "name":"SearchPredefinedAttributes", + "http":{ + "method":"POST", + "requestUri":"/search-predefined-attributes" + }, + "input":{"shape":"SearchPredefinedAttributesRequest"}, + "output":{"shape":"SearchPredefinedAttributesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "SearchPrompts":{ "name":"SearchPrompts", "http":{ @@ -3221,6 +3365,23 @@ {"shape":"InternalServiceException"} ] }, + "UpdateContactRoutingData":{ + "name":"UpdateContactRoutingData", + "http":{ + "method":"POST", + "requestUri":"/contacts/{InstanceId}/{ContactId}/routing-data" + }, + "input":{"shape":"UpdateContactRoutingDataRequest"}, + "output":{"shape":"UpdateContactRoutingDataResponse"}, + "errors":[ + {"shape":"ResourceConflictException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "UpdateContactSchedule":{ "name":"UpdateContactSchedule", "http":{ @@ -3355,6 +3516,21 @@ {"shape":"InternalServiceException"} ] }, + "UpdatePredefinedAttribute":{ + "name":"UpdatePredefinedAttribute", + "http":{ + "method":"POST", + "requestUri":"/predefined-attributes/{InstanceId}/{Name}" + }, + "input":{"shape":"UpdatePredefinedAttributeRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "UpdatePrompt":{ "name":"UpdatePrompt", "http":{ @@ -3695,6 +3871,21 @@ {"shape":"InternalServiceException"} ] }, + "UpdateUserProficiencies":{ + "name":"UpdateUserProficiencies", + "http":{ + "method":"POST", + "requestUri":"/users/{InstanceId}/{UserId}/proficiencies" + }, + "input":{"shape":"UpdateUserProficienciesRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "UpdateUserRoutingProfile":{ "name":"UpdateUserRoutingProfile", "http":{ @@ -3870,6 +4061,16 @@ "max":100, "min":1 }, + "AgentHierarchyGroups":{ + "type":"structure", + "members":{ + "L1Ids":{"shape":"HierarchyGroupIdList"}, + "L2Ids":{"shape":"HierarchyGroupIdList"}, + "L3Ids":{"shape":"HierarchyGroupIdList"}, + "L4Ids":{"shape":"HierarchyGroupIdList"}, + "L5Ids":{"shape":"HierarchyGroupIdList"} + } + }, "AgentInfo":{ "type":"structure", "members":{ @@ -3892,6 +4093,12 @@ "max":256, "min":1 }, + "AgentResourceIdList":{ + "type":"list", + "member":{"shape":"AgentResourceId"}, + "max":100, + "min":0 + }, "AgentStatus":{ "type":"structure", "members":{ @@ -4314,6 +4521,27 @@ "members":{ } }, + "AssociateUserProficienciesRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "UserId", + "UserProficiencies" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "UserProficiencies":{"shape":"UserProficiencyList"} + } + }, "AssociationId":{ "type":"string", "max":100, @@ -4522,6 +4750,10 @@ "TASK" ] }, + "ChannelList":{ + "type":"list", + "member":{"shape":"Channel"} + }, "ChannelToCountMap":{ "type":"map", "key":{"shape":"Channel"}, @@ -4688,9 +4920,17 @@ "ScheduledTimestamp":{"shape":"timestamp"}, "RelatedContactId":{"shape":"ContactId"}, "WisdomInfo":{"shape":"WisdomInfo"}, + "QueueTimeAdjustmentSeconds":{"shape":"QueueTimeAdjustmentSeconds"}, + "QueuePriority":{"shape":"QueuePriority"}, "Tags":{"shape":"ContactTagMap"} } }, + "ContactAnalysis":{ + "type":"structure", + "members":{ + "Transcript":{"shape":"Transcript"} + } + }, "ContactDataRequest":{ "type":"structure", "members":{ @@ -4879,6 +5119,36 @@ "key":{"shape":"ReferenceKey"}, "value":{"shape":"Reference"} }, + "ContactSearchSummary":{ + "type":"structure", + "members":{ + "Arn":{"shape":"ARN"}, + "Id":{"shape":"ContactId"}, + "InitialContactId":{"shape":"ContactId"}, + "PreviousContactId":{"shape":"ContactId"}, + "InitiationMethod":{"shape":"ContactInitiationMethod"}, + "Channel":{"shape":"Channel"}, + "QueueInfo":{"shape":"ContactSearchSummaryQueueInfo"}, + "AgentInfo":{"shape":"ContactSearchSummaryAgentInfo"}, + "InitiationTimestamp":{"shape":"timestamp"}, + "DisconnectTimestamp":{"shape":"timestamp"}, + "ScheduledTimestamp":{"shape":"timestamp"} + } + }, + "ContactSearchSummaryAgentInfo":{ + "type":"structure", + "members":{ + "Id":{"shape":"AgentResourceId"}, + "ConnectedToAgentTimestamp":{"shape":"timestamp"} + } + }, + "ContactSearchSummaryQueueInfo":{ + "type":"structure", + "members":{ + "Id":{"shape":"QueueId"}, + "EnqueueTimestamp":{"shape":"timestamp"} + } + }, "ContactState":{ "type":"string", "enum":[ @@ -4921,6 +5191,10 @@ "type":"string", "max":256 }, + "Contacts":{ + "type":"list", + "member":{"shape":"ContactSearchSummary"} + }, "Content":{ "type":"string", "max":1024, @@ -5206,6 +5480,23 @@ "ContinuedFromContactId":{"shape":"ContactId"} } }, + "CreatePredefinedAttributeRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "Name", + "Values" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "Name":{"shape":"PredefinedAttributeName"}, + "Values":{"shape":"PredefinedAttributeValues"} + } + }, "CreatePromptRequest":{ "type":"structure", "required":[ @@ -5930,6 +6221,25 @@ } } }, + "DeletePredefinedAttributeRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "Name" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "Name":{ + "shape":"PredefinedAttributeName", + "location":"uri", + "locationName":"Name" + } + } + }, "DeletePromptRequest":{ "type":"structure", "required":[ @@ -6510,6 +6820,31 @@ "ClaimedPhoneNumberSummary":{"shape":"ClaimedPhoneNumberSummary"} } }, + "DescribePredefinedAttributeRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "Name" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "Name":{ + "shape":"PredefinedAttributeName", + "location":"uri", + "locationName":"Name" + } + } + }, + "DescribePredefinedAttributeResponse":{ + "type":"structure", + "members":{ + "PredefinedAttribute":{"shape":"PredefinedAttribute"} + } + }, "DescribePromptRequest":{ "type":"structure", "required":[ @@ -6825,7 +7160,8 @@ "members":{ "Queue":{"shape":"QueueReference"}, "Channel":{"shape":"Channel"}, - "RoutingProfile":{"shape":"RoutingProfileReference"} + "RoutingProfile":{"shape":"RoutingProfileReference"}, + "RoutingStepExpression":{"shape":"RoutingExpression"} } }, "DimensionsV2Key":{"type":"string"}, @@ -7114,22 +7450,43 @@ "members":{ } }, - "DisconnectReason":{ - "type":"structure", - "members":{ - "Code":{"shape":"DisconnectReasonCode"} - } - }, - "DisconnectReasonCode":{"type":"string"}, - "DismissUserContactRequest":{ + "DisassociateUserProficienciesRequest":{ "type":"structure", "required":[ - "UserId", "InstanceId", - "ContactId" + "UserId", + "UserProficiencies" ], "members":{ - "UserId":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "UserProficiencies":{"shape":"UserProficiencyDisassociateList"} + } + }, + "DisconnectReason":{ + "type":"structure", + "members":{ + "Code":{"shape":"DisconnectReasonCode"} + } + }, + "DisconnectReasonCode":{"type":"string"}, + "DismissUserContactRequest":{ + "type":"structure", + "required":[ + "UserId", + "InstanceId", + "ContactId" + ], + "members":{ + "UserId":{ "shape":"UserId", "location":"uri", "locationName":"UserId" @@ -7839,7 +8196,8 @@ "members":{ "Queues":{"shape":"Queues"}, "Channels":{"shape":"Channels"}, - "RoutingProfiles":{"shape":"RoutingProfiles"} + "RoutingProfiles":{"shape":"RoutingProfiles"}, + "RoutingStepExpressions":{"shape":"RoutingExpressions"} } }, "FiltersV2List":{ @@ -8177,7 +8535,8 @@ "enum":[ "QUEUE", "CHANNEL", - "ROUTING_PROFILE" + "ROUTING_PROFILE", + "ROUTING_STEP_EXPRESSION" ] }, "GroupingV2":{"type":"string"}, @@ -8212,6 +8571,12 @@ } }, "HierarchyGroupId":{"type":"string"}, + "HierarchyGroupIdList":{ + "type":"list", + "member":{"shape":"HierarchyGroupId"}, + "max":10, + "min":0 + }, "HierarchyGroupMatchType":{ "type":"string", "enum":[ @@ -8520,6 +8885,10 @@ } }, "InboundCallsEnabled":{"type":"boolean"}, + "InitiationMethodList":{ + "type":"list", + "member":{"shape":"ContactInitiationMethod"} + }, "Instance":{ "type":"structure", "members":{ @@ -9526,6 +9895,35 @@ "ListPhoneNumbersSummaryList":{"shape":"ListPhoneNumbersSummaryList"} } }, + "ListPredefinedAttributesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult100", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPredefinedAttributesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "PredefinedAttributeSummaryList":{"shape":"PredefinedAttributeSummaryList"} + } + }, "ListPromptsRequest":{ "type":"structure", "required":["InstanceId"], @@ -10121,6 +10519,45 @@ "NextToken":{"shape":"NextToken"} } }, + "ListUserProficienciesRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "UserId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult100", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListUserProficienciesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "UserProficiencyList":{"shape":"UserProficiencyList"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} + } + }, "ListUsersRequest":{ "type":"structure", "required":["InstanceId"], @@ -11001,6 +11438,66 @@ "DESK_PHONE" ] }, + "PredefinedAttribute":{ + "type":"structure", + "members":{ + "Name":{"shape":"PredefinedAttributeName"}, + "Values":{"shape":"PredefinedAttributeValues"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} + } + }, + "PredefinedAttributeName":{ + "type":"string", + "max":128, + "min":1 + }, + "PredefinedAttributeSearchConditionList":{ + "type":"list", + "member":{"shape":"PredefinedAttributeSearchCriteria"} + }, + "PredefinedAttributeSearchCriteria":{ + "type":"structure", + "members":{ + "OrConditions":{"shape":"PredefinedAttributeSearchConditionList"}, + "AndConditions":{"shape":"PredefinedAttributeSearchConditionList"}, + "StringCondition":{"shape":"StringCondition"} + } + }, + "PredefinedAttributeSearchSummaryList":{ + "type":"list", + "member":{"shape":"PredefinedAttribute"} + }, + "PredefinedAttributeStringValue":{ + "type":"string", + "max":128, + "min":1 + }, + "PredefinedAttributeStringValuesList":{ + "type":"list", + "member":{"shape":"PredefinedAttributeStringValue"}, + "max":75, + "min":1 + }, + "PredefinedAttributeSummary":{ + "type":"structure", + "members":{ + "Name":{"shape":"PredefinedAttributeName"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} + } + }, + "PredefinedAttributeSummaryList":{ + "type":"list", + "member":{"shape":"PredefinedAttributeSummary"} + }, + "PredefinedAttributeValues":{ + "type":"structure", + "members":{ + "StringList":{"shape":"PredefinedAttributeStringValuesList"} + }, + "union":true + }, "Prefix":{ "type":"string", "max":128, @@ -11028,6 +11525,12 @@ "max":50, "min":1 }, + "ProficiencyLevel":{ + "type":"float", + "box":true, + "max":5.0, + "min":1.0 + }, "Prompt":{ "type":"structure", "members":{ @@ -11185,6 +11688,12 @@ "min":1 }, "QueueId":{"type":"string"}, + "QueueIdList":{ + "type":"list", + "member":{"shape":"QueueId"}, + "max":100, + "min":0 + }, "QueueInfo":{ "type":"structure", "members":{ @@ -11201,6 +11710,11 @@ "max":256, "min":1 }, + "QueuePriority":{ + "type":"long", + "max":9223372036854775807, + "min":1 + }, "QueueQuickConnectConfig":{ "type":"structure", "required":[ @@ -11264,6 +11778,7 @@ "type":"list", "member":{"shape":"QueueSummary"} }, + "QueueTimeAdjustmentSeconds":{"type":"integer"}, "QueueType":{ "type":"string", "enum":[ @@ -11891,6 +12406,16 @@ "members":{ } }, + "RoutingExpression":{ + "type":"string", + "max":3000, + "min":1 + }, + "RoutingExpressions":{ + "type":"list", + "member":{"shape":"RoutingExpression"}, + "max":50 + }, "RoutingProfile":{ "type":"structure", "members":{ @@ -12177,6 +12702,74 @@ "AvailableNumbersList":{"shape":"AvailableNumbersList"} } }, + "SearchContactsMatchType":{ + "type":"string", + "enum":[ + "MATCH_ALL", + "MATCH_ANY" + ] + }, + "SearchContactsRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "TimeRange" + ], + "members":{ + "InstanceId":{"shape":"InstanceId"}, + "TimeRange":{"shape":"SearchContactsTimeRange"}, + "SearchCriteria":{"shape":"SearchCriteria"}, + "MaxResults":{ + "shape":"MaxResult100", + "box":true + }, + "NextToken":{"shape":"LargeNextToken"}, + "Sort":{"shape":"Sort"} + } + }, + "SearchContactsResponse":{ + "type":"structure", + "required":["Contacts"], + "members":{ + "Contacts":{"shape":"Contacts"}, + "NextToken":{"shape":"LargeNextToken"}, + "TotalCount":{"shape":"TotalCount"} + } + }, + "SearchContactsTimeRange":{ + "type":"structure", + "required":[ + "Type", + "StartTime", + "EndTime" + ], + "members":{ + "Type":{"shape":"SearchContactsTimeRangeType"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"} + } + }, + "SearchContactsTimeRangeType":{ + "type":"string", + "enum":[ + "INITIATION_TIMESTAMP", + "SCHEDULED_TIMESTAMP", + "CONNECTED_TO_AGENT_TIMESTAMP", + "DISCONNECT_TIMESTAMP" + ] + }, + "SearchCriteria":{ + "type":"structure", + "members":{ + "AgentIds":{"shape":"AgentResourceIdList"}, + "AgentHierarchyGroups":{"shape":"AgentHierarchyGroups"}, + "Channels":{"shape":"ChannelList"}, + "ContactAnalysis":{"shape":"ContactAnalysis"}, + "InitiationMethods":{"shape":"InitiationMethodList"}, + "QueueIds":{"shape":"QueueIdList"}, + "SearchableContactAttributes":{"shape":"SearchableContactAttributes"} + } + }, "SearchHoursOfOperationsRequest":{ "type":"structure", "required":["InstanceId"], @@ -12199,6 +12792,27 @@ "ApproximateTotalCount":{"shape":"ApproximateTotalCount"} } }, + "SearchPredefinedAttributesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{"shape":"InstanceId"}, + "NextToken":{"shape":"NextToken2500"}, + "MaxResults":{ + "shape":"MaxResult100", + "box":true + }, + "SearchCriteria":{"shape":"PredefinedAttributeSearchCriteria"} + } + }, + "SearchPredefinedAttributesResponse":{ + "type":"structure", + "members":{ + "PredefinedAttributes":{"shape":"PredefinedAttributeSearchSummaryList"}, + "NextToken":{"shape":"NextToken2500"}, + "ApproximateTotalCount":{"shape":"ApproximateTotalCount"} + } + }, "SearchPromptsRequest":{ "type":"structure", "required":["InstanceId"], @@ -12330,6 +12944,17 @@ "ApproximateTotalCount":{"shape":"ApproximateTotalCount"} } }, + "SearchText":{ + "type":"string", + "max":128, + "sensitive":true + }, + "SearchTextList":{ + "type":"list", + "member":{"shape":"SearchText"}, + "max":100, + "min":0 + }, "SearchUsersRequest":{ "type":"structure", "required":["InstanceId"], @@ -12375,6 +13000,49 @@ "NextToken":{"shape":"VocabularyNextToken"} } }, + "SearchableContactAttributeKey":{ + "type":"string", + "max":100, + "min":0, + "sensitive":true + }, + "SearchableContactAttributeValue":{ + "type":"string", + "max":100, + "min":0, + "sensitive":true + }, + "SearchableContactAttributeValueList":{ + "type":"list", + "member":{"shape":"SearchableContactAttributeValue"}, + "max":20, + "min":0 + }, + "SearchableContactAttributes":{ + "type":"structure", + "required":["Criteria"], + "members":{ + "Criteria":{"shape":"SearchableContactAttributesCriteriaList"}, + "MatchType":{"shape":"SearchContactsMatchType"} + } + }, + "SearchableContactAttributesCriteria":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{"shape":"SearchableContactAttributeKey"}, + "Values":{"shape":"SearchableContactAttributeValueList"} + } + }, + "SearchableContactAttributesCriteriaList":{ + "type":"list", + "member":{"shape":"SearchableContactAttributesCriteria"}, + "max":15, + "min":0 + }, "SearchableQueueType":{ "type":"string", "enum":["STANDARD"] @@ -12602,6 +13270,17 @@ "min":1 }, "SnapshotVersion":{"type":"string"}, + "Sort":{ + "type":"structure", + "required":[ + "FieldName", + "Order" + ], + "members":{ + "FieldName":{"shape":"SortableFieldName"}, + "Order":{"shape":"SortOrder"} + } + }, "SortOrder":{ "type":"string", "enum":[ @@ -12609,6 +13288,17 @@ "DESCENDING" ] }, + "SortableFieldName":{ + "type":"string", + "enum":[ + "INITIATION_TIMESTAMP", + "SCHEDULED_TIMESTAMP", + "CONNECTED_TO_AGENT_TIMESTAMP", + "DISCONNECT_TIMESTAMP", + "INITIATION_METHOD", + "CHANNEL" + ] + }, "SourceApplicationName":{ "type":"string", "max":100, @@ -13331,6 +14021,7 @@ "error":{"httpStatusCode":429}, "exception":true }, + "TotalCount":{"type":"long"}, "TotalPauseCount":{ "type":"integer", "max":10, @@ -13412,6 +14103,33 @@ "CAMPAIGN" ] }, + "Transcript":{ + "type":"structure", + "required":["Criteria"], + "members":{ + "Criteria":{"shape":"TranscriptCriteriaList"}, + "MatchType":{"shape":"SearchContactsMatchType"} + } + }, + "TranscriptCriteria":{ + "type":"structure", + "required":[ + "ParticipantRole", + "SearchText", + "MatchType" + ], + "members":{ + "ParticipantRole":{"shape":"ParticipantRole"}, + "SearchText":{"shape":"SearchTextList"}, + "MatchType":{"shape":"SearchContactsMatchType"} + } + }, + "TranscriptCriteriaList":{ + "type":"list", + "member":{"shape":"TranscriptCriteria"}, + "max":6, + "min":0 + }, "TransferContactRequest":{ "type":"structure", "required":[ @@ -13748,6 +14466,32 @@ "members":{ } }, + "UpdateContactRoutingDataRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "ContactId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "ContactId":{ + "shape":"ContactId", + "location":"uri", + "locationName":"ContactId" + }, + "QueueTimeAdjustmentSeconds":{"shape":"QueueTimeAdjustmentSeconds"}, + "QueuePriority":{"shape":"QueuePriority"} + } + }, + "UpdateContactRoutingDataResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateContactScheduleRequest":{ "type":"structure", "required":[ @@ -13963,6 +14707,26 @@ "PhoneNumberArn":{"shape":"ARN"} } }, + "UpdatePredefinedAttributeRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "Name" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "Name":{ + "shape":"PredefinedAttributeName", + "location":"uri", + "locationName":"Name" + }, + "Values":{"shape":"PredefinedAttributeValues"} + } + }, "UpdatePromptRequest":{ "type":"structure", "required":[ @@ -14462,6 +15226,27 @@ } } }, + "UpdateUserProficienciesRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "UserId", + "UserProficiencies" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "UserId":{ + "shape":"UserId", + "location":"uri", + "locationName":"UserId" + }, + "UserProficiencies":{"shape":"UserProficiencyList"} + } + }, "UpdateUserRoutingProfileRequest":{ "type":"structure", "required":[ @@ -14682,6 +15467,38 @@ "DeskPhoneNumber":{"shape":"PhoneNumber"} } }, + "UserProficiency":{ + "type":"structure", + "required":[ + "AttributeName", + "AttributeValue", + "Level" + ], + "members":{ + "AttributeName":{"shape":"PredefinedAttributeName"}, + "AttributeValue":{"shape":"PredefinedAttributeStringValue"}, + "Level":{"shape":"ProficiencyLevel"} + } + }, + "UserProficiencyDisassociate":{ + "type":"structure", + "required":[ + "AttributeName", + "AttributeValue" + ], + "members":{ + "AttributeName":{"shape":"PredefinedAttributeName"}, + "AttributeValue":{"shape":"PredefinedAttributeStringValue"} + } + }, + "UserProficiencyDisassociateList":{ + "type":"list", + "member":{"shape":"UserProficiencyDisassociate"} + }, + "UserProficiencyList":{ + "type":"list", + "member":{"shape":"UserProficiency"} + }, "UserQuickConnectConfig":{ "type":"structure", "required":[ diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json index d0b1819c8e..c5b5d4daf8 100644 --- a/models/apis/connect/2017-08-08/docs-2.json +++ b/models/apis/connect/2017-08-08/docs-2.json @@ -16,6 +16,7 @@ "AssociateRoutingProfileQueues": "

Associates a set of queues with a routing profile.

", "AssociateSecurityKey": "

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

Associates a security key to the instance.

", "AssociateTrafficDistributionGroupUser": "

Associates an agent with a traffic distribution group.

", + "AssociateUserProficiencies": "

>Associates a set of proficiencies with a user.

", "BatchAssociateAnalyticsDataSet": "

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

Associates a list of analytics datasets for a given Amazon Connect instance to a target account. You can associate multiple datasets in a single call.

", "BatchDisassociateAnalyticsDataSet": "

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

Removes a list of analytics datasets associated with a given Amazon Connect instance. You can disassociate multiple datasets in a single call.

", "BatchGetFlowAssociation": "

Retrieve the flow associations for the given resources.

", @@ -30,6 +31,7 @@ "CreateIntegrationAssociation": "

Creates an Amazon Web Services resource association with an Amazon Connect instance.

", "CreateParticipant": "

Adds a new participant into an on-going chat contact. For more information, see Customize chat flow experiences by integrating custom participants.

", "CreatePersistentContactAssociation": "

Enables rehydration of chats for the lifespan of a contact. For more information about chat rehydration, see Enable persistent chat in the Amazon Connect Administrator Guide.

", + "CreatePredefinedAttribute": "

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

", "CreatePrompt": "

Creates a prompt. For more information about prompts, such as supported file types and maximum length, see Create prompts in the Amazon Connect Administrator's Guide.

", "CreateQueue": "

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

Creates a new queue for the specified Amazon Connect instance.

", "CreateQuickConnect": "

Creates a quick connect for the specified Amazon Connect instance.

", @@ -52,6 +54,7 @@ "DeleteHoursOfOperation": "

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

Deletes an hours of operation.

", "DeleteInstance": "

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

Deletes the Amazon Connect instance.

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.

", "DeleteIntegrationAssociation": "

Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have any use cases associated with it.

", + "DeletePredefinedAttribute": "

Deletes a predefined attribute from the specified Amazon Connect instance.

", "DeletePrompt": "

Deletes a prompt.

", "DeleteQueue": "

Deletes a queue.

", "DeleteQuickConnect": "

Deletes a quick connect.

", @@ -77,6 +80,7 @@ "DescribeInstanceAttribute": "

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

Describes the specified instance attribute.

", "DescribeInstanceStorageConfig": "

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

Retrieves the current storage configurations for the specified resource type, association ID, and instance ID.

", "DescribePhoneNumber": "

Gets details and status of a phone number that’s claimed to your Amazon Connect instance or traffic distribution group.

If the number is claimed to a traffic distribution group, and you are calling in the Amazon Web Services Region where the traffic distribution group was created, you can use either a phone number ARN or UUID value for the PhoneNumberId URI request parameter. However, if the number is claimed to a traffic distribution group and you are calling this API in the alternate Amazon Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

", + "DescribePredefinedAttribute": "

Describes a predefined attribute for the specified Amazon Connect instance.

", "DescribePrompt": "

Describes the prompt.

", "DescribeQueue": "

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

Describes the specified queue.

", "DescribeQuickConnect": "

Describes the quick connect.

", @@ -101,6 +105,7 @@ "DisassociateRoutingProfileQueues": "

Disassociates a set of queues from a routing profile.

", "DisassociateSecurityKey": "

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

Deletes the specified security key.

", "DisassociateTrafficDistributionGroupUser": "

Disassociates an agent from a traffic distribution group.

", + "DisassociateUserProficiencies": "

Disassociates a set of proficiencies from a user.

", "DismissUserContact": "

Dismisses contacts from an agent’s CCP and returns the agent to an available state, which allows the agent to receive a new routed contact. Contacts can only be dismissed if they are in a MISSED, ERROR, ENDED, or REJECTED state in the Agent Event Stream.

", "GetContactAttributes": "

Retrieves the contact attributes for the specified contact.

", "GetCurrentMetricData": "

Gets the real-time metric data from the specified Amazon Connect instance.

For a description of each metric, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide.

", @@ -134,6 +139,7 @@ "ListLexBots": "

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

Returns a paginated list of all the Amazon Lex V1 bots currently associated with the instance. To return both Amazon Lex V1 and V2 bots, use the ListBots API.

", "ListPhoneNumbers": "

Provides information about the phone numbers for the specified Amazon Connect instance.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

", "ListPhoneNumbersV2": "

Lists phone numbers claimed to your Amazon Connect instance or traffic distribution group. If the provided TargetArn is a traffic distribution group, you can call this API in both Amazon Web Services Regions associated with traffic distribution group.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

", + "ListPredefinedAttributes": "

Lists predefined attributes for the specified Amazon Connect instance.

", "ListPrompts": "

Provides information about the prompts for the specified Amazon Connect instance.

", "ListQueueQuickConnects": "

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

Lists the quick connects associated with a queue.

", "ListQueues": "

Provides information about the queues for the specified Amazon Connect instance.

If you do not specify a QueueTypes parameter, both standard and agent queues are returned. This might cause an unexpected truncation of results if you have more than 1000 agents and you limit the number of results of the API call in code.

For more information about queues, see Queues: Standard and Agent in the Amazon Connect Administrator Guide.

", @@ -152,6 +158,7 @@ "ListTrafficDistributionGroups": "

Lists traffic distribution groups.

", "ListUseCases": "

Lists the use cases for the integration association.

", "ListUserHierarchyGroups": "

Provides summary information about the hierarchy groups for the specified Amazon Connect instance.

For more information about agent hierarchies, see Set Up Agent Hierarchies in the Amazon Connect Administrator Guide.

", + "ListUserProficiencies": "

Lists proficiencies associated with a user.

", "ListUsers": "

Provides summary information about the users for the specified Amazon Connect instance.

", "ListViewVersions": "

Returns all the available versions for the specified Amazon Connect instance and view identifier.

Results will be sorted from highest to lowest.

", "ListViews": "

Returns views in the given instance.

Results are sorted primarily by type, and secondarily by name.

", @@ -163,7 +170,9 @@ "ResumeContact": "

Allows resuming a task contact in a paused state.

", "ResumeContactRecording": "

When a contact is being recorded, and the recording has been suspended using SuspendContactRecording, this API resumes recording whatever recording is selected in the flow configuration: call, screen, or both. If only call recording or only screen recording is enabled, then it would resume.

Voice and screen recordings are supported.

", "SearchAvailablePhoneNumbers": "

Searches for available phone numbers that you can claim to your Amazon Connect instance or traffic distribution group. If the provided TargetArn is a traffic distribution group, you can call this API in both Amazon Web Services Regions associated with the traffic distribution group.

", + "SearchContacts": "

Searches contacts in an Amazon Connect instance.

", "SearchHoursOfOperations": "

Searches the hours of operation in an Amazon Connect instance, with optional filtering.

", + "SearchPredefinedAttributes": "

Predefined attributes that meet certain criteria.

", "SearchPrompts": "

Searches prompts in an Amazon Connect instance, with optional filtering.

", "SearchQueues": "

Searches queues in an Amazon Connect instance, with optional filtering.

", "SearchQuickConnects": "

Searches quick connects in an Amazon Connect instance, with optional filtering.

", @@ -199,6 +208,7 @@ "UpdateContactFlowModuleContent": "

Updates specified flow module for the specified Amazon Connect instance.

", "UpdateContactFlowModuleMetadata": "

Updates metadata about specified flow module.

", "UpdateContactFlowName": "

The name of the flow.

You can also create and update flows using the Amazon Connect Flow language.

", + "UpdateContactRoutingData": "

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

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

", "UpdateContactSchedule": "

Updates the scheduled time of a task contact that is already scheduled.

", "UpdateEvaluationForm": "

Updates details about a specific evaluation form version in the specified Amazon Connect instance. Question and section identifiers cannot be duplicated within the same evaluation form.

This operation does not support partial updates. Instead it does a full update of evaluation form content.

", "UpdateHoursOfOperation": "

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

Updates the hours of operation.

", @@ -207,6 +217,7 @@ "UpdateParticipantRoleConfig": "

Updates timeouts for when human chat participants are to be considered idle, and when agents are automatically disconnected from a chat due to idleness. You can set four timers:

For more information about how chat timeouts work, see Set up chat timeouts for human participants.

", "UpdatePhoneNumber": "

Updates your claimed phone number from its current Amazon Connect instance or traffic distribution group to another Amazon Connect instance or traffic distribution group in the same Amazon Web Services Region.

After using this API, you must verify that the phone number is attached to the correct flow in the target instance or traffic distribution group. You need to do this because the API switches only the phone number to a new instance or traffic distribution group. It doesn't migrate the flow configuration of the phone number, too.

You can call DescribePhoneNumber API to verify the status of a previous UpdatePhoneNumber operation.

", "UpdatePhoneNumberMetadata": "

Updates a phone number’s metadata.

To verify the status of a previous UpdatePhoneNumberMetadata operation, call the DescribePhoneNumber API.

", + "UpdatePredefinedAttribute": "

Updates a predefined attribute for the specified Amazon Connect instance.

", "UpdatePrompt": "

Updates a prompt.

", "UpdateQueueHoursOfOperation": "

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

Updates the hours of operation for the specified queue.

", "UpdateQueueMaxContacts": "

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

Updates the maximum number of contacts allowed in a queue before it is considered full.

", @@ -229,6 +240,7 @@ "UpdateUserHierarchyStructure": "

Updates the user hierarchy structure: add, remove, and rename user hierarchy levels.

", "UpdateUserIdentityInfo": "

Updates the identity information for the specified user.

We strongly recommend limiting who has the ability to invoke UpdateUserIdentityInfo. Someone with that ability can change the login credentials of other users by changing their email address. This poses a security risk to your organization. They can change the email address of a user to the attacker's email address, and then reset the password through email. For more information, see Best Practices for Security Profiles in the Amazon Connect Administrator Guide.

", "UpdateUserPhoneConfig": "

Updates the phone configuration settings for the specified user.

", + "UpdateUserProficiencies": "

Updates the properties associated with the proficiencies of a user.

", "UpdateUserRoutingProfile": "

Assigns the specified routing profile to the specified user.

", "UpdateUserSecurityProfiles": "

Assigns the specified security profiles to the specified user.

", "UpdateViewContent": "

Updates the view content of the given view identifier in the specified Amazon Connect instance.

It performs content validation if Status is set to SAVED and performs full content validation if Status is PUBLISHED. Note that the $SAVED alias' content will always be updated, but the $LATEST alias' content will only be updated if Status is PUBLISHED.

", @@ -256,6 +268,7 @@ "ContactFlowModule$Arn": "

The Amazon Resource Name (ARN).

", "ContactFlowModuleSummary$Arn": "

The Amazon Resource Name (ARN) of the flow module.

", "ContactFlowSummary$Arn": "

The Amazon Resource Name (ARN) of the flow.

", + "ContactSearchSummary$Arn": "

The Amazon Resource Name (ARN) of the contact

", "CreateAgentStatusResponse$AgentStatusARN": "

The Amazon Resource Name (ARN) of the agent status.

", "CreateContactFlowModuleResponse$Arn": "

The Amazon Resource Name (ARN) of the flow module.

", "CreateContactFlowResponse$ContactFlowArn": "

The Amazon Resource Name (ARN) of the flow.

", @@ -452,6 +465,12 @@ "UserIdentityInfoLite$FirstName": "

The user's first name.

" } }, + "AgentHierarchyGroups": { + "base": "

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

", + "refs": { + "SearchCriteria$AgentHierarchyGroups": "

The agent hierarchy groups

" + } + }, "AgentInfo": { "base": "

Information about the agent who accepted the contact.

", "refs": { @@ -475,11 +494,19 @@ "base": null, "refs": { "AgentInfo$Id": "

The identifier of the agent who accepted the contact.

", + "AgentResourceIdList$member": null, + "ContactSearchSummaryAgentInfo$Id": "

The identifier of the agent who accepted the contact.

", "GetFederationTokenResponse$UserId": "

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

", "MonitorContactRequest$UserId": "

The identifier of the user account.

", "TransferContactRequest$UserId": "

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

" } }, + "AgentResourceIdList": { + "base": null, + "refs": { + "SearchCriteria$AgentIds": "

The array of agent ids

" + } + }, "AgentStatus": { "base": "

Contains information about an agent status.

", "refs": { @@ -649,6 +676,7 @@ "GetCurrentMetricDataResponse$ApproximateTotalCount": "

The total count of the result, regardless of the current page size.

", "GetCurrentUserDataResponse$ApproximateTotalCount": "

The total count of the result, regardless of the current page size.

", "SearchHoursOfOperationsResponse$ApproximateTotalCount": "

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

", + "SearchPredefinedAttributesResponse$ApproximateTotalCount": "

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

", "SearchPromptsResponse$ApproximateTotalCount": "

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

", "SearchQueuesResponse$ApproximateTotalCount": "

The total number of queues which matched your search query.

", "SearchQuickConnectsResponse$ApproximateTotalCount": "

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

", @@ -770,6 +798,11 @@ "refs": { } }, + "AssociateUserProficienciesRequest": { + "base": null, + "refs": { + } + }, "AssociationId": { "base": null, "refs": { @@ -979,15 +1012,23 @@ "base": null, "refs": { "AgentContactReference$Channel": "

The channel of the contact.

", + "ChannelList$member": null, "ChannelToCountMap$key": null, "Channels$member": null, "Contact$Channel": "

How the contact reached your contact center.

", + "ContactSearchSummary$Channel": "

How the contact reached your contact center.

", "Dimensions$Channel": "

The channel used for grouping and filters.

", "MediaConcurrency$Channel": "

The channels that agents can handle in the Contact Control Panel (CCP).

", "RoutingProfileQueueConfigSummary$Channel": "

The channels this queue supports.

", "RoutingProfileQueueReference$Channel": "

The channels agents can handle in the Contact Control Panel (CCP) for this routing profile.

" } }, + "ChannelList": { + "base": null, + "refs": { + "SearchCriteria$Channels": "

The array of channels

" + } + }, "ChannelToCountMap": { "base": null, "refs": { @@ -1148,6 +1189,12 @@ "DescribeContactResponse$Contact": "

Information about the contact.

" } }, + "ContactAnalysis": { + "base": "

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

", + "refs": { + "SearchCriteria$ContactAnalysis": "

The ContactAnalysis object used in search criteria

" + } + }, "ContactDataRequest": { "base": "

Request object with information to create a contact.

", "refs": { @@ -1346,6 +1393,9 @@ "Contact$InitialContactId": "

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

", "Contact$PreviousContactId": "

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

", "Contact$RelatedContactId": "

The contactId that is related to this contact.

", + "ContactSearchSummary$Id": "

The identifier of the contact summary.

", + "ContactSearchSummary$InitialContactId": "

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

", + "ContactSearchSummary$PreviousContactId": "

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

", "CreateParticipantRequest$ContactId": "

The identifier of the contact in this instance of Amazon Connect. Only contacts in the CHAT channel are supported.

", "CreatePersistentContactAssociationRequest$InitialContactId": "

This is the contactId of the current contact that the CreatePersistentContactAssociation API is being called from.

", "CreatePersistentContactAssociationRequest$SourceContactId": "

The contactId from which a persistent chat session must be started.

", @@ -1392,6 +1442,7 @@ "UntagContactRequest$ContactId": "

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

", "UpdateContactAttributesRequest$InitialContactId": "

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

", "UpdateContactRequest$ContactId": "

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

", + "UpdateContactRoutingDataRequest$ContactId": "

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

", "UpdateContactScheduleRequest$ContactId": "

The identifier of the contact.

", "UpdateParticipantRoleConfigRequest$ContactId": "

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

" } @@ -1400,7 +1451,9 @@ "base": null, "refs": { "AgentContactReference$InitiationMethod": "

How the contact was initiated.

", - "Contact$InitiationMethod": "

Indicates how the contact was initiated.

" + "Contact$InitiationMethod": "

Indicates how the contact was initiated.

", + "ContactSearchSummary$InitiationMethod": "

Indicates how the contact was initiated.

", + "InitiationMethodList$member": null } }, "ContactNotFoundException": { @@ -1418,6 +1471,24 @@ "UpdateContactRequest$References": "

Well-formed data on contact, shown to agents on Contact Control Panel (CCP).

" } }, + "ContactSearchSummary": { + "base": "

Information of returned contact.

", + "refs": { + "Contacts$member": null + } + }, + "ContactSearchSummaryAgentInfo": { + "base": "

Information about the agent who accepted the contact.

", + "refs": { + "ContactSearchSummary$AgentInfo": "

Information about the agent who accepted the contact.

" + } + }, + "ContactSearchSummaryQueueInfo": { + "base": "

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

", + "refs": { + "ContactSearchSummary$QueueInfo": "

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

" + } + }, "ContactState": { "base": null, "refs": { @@ -1457,6 +1528,12 @@ "ContactTagMap$value": null } }, + "Contacts": { + "base": null, + "refs": { + "SearchContactsResponse$Contacts": "

Information about the contacts.

" + } + }, "Content": { "base": null, "refs": { @@ -1577,6 +1654,11 @@ "refs": { } }, + "CreatePredefinedAttributeRequest": { + "base": null, + "refs": { + } + }, "CreatePromptRequest": { "base": null, "refs": { @@ -1890,6 +1972,11 @@ "refs": { } }, + "DeletePredefinedAttributeRequest": { + "base": null, + "refs": { + } + }, "DeletePromptRequest": { "base": null, "refs": { @@ -2095,6 +2182,16 @@ "refs": { } }, + "DescribePredefinedAttributeRequest": { + "base": null, + "refs": { + } + }, + "DescribePredefinedAttributeResponse": { + "base": null, + "refs": { + } + }, "DescribePromptRequest": { "base": null, "refs": { @@ -2369,6 +2466,11 @@ "refs": { } }, + "DisassociateUserProficienciesRequest": { + "base": null, + "refs": { + } + }, "DisconnectReason": { "base": "

Contains details about why a contact was disconnected. Only Amazon Connect outbound campaigns can provide this field.

", "refs": { @@ -3123,6 +3225,7 @@ "DeleteUserHierarchyGroupRequest$HierarchyGroupId": "

The identifier of the hierarchy group.

", "DescribeUserHierarchyGroupRequest$HierarchyGroupId": "

The identifier of the hierarchy group.

", "HierarchyGroup$Id": "

The identifier of the hierarchy group.

", + "HierarchyGroupIdList$member": null, "HierarchyGroupSummary$Id": "

The identifier of the hierarchy group.

", "HierarchyGroupSummaryReference$Id": "

The unique identifier for the hierarchy group.

", "UpdateUserHierarchyGroupNameRequest$HierarchyGroupId": "

The identifier of the hierarchy group.

", @@ -3132,6 +3235,16 @@ "UserSearchSummary$HierarchyGroupId": "

The identifier of the user's hierarchy group.

" } }, + "HierarchyGroupIdList": { + "base": null, + "refs": { + "AgentHierarchyGroups$L1Ids": "

The identifiers for level 1 hierarchy groups.

", + "AgentHierarchyGroups$L2Ids": "

The identifiers for level 2 hierarchy groups.

", + "AgentHierarchyGroups$L3Ids": "

The identifiers for level 3 hierarchy groups.

", + "AgentHierarchyGroups$L4Ids": "

The identifiers for level 4 hierarchy groups.

", + "AgentHierarchyGroups$L5Ids": "

The identifiers for level 5 hierarchy groups.

" + } + }, "HierarchyGroupMatchType": { "base": null, "refs": { @@ -3415,6 +3528,12 @@ "InstanceSummary$InboundCallsEnabled": "

Whether inbound calls are enabled.

" } }, + "InitiationMethodList": { + "base": null, + "refs": { + "SearchCriteria$InitiationMethods": "

The array of initiaton methods

" + } + }, "Instance": { "base": "

The Amazon Connect instance.

", "refs": { @@ -3460,6 +3579,7 @@ "AssociateRoutingProfileQueuesRequest$InstanceId": "

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

", "AssociateSecurityKeyRequest$InstanceId": "

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

", "AssociateTrafficDistributionGroupUserRequest$InstanceId": "

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

", + "AssociateUserProficienciesRequest$InstanceId": "

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

", "BatchAssociateAnalyticsDataSetRequest$InstanceId": "

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

", "BatchDisassociateAnalyticsDataSetRequest$InstanceId": "

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

", "BatchGetFlowAssociationRequest$InstanceId": "

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

", @@ -3475,6 +3595,7 @@ "CreateIntegrationAssociationRequest$InstanceId": "

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

", "CreateParticipantRequest$InstanceId": "

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

", "CreatePersistentContactAssociationRequest$InstanceId": "

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

", + "CreatePredefinedAttributeRequest$InstanceId": "

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

", "CreatePromptRequest$InstanceId": "

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

", "CreateQueueRequest$InstanceId": "

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

", "CreateQuickConnectRequest$InstanceId": "

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

", @@ -3495,6 +3616,7 @@ "DeleteHoursOfOperationRequest$InstanceId": "

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

", "DeleteInstanceRequest$InstanceId": "

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

", "DeleteIntegrationAssociationRequest$InstanceId": "

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

", + "DeletePredefinedAttributeRequest$InstanceId": "

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

", "DeletePromptRequest$InstanceId": "

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

", "DeleteQueueRequest$InstanceId": "

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

", "DeleteQuickConnectRequest$InstanceId": "

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

", @@ -3516,6 +3638,7 @@ "DescribeInstanceAttributeRequest$InstanceId": "

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

", "DescribeInstanceRequest$InstanceId": "

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

", "DescribeInstanceStorageConfigRequest$InstanceId": "

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

", + "DescribePredefinedAttributeRequest$InstanceId": "

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

", "DescribePromptRequest$InstanceId": "

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

", "DescribeQueueRequest$InstanceId": "

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

", "DescribeQuickConnectRequest$InstanceId": "

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

", @@ -3538,6 +3661,7 @@ "DisassociateRoutingProfileQueuesRequest$InstanceId": "

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

", "DisassociateSecurityKeyRequest$InstanceId": "

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

", "DisassociateTrafficDistributionGroupUserRequest$InstanceId": "

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

", + "DisassociateUserProficienciesRequest$InstanceId": "

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

", "DismissUserContactRequest$InstanceId": "

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

", "GetContactAttributesRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", "GetCurrentMetricDataRequest$InstanceId": "

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

", @@ -3573,6 +3697,7 @@ "ListPhoneNumbersRequest$InstanceId": "

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

", "ListPhoneNumbersSummary$InstanceId": "

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

", "ListPhoneNumbersV2Request$InstanceId": "

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

", + "ListPredefinedAttributesRequest$InstanceId": "

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

", "ListPromptsRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", "ListQueueQuickConnectsRequest$InstanceId": "

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

", "ListQueuesRequest$InstanceId": "

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

", @@ -3588,6 +3713,7 @@ "ListTaskTemplatesRequest$InstanceId": "

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

", "ListUseCasesRequest$InstanceId": "

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

", "ListUserHierarchyGroupsRequest$InstanceId": "

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

", + "ListUserProficienciesRequest$InstanceId": "

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

", "ListUsersRequest$InstanceId": "

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

", "MonitorContactRequest$InstanceId": "

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

", "PauseContactRequest$InstanceId": "

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

", @@ -3597,7 +3723,9 @@ "ResumeContactRequest$InstanceId": "

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

", "RoutingProfile$InstanceId": "

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

", "SearchAvailablePhoneNumbersRequest$InstanceId": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. You must enter InstanceId or TargetArn.

", + "SearchContactsRequest$InstanceId": "

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

", "SearchHoursOfOperationsRequest$InstanceId": "

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

", + "SearchPredefinedAttributesRequest$InstanceId": "

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

", "SearchPromptsRequest$InstanceId": "

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

", "SearchQueuesRequest$InstanceId": "

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

", "SearchQuickConnectsRequest$InstanceId": "

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

", @@ -3631,6 +3759,7 @@ "UpdateContactFlowModuleMetadataRequest$InstanceId": "

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

", "UpdateContactFlowNameRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", "UpdateContactRequest$InstanceId": "

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

", + "UpdateContactRoutingDataRequest$InstanceId": "

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

", "UpdateContactScheduleRequest$InstanceId": "

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

", "UpdateEvaluationFormRequest$InstanceId": "

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

", "UpdateHoursOfOperationRequest$InstanceId": "

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

", @@ -3638,6 +3767,7 @@ "UpdateInstanceStorageConfigRequest$InstanceId": "

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

", "UpdateParticipantRoleConfigRequest$InstanceId": "

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

", "UpdatePhoneNumberRequest$InstanceId": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. You must enter InstanceId or TargetArn.

", + "UpdatePredefinedAttributeRequest$InstanceId": "

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

", "UpdatePromptRequest$InstanceId": "

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

", "UpdateQueueHoursOfOperationRequest$InstanceId": "

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

", "UpdateQueueMaxContactsRequest$InstanceId": "

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

", @@ -3660,6 +3790,7 @@ "UpdateUserHierarchyStructureRequest$InstanceId": "

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

", "UpdateUserIdentityInfoRequest$InstanceId": "

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

", "UpdateUserPhoneConfigRequest$InstanceId": "

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

", + "UpdateUserProficienciesRequest$InstanceId": "

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

", "UpdateUserRoutingProfileRequest$InstanceId": "

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

", "UpdateUserSecurityProfilesRequest$InstanceId": "

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

" } @@ -3858,7 +3989,9 @@ "ListRealtimeContactAnalysisSegmentsV2Request$NextToken": "

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.

", "ListRealtimeContactAnalysisSegmentsV2Response$NextToken": "

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

", "SearchAvailablePhoneNumbersRequest$NextToken": "

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.

", - "SearchAvailablePhoneNumbersResponse$NextToken": "

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

" + "SearchAvailablePhoneNumbersResponse$NextToken": "

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

", + "SearchContactsRequest$NextToken": "

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.

", + "SearchContactsResponse$NextToken": "

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

" } }, "LexBot": { @@ -4145,6 +4278,16 @@ "refs": { } }, + "ListPredefinedAttributesRequest": { + "base": null, + "refs": { + } + }, + "ListPredefinedAttributesResponse": { + "base": null, + "refs": { + } + }, "ListPromptsRequest": { "base": null, "refs": { @@ -4325,6 +4468,16 @@ "refs": { } }, + "ListUserProficienciesRequest": { + "base": null, + "refs": { + } + }, + "ListUserProficienciesResponse": { + "base": null, + "refs": { + } + }, "ListUsersRequest": { "base": null, "refs": { @@ -4383,12 +4536,16 @@ "ListEvaluationFormVersionsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListEvaluationFormsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListIntegrationAssociationsRequest$MaxResults": "

The maximum number of results to return per page.

", + "ListPredefinedAttributesRequest$MaxResults": "

The maximum number of results to return per page.

", "ListQueueQuickConnectsRequest$MaxResults": "

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

", "ListRealtimeContactAnalysisSegmentsV2Request$MaxResults": "

The maximum number of results to return per page.

", "ListRoutingProfileQueuesRequest$MaxResults": "

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

", "ListTaskTemplatesRequest$MaxResults": "

The maximum number of results to return per page.

It is not expected that you set this.

", "ListUseCasesRequest$MaxResults": "

The maximum number of results to return per page.

", + "ListUserProficienciesRequest$MaxResults": "

The maximum number of results to return per page.

", + "SearchContactsRequest$MaxResults": "

The maximum number of results to return per page.

", "SearchHoursOfOperationsRequest$MaxResults": "

The maximum number of results to return per page.

", + "SearchPredefinedAttributesRequest$MaxResults": "

The maximum number of results to return per page.

", "SearchPromptsRequest$MaxResults": "

The maximum number of results to return per page.

", "SearchQueuesRequest$MaxResults": "

The maximum number of results to return per page.

", "SearchQuickConnectsRequest$MaxResults": "

The maximum number of results to return per page.

", @@ -4710,6 +4867,8 @@ "ListLexBotsResponse$NextToken": "

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

", "ListPhoneNumbersRequest$NextToken": "

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.

", "ListPhoneNumbersResponse$NextToken": "

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

", + "ListPredefinedAttributesRequest$NextToken": "

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.

", + "ListPredefinedAttributesResponse$NextToken": "

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

", "ListPromptsRequest$NextToken": "

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.

", "ListPromptsResponse$NextToken": "

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

", "ListQueueQuickConnectsRequest$NextToken": "

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.

", @@ -4742,6 +4901,8 @@ "ListUseCasesResponse$NextToken": "

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

", "ListUserHierarchyGroupsRequest$NextToken": "

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.

", "ListUserHierarchyGroupsResponse$NextToken": "

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

", + "ListUserProficienciesRequest$NextToken": "

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.

", + "ListUserProficienciesResponse$NextToken": "

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

", "ListUsersRequest$NextToken": "

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.

", "ListUsersResponse$NextToken": "

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

" } @@ -4753,6 +4914,8 @@ "GetMetricDataV2Response$NextToken": "

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

", "SearchHoursOfOperationsRequest$NextToken": "

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.

", "SearchHoursOfOperationsResponse$NextToken": "

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

", + "SearchPredefinedAttributesRequest$NextToken": "

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.

", + "SearchPredefinedAttributesResponse$NextToken": "

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.

", "SearchPromptsRequest$NextToken": "

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.

", "SearchPromptsResponse$NextToken": "

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

", "SearchQueuesRequest$NextToken": "

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.

", @@ -4896,7 +5059,8 @@ "ParticipantDetailsToAdd$ParticipantRole": "

The role of the participant being added.

", "RealTimeContactAnalysisSegmentAttachments$ParticipantRole": "

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

", "RealTimeContactAnalysisSegmentEvent$ParticipantRole": "

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

", - "RealTimeContactAnalysisSegmentTranscript$ParticipantRole": "

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

" + "RealTimeContactAnalysisSegmentTranscript$ParticipantRole": "

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

", + "TranscriptCriteria$ParticipantRole": "

The participant role in a transcript

" } }, "ParticipantTimerAction": { @@ -5119,6 +5283,80 @@ "UserPhoneConfig$PhoneType": "

The phone type.

" } }, + "PredefinedAttribute": { + "base": "

Information about a predefined attribute.

", + "refs": { + "DescribePredefinedAttributeResponse$PredefinedAttribute": "

Information about the predefined attribute.

", + "PredefinedAttributeSearchSummaryList$member": null + } + }, + "PredefinedAttributeName": { + "base": null, + "refs": { + "CreatePredefinedAttributeRequest$Name": "

The name of the predefined attribute.

", + "DeletePredefinedAttributeRequest$Name": "

The name of the predefined attribute.

", + "DescribePredefinedAttributeRequest$Name": "

The name of the predefined attribute.

", + "PredefinedAttribute$Name": "

The name of the predefined attribute.

", + "PredefinedAttributeSummary$Name": "

The name of the predefined attribute.

", + "UpdatePredefinedAttributeRequest$Name": "

The name of the predefined attribute.

", + "UserProficiency$AttributeName": "

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

", + "UserProficiencyDisassociate$AttributeName": "

The name of user's proficiency.

" + } + }, + "PredefinedAttributeSearchConditionList": { + "base": null, + "refs": { + "PredefinedAttributeSearchCriteria$OrConditions": "

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

", + "PredefinedAttributeSearchCriteria$AndConditions": "

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

" + } + }, + "PredefinedAttributeSearchCriteria": { + "base": "

The search criteria to be used to return predefined attributes.

", + "refs": { + "PredefinedAttributeSearchConditionList$member": null, + "SearchPredefinedAttributesRequest$SearchCriteria": "

The search criteria to be used to return predefined attributes.

" + } + }, + "PredefinedAttributeSearchSummaryList": { + "base": null, + "refs": { + "SearchPredefinedAttributesResponse$PredefinedAttributes": "

Predefined attributes matched by the search criteria.

" + } + }, + "PredefinedAttributeStringValue": { + "base": null, + "refs": { + "PredefinedAttributeStringValuesList$member": null, + "UserProficiency$AttributeValue": "

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

", + "UserProficiencyDisassociate$AttributeValue": "

The value of user's proficiency.

" + } + }, + "PredefinedAttributeStringValuesList": { + "base": null, + "refs": { + "PredefinedAttributeValues$StringList": "

Predefined attribute values of type string list.

" + } + }, + "PredefinedAttributeSummary": { + "base": "

Summary of a predefined attribute.

", + "refs": { + "PredefinedAttributeSummaryList$member": null + } + }, + "PredefinedAttributeSummaryList": { + "base": null, + "refs": { + "ListPredefinedAttributesResponse$PredefinedAttributeSummaryList": "

Summary of the predefined attributes.

" + } + }, + "PredefinedAttributeValues": { + "base": "

Information about values of a predefined attribute.

", + "refs": { + "CreatePredefinedAttributeRequest$Values": "

The values of the predefined attribute.

", + "PredefinedAttribute$Values": "

The values of the predefined attribute.

", + "UpdatePredefinedAttributeRequest$Values": "

The values of the predefined attribute.

" + } + }, "Prefix": { "base": null, "refs": { @@ -5152,6 +5390,12 @@ "InvalidContactFlowModuleException$Problems": null } }, + "ProficiencyLevel": { + "base": null, + "refs": { + "UserProficiency$Level": "

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

" + } + }, "Prompt": { "base": "

Information about a prompt.

", "refs": { @@ -5283,6 +5527,7 @@ "refs": { "AssociateQueueQuickConnectsRequest$QueueId": "

The identifier for the queue.

", "ContactDataRequest$QueueId": "

The identifier of the queue associated with the Amazon Connect instance in which contacts that are created will be queued.

", + "ContactSearchSummaryQueueInfo$Id": "

The unique identifier for the queue.

", "CreateQueueResponse$QueueId": "

The identifier for the queue.

", "CreateRoutingProfileRequest$DefaultOutboundQueueId": "

The default outbound queue for the routing profile.

", "DeleteQueueRequest$QueueId": "

The identifier for the queue.

", @@ -5290,6 +5535,7 @@ "DisassociateQueueQuickConnectsRequest$QueueId": "

The identifier for the queue.

", "ListQueueQuickConnectsRequest$QueueId": "

The identifier for the queue.

", "Queue$QueueId": "

The identifier for the queue.

", + "QueueIdList$member": null, "QueueInfo$Id": "

The unique identifier for the queue.

", "QueueQuickConnectConfig$QueueId": "

The identifier for the queue.

", "QueueReference$Id": "

The identifier of the queue.

", @@ -5308,6 +5554,12 @@ "UpdateRoutingProfileDefaultOutboundQueueRequest$DefaultOutboundQueueId": "

The identifier for the default outbound queue.

" } }, + "QueueIdList": { + "base": null, + "refs": { + "SearchCriteria$QueueIds": "

The array of queue ids.

" + } + }, "QueueInfo": { "base": "

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

", "refs": { @@ -5329,6 +5581,13 @@ "RoutingProfileQueueConfigSummary$QueueName": "

The name of the queue.

" } }, + "QueuePriority": { + "base": null, + "refs": { + "Contact$QueuePriority": "

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

", + "UpdateContactRoutingDataRequest$QueuePriority": "

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.

" + } + }, "QueueQuickConnectConfig": { "base": "

Contains information about a queue for a quick connect. The flow must be of type Transfer to Queue.

", "refs": { @@ -5387,6 +5646,13 @@ "ListQueuesResponse$QueueSummaryList": "

Information about the queues.

" } }, + "QueueTimeAdjustmentSeconds": { + "base": null, + "refs": { + "Contact$QueueTimeAdjustmentSeconds": "

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

", + "UpdateContactRoutingDataRequest$QueueTimeAdjustmentSeconds": "

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.

" + } + }, "QueueType": { "base": null, "refs": { @@ -5837,6 +6103,9 @@ "ListRoutingProfileQueuesResponse$LastModifiedRegion": "

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

", "ListSecurityProfileApplicationsResponse$LastModifiedRegion": "

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

", "ListSecurityProfilePermissionsResponse$LastModifiedRegion": "

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

", + "ListUserProficienciesResponse$LastModifiedRegion": "

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

", + "PredefinedAttribute$LastModifiedRegion": "

Last modified region.

", + "PredefinedAttributeSummary$LastModifiedRegion": "

Last modified region.

", "Prompt$LastModifiedRegion": "

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

", "PromptSummary$LastModifiedRegion": "

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

", "Queue$LastModifiedRegion": "

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

", @@ -5994,6 +6263,19 @@ "refs": { } }, + "RoutingExpression": { + "base": null, + "refs": { + "Dimensions$RoutingStepExpression": "

The expression of a step in a routing criteria.

", + "RoutingExpressions$member": null + } + }, + "RoutingExpressions": { + "base": null, + "refs": { + "Filters$RoutingStepExpressions": "

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

" + } + }, "RoutingProfile": { "base": "

Contains information about a routing profile.

", "refs": { @@ -6233,6 +6515,42 @@ "refs": { } }, + "SearchContactsMatchType": { + "base": null, + "refs": { + "SearchableContactAttributes$MatchType": "

The match type of multiple searchable contact attributes criteria.

", + "Transcript$MatchType": "

The match type of multiple transcript criteira

", + "TranscriptCriteria$MatchType": "

The match type of search texts in a transcript criteria.

" + } + }, + "SearchContactsRequest": { + "base": null, + "refs": { + } + }, + "SearchContactsResponse": { + "base": null, + "refs": { + } + }, + "SearchContactsTimeRange": { + "base": "

A structure of time range that you want to search results

", + "refs": { + "SearchContactsRequest$TimeRange": "

Time range that you want to search results

" + } + }, + "SearchContactsTimeRangeType": { + "base": null, + "refs": { + "SearchContactsTimeRange$Type": "

The type of timestamp to search

" + } + }, + "SearchCriteria": { + "base": "

A structure of search criteria to be used to return contacts

", + "refs": { + "SearchContactsRequest$SearchCriteria": "

The search criteria to be used to return contacts.

" + } + }, "SearchHoursOfOperationsRequest": { "base": null, "refs": { @@ -6243,6 +6561,16 @@ "refs": { } }, + "SearchPredefinedAttributesRequest": { + "base": null, + "refs": { + } + }, + "SearchPredefinedAttributesResponse": { + "base": null, + "refs": { + } + }, "SearchPromptsRequest": { "base": null, "refs": { @@ -6303,6 +6631,18 @@ "refs": { } }, + "SearchText": { + "base": null, + "refs": { + "SearchTextList$member": null + } + }, + "SearchTextList": { + "base": null, + "refs": { + "TranscriptCriteria$SearchText": "

The words or phrases used to search within a transcript.

" + } + }, "SearchUsersRequest": { "base": null, "refs": { @@ -6323,6 +6663,42 @@ "refs": { } }, + "SearchableContactAttributeKey": { + "base": null, + "refs": { + "SearchableContactAttributesCriteria$Key": "

The searchable contact attribute key

" + } + }, + "SearchableContactAttributeValue": { + "base": null, + "refs": { + "SearchableContactAttributeValueList$member": null + } + }, + "SearchableContactAttributeValueList": { + "base": null, + "refs": { + "SearchableContactAttributesCriteria$Values": "

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

" + } + }, + "SearchableContactAttributes": { + "base": "

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

", + "refs": { + "SearchCriteria$SearchableContactAttributes": "

The SearchableContactAttributes object used in search criteria

" + } + }, + "SearchableContactAttributesCriteria": { + "base": "

The criteria of searchable contact attributes.

", + "refs": { + "SearchableContactAttributesCriteriaList$member": null + } + }, + "SearchableContactAttributesCriteriaList": { + "base": null, + "refs": { + "SearchableContactAttributes$Criteria": "

The array of searhale contact attribute criteria

" + } + }, "SearchableQueueType": { "base": null, "refs": { @@ -6551,10 +6927,23 @@ "GetTaskTemplateRequest$SnapshotVersion": "

The system generated version of a task template that is associated with a task, when the task is created.

" } }, + "Sort": { + "base": "

A structure that defines the sort by and a sort order

", + "refs": { + "SearchContactsRequest$Sort": "

Specifies a field to sort by and a sort order

" + } + }, "SortOrder": { "base": null, "refs": { - "CurrentMetricSortCriteria$SortOrder": "

The way to sort.

" + "CurrentMetricSortCriteria$SortOrder": "

The way to sort.

", + "Sort$Order": "

An ascending or descending sort.

" + } + }, + "SortableFieldName": { + "base": null, + "refs": { + "Sort$FieldName": "

The name of the field on which to sort.

" } }, "SourceApplicationName": { @@ -6728,9 +7117,10 @@ } }, "StringCondition": { - "base": "

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

", + "base": "

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

The currently supported values for FieldName are name and description.

", "refs": { "HoursOfOperationSearchCriteria$StringCondition": "

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

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

", + "PredefinedAttributeSearchCriteria$StringCondition": null, "PromptSearchCriteria$StringCondition": "

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

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

", "QueueSearchCriteria$StringCondition": "

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

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

", "QuickConnectSearchCriteria$StringCondition": "

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

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

", @@ -7209,8 +7599,11 @@ "ListRoutingProfileQueuesResponse$LastModifiedTime": "

The timestamp when this resource was last modified.

", "ListSecurityProfileApplicationsResponse$LastModifiedTime": "

The timestamp when this resource was last modified.

", "ListSecurityProfilePermissionsResponse$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "ListUserProficienciesResponse$LastModifiedTime": "

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

", "MetricInterval$StartTime": "

The timestamp, in UNIX Epoch time format. Start time is based on the interval period selected.

", "MetricInterval$EndTime": "

The timestamp, in UNIX Epoch time format. End time is based on the interval period selected. For example, If IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime in the API request differs by 1 day, then 48 results are returned in the response. Each result is aggregated by the 30 minutes period, with each StartTime and EndTime differing by 30 minutes.

", + "PredefinedAttribute$LastModifiedTime": "

Last modified time.

", + "PredefinedAttributeSummary$LastModifiedTime": "

Last modified time.

", "Prompt$LastModifiedTime": "

The timestamp when this resource was last modified.

", "PromptSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", "Queue$LastModifiedTime": "

The timestamp when this resource was last modified.

", @@ -7223,6 +7616,8 @@ "Rule$LastUpdatedTime": "

The timestamp for the when the rule was last updated.

", "RuleSummary$CreatedTime": "

The timestamp for when the rule was created.

", "RuleSummary$LastUpdatedTime": "

The timestamp for when the rule was last updated.

", + "SearchContactsTimeRange$StartTime": "

The start time of the time range.

", + "SearchContactsTimeRange$EndTime": "

The end time of the time range.

", "SecurityProfile$LastModifiedTime": "

The timestamp when this resource was last modified.

", "SecurityProfileSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", "StartTaskContactRequest$ScheduledTime": "

The timestamp, in Unix Epoch seconds format, at which to start running the inbound flow. The scheduled time cannot be in the past. It must be within up to 6 days in future.

", @@ -7238,6 +7633,12 @@ "refs": { } }, + "TotalCount": { + "base": null, + "refs": { + "SearchContactsResponse$TotalCount": "

The total number of contacts which matched your search query.

" + } + }, "TotalPauseCount": { "base": null, "refs": { @@ -7323,6 +7724,24 @@ "StartOutboundVoiceContactRequest$TrafficType": "

Denotes the class of traffic. Calls with different traffic types are handled differently by Amazon Connect. The default value is GENERAL. Use CAMPAIGN if EnableAnswerMachineDetection is set to true. For all other cases, use GENERAL.

" } }, + "Transcript": { + "base": "

The transcript object used to search results.

", + "refs": { + "ContactAnalysis$Transcript": "

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

" + } + }, + "TranscriptCriteria": { + "base": "

The transcript criteria used to search

", + "refs": { + "TranscriptCriteriaList$member": null + } + }, + "TranscriptCriteriaList": { + "base": null, + "refs": { + "Transcript$Criteria": "

The array of transcript search criteria

" + } + }, "TransferContactRequest": { "base": null, "refs": { @@ -7464,6 +7883,16 @@ "refs": { } }, + "UpdateContactRoutingDataRequest": { + "base": null, + "refs": { + } + }, + "UpdateContactRoutingDataResponse": { + "base": null, + "refs": { + } + }, "UpdateContactScheduleRequest": { "base": null, "refs": { @@ -7536,6 +7965,11 @@ "refs": { } }, + "UpdatePredefinedAttributeRequest": { + "base": null, + "refs": { + } + }, "UpdatePromptRequest": { "base": null, "refs": { @@ -7667,6 +8101,11 @@ "refs": { } }, + "UpdateUserProficienciesRequest": { + "base": null, + "refs": { + } + }, "UpdateUserRoutingProfileRequest": { "base": null, "refs": { @@ -7773,16 +8212,20 @@ "refs": { "AgentsMinOneMaxHundred$member": null, "AssociateTrafficDistributionGroupUserRequest$UserId": "

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

", + "AssociateUserProficienciesRequest$UserId": "

The identifier of the user account.

", "CreateUserResponse$UserId": "

The identifier of the user account.

", "DeleteUserRequest$UserId": "

The identifier of the user.

", "DescribeUserRequest$UserId": "

The identifier of the user account.

", "DisassociateTrafficDistributionGroupUserRequest$UserId": "

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

", + "DisassociateUserProficienciesRequest$UserId": "

The identifier of the user account.

", "DismissUserContactRequest$UserId": "

The identifier of the user account.

", + "ListUserProficienciesRequest$UserId": "

The identifier of the user account.

", "PutUserStatusRequest$UserId": "

The identifier of the user.

", "TrafficDistributionGroupUserSummary$UserId": "

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

", "UpdateUserHierarchyRequest$UserId": "

The identifier of the user account.

", "UpdateUserIdentityInfoRequest$UserId": "

The identifier of the user account.

", "UpdateUserPhoneConfigRequest$UserId": "

The identifier of the user account.

", + "UpdateUserProficienciesRequest$UserId": "

The identifier of the user account.

", "UpdateUserRoutingProfileRequest$UserId": "

The identifier of the user account.

", "UpdateUserSecurityProfilesRequest$UserId": "

The identifier of the user account.

", "User$Id": "

The identifier of the user account.

", @@ -7827,6 +8270,32 @@ "UserSearchSummary$PhoneConfig": null } }, + "UserProficiency": { + "base": "

Information about proficiency of a user.

", + "refs": { + "UserProficiencyList$member": null + } + }, + "UserProficiencyDisassociate": { + "base": "

Information about proficiency to be disassociated from the user.

", + "refs": { + "UserProficiencyDisassociateList$member": null + } + }, + "UserProficiencyDisassociateList": { + "base": null, + "refs": { + "DisassociateUserProficienciesRequest$UserProficiencies": "

The proficiencies to disassociate from the user.

" + } + }, + "UserProficiencyList": { + "base": null, + "refs": { + "AssociateUserProficienciesRequest$UserProficiencies": "

The proficiencies to associate with the user.

", + "ListUserProficienciesResponse$UserProficiencyList": "

Information about the user proficiencies.

", + "UpdateUserProficienciesRequest$UserProficiencies": "

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

" + } + }, "UserQuickConnectConfig": { "base": "

Contains information about the quick connect configuration settings for a user. The contact flow must be of type Transfer to Agent.

", "refs": { @@ -8220,6 +8689,11 @@ "Contact$LastPausedTimestamp": "

The timestamp when the contact was last paused.

", "Contact$LastResumedTimestamp": "

The timestamp when the contact was last resumed.

", "Contact$ScheduledTimestamp": "

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

", + "ContactSearchSummary$InitiationTimestamp": "

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

", + "ContactSearchSummary$DisconnectTimestamp": "

The timestamp when the customer endpoint disconnected from Amazon Connect.

", + "ContactSearchSummary$ScheduledTimestamp": "

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

", + "ContactSearchSummaryAgentInfo$ConnectedToAgentTimestamp": "

The timestamp when the contact was connected to the agent.

", + "ContactSearchSummaryQueueInfo$EnqueueTimestamp": "

The timestamp when the contact was added to the queue.

", "Credentials$AccessTokenExpiration": "

A token generated with an expiration time for the session a user is logged in to Amazon Connect.

", "Credentials$RefreshTokenExpiration": "

Renews the expiration timer for a generated token.

", "GetCurrentMetricDataResponse$DataSnapshotTime": "

The time at which the metrics were retrieved and cached for pagination.

", diff --git a/models/apis/connect/2017-08-08/paginators-1.json b/models/apis/connect/2017-08-08/paginators-1.json index 71ebb5271b..acbd137bca 100644 --- a/models/apis/connect/2017-08-08/paginators-1.json +++ b/models/apis/connect/2017-08-08/paginators-1.json @@ -138,6 +138,12 @@ "output_token": "NextToken", "result_key": "ListPhoneNumbersSummaryList" }, + "ListPredefinedAttributes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PredefinedAttributeSummaryList" + }, "ListPrompts": { "input_token": "NextToken", "limit_key": "MaxResults", @@ -255,6 +261,16 @@ "output_token": "NextToken", "result_key": "UserHierarchyGroupSummaryList" }, + "ListUserProficiencies": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "non_aggregate_keys": [ + "LastModifiedTime", + "LastModifiedRegion" + ], + "output_token": "NextToken", + "result_key": "UserProficiencyList" + }, "ListUsers": { "input_token": "NextToken", "limit_key": "MaxResults", @@ -279,6 +295,15 @@ "output_token": "NextToken", "result_key": "AvailableNumbersList" }, + "SearchContacts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "non_aggregate_keys": [ + "TotalCount" + ], + "output_token": "NextToken", + "result_key": "Contacts" + }, "SearchHoursOfOperations": { "input_token": "NextToken", "limit_key": "MaxResults", @@ -288,6 +313,15 @@ "output_token": "NextToken", "result_key": "HoursOfOperations" }, + "SearchPredefinedAttributes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "non_aggregate_keys": [ + "ApproximateTotalCount" + ], + "output_token": "NextToken", + "result_key": "PredefinedAttributes" + }, "SearchPrompts": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/apis/medialive/2017-10-14/api-2.json b/models/apis/medialive/2017-10-14/api-2.json index 1b0a3ed80c..658008edd9 100644 --- a/models/apis/medialive/2017-10-14/api-2.json +++ b/models/apis/medialive/2017-10-14/api-2.json @@ -8382,6 +8382,10 @@ "MediaconnectSettings": { "shape": "InputDeviceMediaConnectConfigurableSettings", "locationName": "mediaconnectSettings" + }, + "AudioChannelPairs": { + "shape": "__listOfInputDeviceConfigurableAudioChannelPairConfig", + "locationName": "audioChannelPairs" } } }, @@ -8697,6 +8701,10 @@ "MediaconnectSettings": { "shape": "InputDeviceMediaConnectSettings", "locationName": "mediaconnectSettings" + }, + "AudioChannelPairs": { + "shape": "__listOfInputDeviceUhdAudioChannelPairConfig", + "locationName": "audioChannelPairs" } } }, @@ -14921,6 +14929,70 @@ }, "__timestamp": { "type": "timestamp" + }, + "InputDeviceConfigurableAudioChannelPairConfig": { + "type": "structure", + "members": { + "Id": { + "shape": "__integer", + "locationName": "id" + }, + "Profile": { + "shape": "InputDeviceConfigurableAudioChannelPairProfile", + "locationName": "profile" + } + } + }, + "InputDeviceConfigurableAudioChannelPairProfile": { + "type": "string", + "enum": [ + "DISABLED", + "VBR-AAC_HHE-16000", + "VBR-AAC_HE-64000", + "VBR-AAC_LC-128000", + "CBR-AAC_HQ-192000", + "CBR-AAC_HQ-256000", + "CBR-AAC_HQ-384000", + "CBR-AAC_HQ-512000" + ] + }, + "InputDeviceUhdAudioChannelPairConfig": { + "type": "structure", + "members": { + "Id": { + "shape": "__integer", + "locationName": "id" + }, + "Profile": { + "shape": "InputDeviceUhdAudioChannelPairProfile", + "locationName": "profile" + } + } + }, + "InputDeviceUhdAudioChannelPairProfile": { + "type": "string", + "enum": [ + "DISABLED", + "VBR-AAC_HHE-16000", + "VBR-AAC_HE-64000", + "VBR-AAC_LC-128000", + "CBR-AAC_HQ-192000", + "CBR-AAC_HQ-256000", + "CBR-AAC_HQ-384000", + "CBR-AAC_HQ-512000" + ] + }, + "__listOfInputDeviceConfigurableAudioChannelPairConfig": { + "type": "list", + "member": { + "shape": "InputDeviceConfigurableAudioChannelPairConfig" + } + }, + "__listOfInputDeviceUhdAudioChannelPairConfig": { + "type": "list", + "member": { + "shape": "InputDeviceUhdAudioChannelPairConfig" + } } } } diff --git a/models/apis/medialive/2017-10-14/docs-2.json b/models/apis/medialive/2017-10-14/docs-2.json index 6b20cd9ab4..4fe210fef5 100644 --- a/models/apis/medialive/2017-10-14/docs-2.json +++ b/models/apis/medialive/2017-10-14/docs-2.json @@ -665,7 +665,7 @@ "ColorCorrectionSettings": { "base": "Property of encoderSettings. Controls color conversion when you are using 3D LUT files to perform color conversion on video.", "refs": { - "EncoderSettings$ColorCorrectionSettings": "Color correction settings" + "EncoderSettings$ColorCorrectionSettings": "Color Correction Settings" } }, "ColorSpace": { @@ -3834,7 +3834,9 @@ "Reservation$Duration": "Lease duration, e.g. '12'", "VideoDescription$Height": "Output video height, in pixels. Must be an even number. For most codecs, you can leave this field and width blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required.", "VideoDescription$Width": "Output video width, in pixels. Must be an even number. For most codecs, you can leave this field and height blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required.", - "__listOf__integer$member": null + "__listOf__integer$member": null, + "InputDeviceConfigurableAudioChannelPairConfig$Id": "The ID for one audio pair configuration, a value from 1 to 8.", + "InputDeviceUhdAudioChannelPairConfig$Id": "The ID for one audio pair configuration, a value from 1 to 8." } }, "__integerMin0": { @@ -5061,6 +5063,42 @@ "MaintenanceCreateSettings$MaintenanceStartTime": "Choose the hour that maintenance will start. The chosen time is used for all future maintenance windows.", "MaintenanceUpdateSettings$MaintenanceStartTime": "Choose the hour that maintenance will start. The chosen time is used for all future maintenance windows." } + }, + "InputDeviceConfigurableAudioChannelPairConfig": { + "base": "One audio configuration that specifies the format for one audio pair that the device produces as output.", + "refs": { + "__listOfInputDeviceConfigurableAudioChannelPairConfig$member": null + } + }, + "InputDeviceConfigurableAudioChannelPairProfile": { + "base": "Property of InputDeviceConfigurableAudioChannelPairConfig, which configures one audio channel that the device produces.", + "refs": { + "InputDeviceConfigurableAudioChannelPairConfig$Profile": "The profile to set for one audio pair configuration. Choose an enumeration value. Each value describes one audio configuration using the format (rate control algorithm)-(codec)_(quality)-(bitrate in bytes). For example, CBR-AAC_HQ-192000. Or choose DISABLED, in which case the device won't produce audio for this pair." + } + }, + "InputDeviceUhdAudioChannelPairConfig": { + "base": "One audio configuration that specifies the format for one audio pair that the device produces as output.", + "refs": { + "__listOfInputDeviceUhdAudioChannelPairConfig$member": null + } + }, + "InputDeviceUhdAudioChannelPairProfile": { + "base": "Property of InputDeviceUhdAudioChannelPairConfig, which describes one audio channel that the device is configured to produce.", + "refs": { + "InputDeviceUhdAudioChannelPairConfig$Profile": "The profile for one audio pair configuration. This property describes one audio configuration in the format (rate control algorithm)-(codec)_(quality)-(bitrate in bytes). For example, CBR-AAC_HQ-192000. Or DISABLED, in which case the device won't produce audio for this pair." + } + }, + "__listOfInputDeviceConfigurableAudioChannelPairConfig": { + "base": null, + "refs": { + "InputDeviceConfigurableSettings$AudioChannelPairs": "An array of eight audio configurations, one for each audio pair in the source. Set up each audio configuration either to exclude the pair, or to format it and include it in the output from the device. This parameter applies only to UHD devices, and only when the device is configured as the source for a MediaConnect flow. For an HD device, you configure the audio by setting up audio selectors in the channel configuration." + } + }, + "__listOfInputDeviceUhdAudioChannelPairConfig": { + "base": null, + "refs": { + "InputDeviceUhdSettings$AudioChannelPairs": "An array of eight audio configurations, one for each audio pair in the source. Each audio configuration specifies either to exclude the pair, or to format it and include it in the output from the UHD device. Applies only when the device is configured as the source for a MediaConnect flow." + } } } } diff --git a/models/apis/rds-data/2018-08-01/api-2.json b/models/apis/rds-data/2018-08-01/api-2.json index 4c5464f5c4..f38b94d56c 100644 --- a/models/apis/rds-data/2018-08-01/api-2.json +++ b/models/apis/rds-data/2018-08-01/api-2.json @@ -22,12 +22,19 @@ "input":{"shape":"BatchExecuteStatementRequest"}, "output":{"shape":"BatchExecuteStatementResponse"}, "errors":[ + {"shape":"SecretsErrorException"}, + {"shape":"HttpEndpointNotEnabledException"}, + {"shape":"DatabaseErrorException"}, + {"shape":"DatabaseUnavailableException"}, + {"shape":"TransactionNotFoundException"}, + {"shape":"InvalidSecretException"}, + {"shape":"ServiceUnavailableError"}, + {"shape":"ForbiddenException"}, + {"shape":"DatabaseNotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"BadRequestException"}, {"shape":"StatementTimeoutException"}, - {"shape":"InternalServerErrorException"}, - {"shape":"ForbiddenException"}, - {"shape":"ServiceUnavailableError"} + {"shape":"InternalServerErrorException"} ] }, "BeginTransaction":{ @@ -40,12 +47,19 @@ "input":{"shape":"BeginTransactionRequest"}, "output":{"shape":"BeginTransactionResponse"}, "errors":[ + {"shape":"SecretsErrorException"}, + {"shape":"HttpEndpointNotEnabledException"}, + {"shape":"DatabaseErrorException"}, + {"shape":"DatabaseUnavailableException"}, + {"shape":"TransactionNotFoundException"}, + {"shape":"InvalidSecretException"}, + {"shape":"ServiceUnavailableError"}, + {"shape":"ForbiddenException"}, + {"shape":"DatabaseNotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"BadRequestException"}, {"shape":"StatementTimeoutException"}, - {"shape":"InternalServerErrorException"}, - {"shape":"ForbiddenException"}, - {"shape":"ServiceUnavailableError"} + {"shape":"InternalServerErrorException"} ] }, "CommitTransaction":{ @@ -58,12 +72,19 @@ "input":{"shape":"CommitTransactionRequest"}, "output":{"shape":"CommitTransactionResponse"}, "errors":[ + {"shape":"SecretsErrorException"}, + {"shape":"HttpEndpointNotEnabledException"}, + {"shape":"DatabaseErrorException"}, + {"shape":"DatabaseUnavailableException"}, + {"shape":"TransactionNotFoundException"}, + {"shape":"InvalidSecretException"}, + {"shape":"ServiceUnavailableError"}, + {"shape":"ForbiddenException"}, + {"shape":"DatabaseNotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"BadRequestException"}, {"shape":"StatementTimeoutException"}, {"shape":"InternalServerErrorException"}, - {"shape":"ForbiddenException"}, - {"shape":"ServiceUnavailableError"}, {"shape":"NotFoundException"} ] }, @@ -96,12 +117,20 @@ "input":{"shape":"ExecuteStatementRequest"}, "output":{"shape":"ExecuteStatementResponse"}, "errors":[ + {"shape":"SecretsErrorException"}, + {"shape":"HttpEndpointNotEnabledException"}, + {"shape":"DatabaseErrorException"}, + {"shape":"DatabaseUnavailableException"}, + {"shape":"TransactionNotFoundException"}, + {"shape":"InvalidSecretException"}, + {"shape":"ServiceUnavailableError"}, + {"shape":"ForbiddenException"}, + {"shape":"DatabaseNotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"BadRequestException"}, {"shape":"StatementTimeoutException"}, {"shape":"InternalServerErrorException"}, - {"shape":"ForbiddenException"}, - {"shape":"ServiceUnavailableError"} + {"shape":"UnsupportedResultException"} ] }, "RollbackTransaction":{ @@ -114,12 +143,19 @@ "input":{"shape":"RollbackTransactionRequest"}, "output":{"shape":"RollbackTransactionResponse"}, "errors":[ + {"shape":"SecretsErrorException"}, + {"shape":"HttpEndpointNotEnabledException"}, + {"shape":"DatabaseErrorException"}, + {"shape":"DatabaseUnavailableException"}, + {"shape":"TransactionNotFoundException"}, + {"shape":"InvalidSecretException"}, + {"shape":"ServiceUnavailableError"}, + {"shape":"ForbiddenException"}, + {"shape":"DatabaseNotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"BadRequestException"}, {"shape":"StatementTimeoutException"}, {"shape":"InternalServerErrorException"}, - {"shape":"ForbiddenException"}, - {"shape":"ServiceUnavailableError"}, {"shape":"NotFoundException"} ] } @@ -277,6 +313,36 @@ "transactionStatus":{"shape":"TransactionStatus"} } }, + "DatabaseErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DatabaseNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DatabaseUnavailableException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":504}, + "exception":true, + "fault":true + }, "DbName":{ "type":"string", "max":64, @@ -349,22 +415,10 @@ "Field":{ "type":"structure", "members":{ - "isNull":{ - "shape":"BoxedBoolean", - "box":true - }, - "booleanValue":{ - "shape":"BoxedBoolean", - "box":true - }, - "longValue":{ - "shape":"BoxedLong", - "box":true - }, - "doubleValue":{ - "shape":"BoxedDouble", - "box":true - }, + "isNull":{"shape":"BoxedBoolean"}, + "booleanValue":{"shape":"BoxedBoolean"}, + "longValue":{"shape":"BoxedLong"}, + "doubleValue":{"shape":"BoxedDouble"}, "stringValue":{"shape":"String"}, "blobValue":{"shape":"Blob"}, "arrayValue":{"shape":"ArrayValue"} @@ -387,6 +441,17 @@ "exception":true }, "FormattedSqlRecords":{"type":"string"}, + "HttpEndpointNotEnabledException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Id":{ "type":"string", "max":192, @@ -401,6 +466,17 @@ "exception":true, "fault":true }, + "InvalidSecretException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Long":{"type":"long"}, "LongArray":{ "type":"list", @@ -491,6 +567,17 @@ "type":"list", "member":{"shape":"Value"} }, + "SecretsErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ServiceUnavailableError":{ "type":"structure", "members":{ @@ -558,6 +645,17 @@ "attributes":{"shape":"ArrayValueList"} } }, + "TransactionNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "TransactionStatus":{ "type":"string", "max":128, @@ -574,6 +672,17 @@ "DECIMAL" ] }, + "UnsupportedResultException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "UpdateResult":{ "type":"structure", "members":{ @@ -587,30 +696,12 @@ "Value":{ "type":"structure", "members":{ - "isNull":{ - "shape":"BoxedBoolean", - "box":true - }, - "bitValue":{ - "shape":"BoxedBoolean", - "box":true - }, - "bigIntValue":{ - "shape":"BoxedLong", - "box":true - }, - "intValue":{ - "shape":"BoxedInteger", - "box":true - }, - "doubleValue":{ - "shape":"BoxedDouble", - "box":true - }, - "realValue":{ - "shape":"BoxedFloat", - "box":true - }, + "isNull":{"shape":"BoxedBoolean"}, + "bitValue":{"shape":"BoxedBoolean"}, + "bigIntValue":{"shape":"BoxedLong"}, + "intValue":{"shape":"BoxedInteger"}, + "doubleValue":{"shape":"BoxedDouble"}, + "realValue":{"shape":"BoxedFloat"}, "stringValue":{"shape":"String"}, "blobValue":{"shape":"Blob"}, "arrayValues":{"shape":"ArrayValueList"}, diff --git a/models/apis/rds-data/2018-08-01/docs-2.json b/models/apis/rds-data/2018-08-01/docs-2.json index 6ef95b3e21..8458ca608c 100644 --- a/models/apis/rds-data/2018-08-01/docs-2.json +++ b/models/apis/rds-data/2018-08-01/docs-2.json @@ -1,17 +1,17 @@ { "version": "2.0", - "service": "

Amazon RDS Data Service

Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora Serverless v1 DB cluster. To run these statements, you work with the Data Service API.

The Data Service API isn't supported on Amazon Aurora Serverless v2 DB clusters.

For more information about the Data Service API, see Using the Data API in the Amazon Aurora User Guide.

", + "service": "

RDS Data API

Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora DB cluster. To run these statements, you use the RDS Data API (Data API).

Data API is available with the following types of Aurora databases:

For more information about the Data API, see Using RDS Data API in the Amazon Aurora User Guide.

", "operations": { "BatchExecuteStatement": "

Runs a batch SQL statement over an array of data.

You can run bulk update and insert operations for multiple records using a DML statement with different parameter sets. Bulk operations can provide a significant performance improvement over individual insert and update operations.

If a call isn't part of a transaction because it doesn't include the transactionID parameter, changes that result from the call are committed automatically.

There isn't a fixed upper limit on the number of parameter sets. However, the maximum size of the HTTP request submitted through the Data API is 4 MiB. If the request exceeds this limit, the Data API returns an error and doesn't process the request. This 4-MiB limit includes the size of the HTTP headers and the JSON notation in the request. Thus, the number of parameter sets that you can include depends on a combination of factors, such as the size of the SQL statement and the size of each parameter set.

The response size limit is 1 MiB. If the call returns more than 1 MiB of response data, the call is terminated.

", "BeginTransaction": "

Starts a SQL transaction.

A transaction can run for a maximum of 24 hours. A transaction is terminated and rolled back automatically after 24 hours.

A transaction times out if no calls use its transaction ID in three minutes. If a transaction times out before it's committed, it's rolled back automatically.

DDL statements inside a transaction cause an implicit commit. We recommend that you run each DDL statement in a separate ExecuteStatement call with continueAfterTimeout enabled.

", "CommitTransaction": "

Ends a SQL transaction started with the BeginTransaction operation and commits the changes.

", - "ExecuteSql": "

Runs one or more SQL statements.

This operation is deprecated. Use the BatchExecuteStatement or ExecuteStatement operation.

", + "ExecuteSql": "

Runs one or more SQL statements.

This operation isn't supported for Aurora PostgreSQL Serverless v2 and provisioned DB clusters, and for Aurora Serverless v1 DB clusters, the operation is deprecated. Use the BatchExecuteStatement or ExecuteStatement operation.

", "ExecuteStatement": "

Runs a SQL statement against a database.

If a call isn't part of a transaction because it doesn't include the transactionID parameter, changes that result from the call are committed automatically.

If the binary response data from the database is more than 1 MB, the call is terminated.

", "RollbackTransaction": "

Performs a rollback of a transaction. Rolling back a transaction cancels its changes.

" }, "shapes": { "AccessDeniedException": { - "base": "

You do not have sufficient access to perform this action.

", + "base": "

You don't have sufficient access to perform this action.

", "refs": { } }, @@ -53,7 +53,7 @@ } }, "BadRequestException": { - "base": "

There is an error in the call or in a SQL statement.

", + "base": "

There is an error in the call or in a SQL statement. (This error only appears in calls from Aurora Serverless v1 databases.)

", "refs": { } }, @@ -155,6 +155,21 @@ "refs": { } }, + "DatabaseErrorException": { + "base": "

There was an error in processing the SQL statement.

", + "refs": { + } + }, + "DatabaseNotFoundException": { + "base": "

The DB cluster doesn't have a DB instance.

", + "refs": { + } + }, + "DatabaseUnavailableException": { + "base": "

The writer instance in the DB cluster isn't available.

", + "refs": { + } + }, "DbName": { "base": null, "refs": { @@ -185,9 +200,16 @@ "refs": { "AccessDeniedException$message": null, "BadRequestException$message": "

The error message returned by this BadRequestException error.

", + "DatabaseErrorException$message": null, + "DatabaseNotFoundException$message": null, "ForbiddenException$message": "

The error message returned by this ForbiddenException error.

", + "HttpEndpointNotEnabledException$message": null, + "InvalidSecretException$message": null, "NotFoundException$message": "

The error message returned by this NotFoundException error.

", - "StatementTimeoutException$message": "

The error message returned by this StatementTimeoutException error.

" + "SecretsErrorException$message": null, + "StatementTimeoutException$message": "

The error message returned by this StatementTimeoutException error.

", + "TransactionNotFoundException$message": null, + "UnsupportedResultException$message": null } }, "ExecuteSqlRequest": { @@ -220,7 +242,7 @@ "FieldList": { "base": null, "refs": { - "ExecuteStatementResponse$generatedFields": "

Values for fields generated during a DML request.

 <note> <p>The <code>generatedFields</code> data isn't supported by Aurora PostgreSQL. To get the values of generated fields, use the <code>RETURNING</code> clause. For more information, see <a href="https://www.postgresql.org/docs/10/dml-returning.html">Returning Data From Modified Rows</a> in the PostgreSQL documentation.</p> </note> 
", + "ExecuteStatementResponse$generatedFields": "

Values for fields generated during a DML request.

The generatedFields data isn't supported by Aurora PostgreSQL. To get the values of generated fields, use the RETURNING clause. For more information, see Returning Data From Modified Rows in the PostgreSQL documentation.

", "SqlRecords$member": null, "UpdateResult$generatedFields": "

Values for fields generated during the request.

" } @@ -236,6 +258,11 @@ "ExecuteStatementResponse$formattedRecords": "

A string value that represents the result set of a SELECT statement in JSON format. This value is only present when the formatRecordsAs parameter is set to JSON.

The size limit for this field is currently 10 MB. If the JSON-formatted string representing the result set requires more than 10 MB, the call returns an error.

" } }, + "HttpEndpointNotEnabledException": { + "base": "

The HTTP endpoint for using RDS Data API isn't enabled for the DB cluster.

", + "refs": { + } + }, "Id": { "base": null, "refs": { @@ -261,6 +288,11 @@ "refs": { } }, + "InvalidSecretException": { + "base": "

The Secrets Manager secret used with the request isn't valid.

", + "refs": { + } + }, "Long": { "base": null, "refs": { @@ -357,8 +389,13 @@ "Record$values": "

The values returned in the record.

" } }, + "SecretsErrorException": { + "base": "

There was a problem with the Secrets Manager secret used with the request, caused by one of the following conditions:

", + "refs": { + } + }, "ServiceUnavailableError": { - "base": "

The service specified by the resourceArn parameter is not available.

", + "base": "

The service specified by the resourceArn parameter isn't available.

", "refs": { } }, @@ -396,7 +433,7 @@ } }, "SqlStatementResult": { - "base": "

The result of a SQL statement.

 <note> <p>This data structure is only used with the deprecated <code>ExecuteSql</code> operation. Use the <code>BatchExecuteStatement</code> or <code>ExecuteStatement</code> operation instead.</p> </note> 
", + "base": "

The result of a SQL statement.

This data structure is only used with the deprecated ExecuteSql operation. Use the BatchExecuteStatement or ExecuteStatement operation instead.

", "refs": { "SqlStatementResults$member": null } @@ -437,6 +474,11 @@ "Value$structValue": "

A value for a column of STRUCT data type.

" } }, + "TransactionNotFoundException": { + "base": "

The transaction ID wasn't found.

", + "refs": { + } + }, "TransactionStatus": { "base": null, "refs": { @@ -450,6 +492,11 @@ "SqlParameter$typeHint": "

A hint that specifies the correct object type for data type mapping. Possible values are as follows:

" } }, + "UnsupportedResultException": { + "base": "

There was a problem with the result because of one of the following conditions:

", + "refs": { + } + }, "UpdateResult": { "base": "

The response elements represent the results of an update.

", "refs": { @@ -463,7 +510,7 @@ } }, "Value": { - "base": "

Contains the value of a column.

 <note> <p>This data structure is only used with the deprecated <code>ExecuteSql</code> operation. Use the <code>BatchExecuteStatement</code> or <code>ExecuteStatement</code> operation instead.</p> </note> 
", + "base": "

Contains the value of a column.

This data structure is only used with the deprecated ExecuteSql operation. Use the BatchExecuteStatement or ExecuteStatement operation instead.

", "refs": { "ArrayValueList$member": null, "Row$member": null diff --git a/models/apis/rds-data/2018-08-01/endpoint-rule-set-1.json b/models/apis/rds-data/2018-08-01/endpoint-rule-set-1.json new file mode 100644 index 0000000000..7d6c158f34 --- /dev/null +++ b/models/apis/rds-data/2018-08-01/endpoint-rule-set-1.json @@ -0,0 +1,314 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rds-data-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rds-data-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rds-data.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://rds-data.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/models/apis/rds-data/2018-08-01/endpoint-tests-1.json b/models/apis/rds-data/2018-08-01/endpoint-tests-1.json new file mode 100644 index 0000000000..f359d909aa --- /dev/null +++ b/models/apis/rds-data/2018-08-01/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rds-data-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rds-data.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rds-data-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rds-data.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rds-data-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rds-data.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rds-data.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index 73ccd2fabb..cd525e11e2 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -1606,6 +1606,22 @@ {"shape":"InvalidDBInstanceStateFault"} ] }, + "DisableHttpEndpoint":{ + "name":"DisableHttpEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableHttpEndpointRequest"}, + "output":{ + "shape":"DisableHttpEndpointResponse", + "resultWrapper":"DisableHttpEndpointResult" + }, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ] + }, "DownloadDBLogFilePortion":{ "name":"DownloadDBLogFilePortion", "http":{ @@ -1622,6 +1638,22 @@ {"shape":"DBLogFileNotFoundFault"} ] }, + "EnableHttpEndpoint":{ + "name":"EnableHttpEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableHttpEndpointRequest"}, + "output":{ + "shape":"EnableHttpEndpointResponse", + "resultWrapper":"EnableHttpEndpointResult" + }, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ] + }, "FailoverDBCluster":{ "name":"FailoverDBCluster", "http":{ @@ -6297,6 +6329,20 @@ "min":1, "pattern":".*" }, + "DisableHttpEndpointRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"String"} + } + }, + "DisableHttpEndpointResponse":{ + "type":"structure", + "members":{ + "ResourceArn":{"shape":"String"}, + "HttpEndpointEnabled":{"shape":"Boolean"} + } + }, "DocLink":{ "type":"structure", "members":{ @@ -6402,6 +6448,20 @@ }, "exception":true }, + "EnableHttpEndpointRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"String"} + } + }, + "EnableHttpEndpointResponse":{ + "type":"structure", + "members":{ + "ResourceArn":{"shape":"String"}, + "HttpEndpointEnabled":{"shape":"Boolean"} + } + }, "EncryptionContextMap":{ "type":"map", "key":{"shape":"String"}, @@ -7245,6 +7305,17 @@ }, "exception":true }, + "InvalidResourceStateFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidResourceStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidRestoreFault":{ "type":"structure", "members":{ diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index aa6f29b82c..c2b69cb605 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -99,7 +99,9 @@ "DescribeSourceRegions": "

Returns a list of the source Amazon Web Services Regions where the current Amazon Web Services Region can create a read replica, copy a DB snapshot from, or replicate automated backups from.

Use this operation to determine whether cross-Region features are supported between other Regions and your current Region. This operation supports pagination.

To return information about the Regions that are enabled for your account, or all Regions, use the EC2 operation DescribeRegions. For more information, see DescribeRegions in the Amazon EC2 API Reference.

", "DescribeTenantDatabases": "

Describes the tenant databases in a DB instance that uses the multi-tenant configuration. Only RDS for Oracle CDB instances are supported.

", "DescribeValidDBInstanceModifications": "

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

This command doesn't apply to RDS Custom.

", + "DisableHttpEndpoint": "

Disables the HTTP endpoint for the specified DB cluster. Disabling this endpoint disables RDS Data API.

For more information, see Using RDS Data API in the Amazon Aurora User Guide.

This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB clusters. To disable the HTTP endpoint for Aurora Serverless v1 DB clusters, use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

", "DownloadDBLogFilePortion": "

Downloads all or a portion of the specified log file, up to 1 MB in size.

This command doesn't apply to RDS Custom.

", + "EnableHttpEndpoint": "

Enables the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.

When enabled, this endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the Aurora DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

For more information, see Using RDS Data API in the Amazon Aurora User Guide.

This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned DB clusters. To enable the HTTP endpoint for Aurora Serverless v1 DB clusters, use the EnableHttpEndpoint parameter of the ModifyDBCluster operation.

", "FailoverDBCluster": "

Forces a failover for a DB cluster.

For an Aurora DB cluster, failover for a DB cluster promotes one of the Aurora Replicas (read-only instances) in the DB cluster to be the primary DB instance (the cluster writer).

For a Multi-AZ DB cluster, failover for a DB cluster promotes one of the readable standby DB instances (read-only instances) in the DB cluster to be the primary DB instance (the cluster writer).

An Amazon Aurora DB cluster automatically fails over to an Aurora Replica, if one exists, when the primary DB instance fails. A Multi-AZ DB cluster automatically fails over to a readable standby DB instance when the primary DB instance fails.

To simulate a failure of a primary instance for testing, you can force a failover. Because each instance in a DB cluster has its own endpoint address, make sure to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

", "FailoverGlobalCluster": "

Promotes the specified secondary DB cluster to be the primary DB cluster in the global database cluster to fail over or switch over a global database. Switchover operations were previously called \"managed planned failovers.\"

Although this operation can be used either to fail over or to switch over a global database cluster, its intended use is for global database failover. To switch over a global database cluster, we recommend that you use the SwitchoverGlobalCluster operation instead.

How you use this operation depends on whether you are failing over or switching over your global database cluster:

About failing over and switching over

While failing over and switching over a global database cluster both change the primary DB cluster, you use these operations for different reasons:

", "ListTagsForResource": "

Lists all tags on an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

", @@ -490,7 +492,9 @@ "DescribeDBEngineVersionsMessage$DefaultOnly": "

Specifies whether to return only the default version of the specified engine or the engine and major version combination.

", "DescribeDBSnapshotsMessage$IncludeShared": "

Specifies whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

You can give an Amazon Web Services account permission to restore a manual DB snapshot from another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

This setting doesn't apply to RDS Custom.

", "DescribeDBSnapshotsMessage$IncludePublic": "

Specifies whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

This setting doesn't apply to RDS Custom.

", + "DisableHttpEndpointResponse$HttpEndpointEnabled": "

Indicates whether the HTTP endpoint is enabled or disabled for the DB cluster.

", "DownloadDBLogFilePortionDetails$AdditionalDataPending": "

A Boolean value that, if true, indicates there is more data to be downloaded.

", + "EnableHttpEndpointResponse$HttpEndpointEnabled": "

Indicates whether the HTTP endpoint is enabled or disabled for the DB cluster.

", "EventSubscription$Enabled": "

Specifies whether the subscription is enabled. True indicates the subscription is enabled.

", "FailoverState$IsDataLossAllowed": "

Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.

", "GlobalClusterMember$IsWriter": "

Indicates whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

", @@ -557,7 +561,7 @@ "CreateDBClusterMessage$StorageEncrypted": "

Specifies whether the DB cluster is encrypted.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

", "CreateDBClusterMessage$EnableIAMDatabaseAuthentication": "

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

For more information, see IAM Database Authentication in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters only

", "CreateDBClusterMessage$DeletionProtection": "

Specifies whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

", - "CreateDBClusterMessage$EnableHttpEndpoint": "

Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint is disabled.

When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database from inside the RDS console with the query editor.

For more information, see Using the Data API for Aurora Serverless v1 in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters only

", + "CreateDBClusterMessage$EnableHttpEndpoint": "

Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.

When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

RDS Data API is supported with the following DB clusters:

For more information, see Using RDS Data API in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters only

", "CreateDBClusterMessage$CopyTagsToSnapshot": "

Specifies whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

", "CreateDBClusterMessage$EnableGlobalWriteForwarding": "

Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.

You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.

Valid for Cluster Type: Aurora DB clusters only

", "CreateDBClusterMessage$PubliclyAccessible": "

Specifies whether the DB cluster is publicly accessible.

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

Valid for Cluster Type: Multi-AZ DB clusters only

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

", @@ -594,7 +598,7 @@ "DBCluster$MultiAZ": "

Indicates whether the DB cluster has instances in multiple Availability Zones.

", "DBCluster$IAMDatabaseAuthenticationEnabled": "

Indicates whether the mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

", "DBCluster$DeletionProtection": "

Indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled.

", - "DBCluster$HttpEndpointEnabled": "

Indicates whether the HTTP endpoint for an Aurora Serverless v1 DB cluster is enabled.

When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database from inside the RDS console with the query editor.

For more information, see Using the Data API for Aurora Serverless v1 in the Amazon Aurora User Guide.

", + "DBCluster$HttpEndpointEnabled": "

Indicates whether the HTTP endpoint is enabled for an Aurora DB cluster.

When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

For more information, see Using RDS Data API in the Amazon Aurora User Guide.

", "DBCluster$CopyTagsToSnapshot": "

Indicates whether tags are copied from the DB cluster to snapshots of the DB cluster.

", "DBCluster$CrossAccountClone": "

Indicates whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.

", "DBCluster$GlobalWriteForwardingRequested": "

Indicates whether write forwarding is enabled for a secondary cluster in an Aurora global database. Because write forwarding takes time to enable, check the value of GlobalWriteForwardingStatus to confirm that the request has completed before using the write forwarding feature for this cluster.

", @@ -627,7 +631,7 @@ "ModifyCertificatesMessage$RemoveCustomerOverride": "

Specifies whether to remove the override for the default certificate. If the override is removed, the default certificate is the system default.

", "ModifyDBClusterMessage$EnableIAMDatabaseAuthentication": "

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

For more information, see IAM Database Authentication in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters only

", "ModifyDBClusterMessage$DeletionProtection": "

Specifies whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

", - "ModifyDBClusterMessage$EnableHttpEndpoint": "

Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint is disabled.

When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database from inside the RDS console with the query editor.

For more information, see Using the Data API for Aurora Serverless v1 in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters only

", + "ModifyDBClusterMessage$EnableHttpEndpoint": "

Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster. By default, the HTTP endpoint isn't enabled.

When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the Aurora Serverless v1 DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

For more information, see Using RDS Data API in the Amazon Aurora User Guide.

This parameter applies only to Aurora Serverless v1 DB clusters. To enable or disable the HTTP endpoint for an Aurora PostgreSQL Serverless v2 or provisioned DB cluster, use the EnableHttpEndpoint and DisableHttpEndpoint operations.

Valid for Cluster Type: Aurora DB clusters only

", "ModifyDBClusterMessage$CopyTagsToSnapshot": "

Specifies whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

", "ModifyDBClusterMessage$EnableGlobalWriteForwarding": "

Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.

You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.

Valid for Cluster Type: Aurora DB clusters only

", "ModifyDBClusterMessage$AutoMinorVersionUpgrade": "

Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.

Valid for Cluster Type: Multi-AZ DB clusters only

", @@ -2398,6 +2402,16 @@ "ModifyCustomDBEngineVersionMessage$Description": "

An optional description of your CEV.

" } }, + "DisableHttpEndpointRequest": { + "base": null, + "refs": { + } + }, + "DisableHttpEndpointResponse": { + "base": null, + "refs": { + } + }, "DocLink": { "base": "

A link to documentation that provides additional information for a recommendation.

", "refs": { @@ -2494,6 +2508,16 @@ "refs": { } }, + "EnableHttpEndpointRequest": { + "base": null, + "refs": { + } + }, + "EnableHttpEndpointResponse": { + "base": null, + "refs": { + } + }, "EncryptionContextMap": { "base": null, "refs": { @@ -3232,6 +3256,11 @@ "refs": { } }, + "InvalidResourceStateFault": { + "base": "

The operation can't be performed because another operation is in progress.

", + "refs": { + } + }, "InvalidRestoreFault": { "base": "

Cannot restore from VPC backup to non-VPC DB instance.

", "refs": { @@ -5045,6 +5074,8 @@ "DescribeTenantDatabasesMessage$TenantDBName": "

The user-supplied tenant database name, which must match the name of an existing tenant database on the specified DB instance owned by your Amazon Web Services account. This parameter isn’t case-sensitive.

", "DescribeTenantDatabasesMessage$Marker": "

An optional pagination token provided by a previous DescribeTenantDatabases request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DescribeValidDBInstanceModificationsMessage$DBInstanceIdentifier": "

The customer identifier or the ARN of your DB instance.

", + "DisableHttpEndpointRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the DB cluster.

", + "DisableHttpEndpointResponse$ResourceArn": "

The ARN of the DB cluster.

", "DocLink$Text": "

The text with the link to documentation for the recommendation.

", "DocLink$Url": "

The URL for the documentation for the recommendation.

", "DomainMembership$Domain": "

The identifier of the Active Directory Domain.

", @@ -5062,6 +5093,8 @@ "EC2SecurityGroup$EC2SecurityGroupName": "

Specifies the name of the EC2 security group.

", "EC2SecurityGroup$EC2SecurityGroupId": "

Specifies the id of the EC2 security group.

", "EC2SecurityGroup$EC2SecurityGroupOwnerId": "

Specifies the Amazon Web Services ID of the owner of the EC2 security group specified in the EC2SecurityGroupName field.

", + "EnableHttpEndpointRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the DB cluster.

", + "EnableHttpEndpointResponse$ResourceArn": "

The ARN of the DB cluster.

", "EncryptionContextMap$key": null, "EncryptionContextMap$value": null, "Endpoint$Address": "

Specifies the DNS address of the DB instance.

", diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index b3bfad5147..bbc1adf4bc 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -7371,6 +7371,7 @@ "ProfilerRuleConfigurations":{"shape":"ProfilerRuleConfigurations"}, "Environment":{"shape":"TrainingEnvironmentMap"}, "RetryStrategy":{"shape":"RetryStrategy"}, + "RemoteDebugConfig":{"shape":"RemoteDebugConfig"}, "InfraCheckConfig":{"shape":"InfraCheckConfig"} } }, @@ -10114,6 +10115,7 @@ "ProfilingStatus":{"shape":"ProfilingStatus"}, "Environment":{"shape":"TrainingEnvironmentMap"}, "RetryStrategy":{"shape":"RetryStrategy"}, + "RemoteDebugConfig":{"shape":"RemoteDebugConfig"}, "InfraCheckConfig":{"shape":"InfraCheckConfig"} } }, @@ -10905,6 +10907,7 @@ "EnableCapture":{"type":"boolean"}, "EnableInfraCheck":{"type":"boolean"}, "EnableIotRoleAlias":{"type":"boolean"}, + "EnableRemoteDebug":{"type":"boolean"}, "EnableSagemakerServicecatalogPortfolioInput":{ "type":"structure", "members":{ @@ -19306,6 +19309,18 @@ "min":1, "pattern":".*" }, + "RemoteDebugConfig":{ + "type":"structure", + "members":{ + "EnableRemoteDebug":{"shape":"EnableRemoteDebug"} + } + }, + "RemoteDebugConfigForUpdate":{ + "type":"structure", + "members":{ + "EnableRemoteDebug":{"shape":"EnableRemoteDebug"} + } + }, "RenderUiTemplateRequest":{ "type":"structure", "required":[ @@ -19839,7 +19854,8 @@ "shape":"MaxResults", "box":true }, - "CrossAccountFilterOption":{"shape":"CrossAccountFilterOption"} + "CrossAccountFilterOption":{"shape":"CrossAccountFilterOption"}, + "VisibilityConditions":{"shape":"VisibilityConditionsList"} } }, "SearchResponse":{ @@ -22493,7 +22509,8 @@ "TrainingJobName":{"shape":"TrainingJobName"}, "ProfilerConfig":{"shape":"ProfilerConfigForUpdate"}, "ProfilerRuleConfigurations":{"shape":"ProfilerRuleConfigurations"}, - "ResourceConfig":{"shape":"ResourceConfigForUpdate"} + "ResourceConfig":{"shape":"ResourceConfigForUpdate"}, + "RemoteDebugConfig":{"shape":"RemoteDebugConfigForUpdate"} } }, "UpdateTrainingJobResponse":{ @@ -22773,6 +22790,31 @@ "type":"list", "member":{"shape":"Vertex"} }, + "VisibilityConditions":{ + "type":"structure", + "members":{ + "Key":{"shape":"VisibilityConditionsKey"}, + "Value":{"shape":"VisibilityConditionsValue"} + } + }, + "VisibilityConditionsKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "VisibilityConditionsList":{ + "type":"list", + "member":{"shape":"VisibilityConditions"}, + "max":5, + "min":1 + }, + "VisibilityConditionsValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, "VolumeSizeInGB":{ "type":"integer", "min":1 diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index ab70f69a22..c15cdbcc4f 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -5077,6 +5077,13 @@ "UpdateDeviceFleetRequest$EnableIotRoleAlias": "

Whether to create an Amazon Web Services IoT Role Alias during device fleet creation. The name of the role alias generated will match this pattern: \"SageMakerEdge-{DeviceFleetName}\".

For example, if your device fleet is called \"demo-fleet\", the name of the role alias will be \"SageMakerEdge-demo-fleet\".

" } }, + "EnableRemoteDebug": { + "base": null, + "refs": { + "RemoteDebugConfig$EnableRemoteDebug": "

If set to True, enables remote debugging.

", + "RemoteDebugConfigForUpdate$EnableRemoteDebug": "

If set to True, enables remote debugging.

" + } + }, "EnableSagemakerServicecatalogPortfolioInput": { "base": null, "refs": { @@ -12581,6 +12588,19 @@ "UpdateImageVersionRequest$ReleaseNotes": "

The maintainer description of the image version.

" } }, + "RemoteDebugConfig": { + "base": "

Configuration for remote debugging for the CreateTrainingJob API. To learn more about the remote debugging functionality of SageMaker, see Access a training container through Amazon Web Services Systems Manager (SSM) for remote debugging.

", + "refs": { + "CreateTrainingJobRequest$RemoteDebugConfig": "

Configuration for remote debugging. To learn more about the remote debugging functionality of SageMaker, see Access a training container through Amazon Web Services Systems Manager (SSM) for remote debugging.

", + "DescribeTrainingJobResponse$RemoteDebugConfig": "

Configuration for remote debugging. To learn more about the remote debugging functionality of SageMaker, see Access a training container through Amazon Web Services Systems Manager (SSM) for remote debugging.

" + } + }, + "RemoteDebugConfigForUpdate": { + "base": "

Configuration for remote debugging for the UpdateTrainingJob API. To learn more about the remote debugging functionality of SageMaker, see Access a training container through Amazon Web Services Systems Manager (SSM) for remote debugging.

", + "refs": { + "UpdateTrainingJobRequest$RemoteDebugConfig": "

Configuration for remote debugging while the training job is running. You can update the remote debugging configuration when the SecondaryStatus of the job is Downloading or Training.To learn more about the remote debugging functionality of SageMaker, see Access a training container through Amazon Web Services Systems Manager (SSM) for remote debugging.

" + } + }, "RenderUiTemplateRequest": { "base": null, "refs": { @@ -13760,7 +13780,7 @@ "StatusMessage": { "base": null, "refs": { - "SecondaryStatusTransition$StatusMessage": "

A detailed description of the progress within a secondary status.

SageMaker provides secondary statuses and status messages that apply to each of them:

Starting
Training

Status messages are subject to change. Therefore, we recommend not including them in code that programmatically initiates actions. For examples, don't use status messages in if statements.

To have an overview of your training job's progress, view TrainingJobStatus and SecondaryStatus in DescribeTrainingJob, and StatusMessage together. For example, at the start of a training job, you might see the following:

" + "SecondaryStatusTransition$StatusMessage": "

A detailed description of the progress within a secondary status.

SageMaker provides secondary statuses and status messages that apply to each of them:

Starting
Training

Status messages are subject to change. Therefore, we recommend not including them in code that programmatically initiates actions. For examples, don't use status messages in if statements.

To have an overview of your training job's progress, view TrainingJobStatus and SecondaryStatus in DescribeTrainingJob, and StatusMessage together. For example, at the start of a training job, you might see the following:

" } }, "StepDescription": { @@ -16234,6 +16254,30 @@ "QueryLineageResponse$Vertices": "

A list of vertices connected to the start entity(ies) in the lineage graph.

" } }, + "VisibilityConditions": { + "base": "

The list of key-value pairs that you specify for your resources.

", + "refs": { + "VisibilityConditionsList$member": null + } + }, + "VisibilityConditionsKey": { + "base": null, + "refs": { + "VisibilityConditions$Key": "

The key for that specifies the tag that you're using to filter the search results. The key must start with Tags..

" + } + }, + "VisibilityConditionsList": { + "base": null, + "refs": { + "SearchRequest$VisibilityConditions": "

Limits the results of your search request to the resources that you can access.

" + } + }, + "VisibilityConditionsValue": { + "base": null, + "refs": { + "VisibilityConditions$Value": "

The value for the tag that you're using to filter the search results.

" + } + }, "VolumeSizeInGB": { "base": null, "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index ab02f3bc6b..140ad15ea9 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -11761,6 +11761,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -14651,6 +14652,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ca-central-1" : { }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, diff --git a/service/appintegrationsservice/api.go b/service/appintegrationsservice/api.go index 7b566ed0a4..17b4902186 100644 --- a/service/appintegrationsservice/api.go +++ b/service/appintegrationsservice/api.go @@ -87,6 +87,9 @@ func (c *AppIntegrationsService) CreateApplicationRequest(input *CreateApplicati // - AccessDeniedException // You do not have sufficient access to perform this action. // +// - UnsupportedOperationException +// The operation is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appintegrations-2020-07-29/CreateApplication func (c *AppIntegrationsService) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { req, out := c.CreateApplicationRequest(input) @@ -304,6 +307,99 @@ func (c *AppIntegrationsService) CreateEventIntegrationWithContext(ctx aws.Conte return out, req.Send() } +const opDeleteApplication = "DeleteApplication" + +// DeleteApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteApplication for more information on using the DeleteApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteApplicationRequest method. +// req, resp := client.DeleteApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appintegrations-2020-07-29/DeleteApplication +func (c *AppIntegrationsService) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) { + op := &request.Operation{ + Name: opDeleteApplication, + HTTPMethod: "DELETE", + HTTPPath: "/applications/{ApplicationIdentifier}", + } + + if input == nil { + input = &DeleteApplicationInput{} + } + + output = &DeleteApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApplication API operation for Amazon AppIntegrations Service. +// +// Deletes the Application. Only Applications that don't have any Application +// Associations can be deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppIntegrations Service's +// API operation DeleteApplication for usage and error information. +// +// Returned Error Types: +// +// - InternalServiceError +// Request processing failed due to an error or failure with the service. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - InvalidRequestException +// The request is not valid. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appintegrations-2020-07-29/DeleteApplication +func (c *AppIntegrationsService) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + return out, req.Send() +} + +// DeleteApplicationWithContext is the same as DeleteApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppIntegrationsService) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) { + req, out := c.DeleteApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDataIntegration = "DeleteDataIntegration" // DeleteDataIntegrationRequest generates a "aws/request.Request" representing the @@ -525,7 +621,7 @@ func (c *AppIntegrationsService) GetApplicationRequest(input *GetApplicationInpu op := &request.Operation{ Name: opGetApplication, HTTPMethod: "GET", - HTTPPath: "/applications/{Arn}", + HTTPPath: "/applications/{ApplicationIdentifier}", } if input == nil { @@ -776,6 +872,154 @@ func (c *AppIntegrationsService) GetEventIntegrationWithContext(ctx aws.Context, return out, req.Send() } +const opListApplicationAssociations = "ListApplicationAssociations" + +// ListApplicationAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplicationAssociations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListApplicationAssociations for more information on using the ListApplicationAssociations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListApplicationAssociationsRequest method. +// req, resp := client.ListApplicationAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appintegrations-2020-07-29/ListApplicationAssociations +func (c *AppIntegrationsService) ListApplicationAssociationsRequest(input *ListApplicationAssociationsInput) (req *request.Request, output *ListApplicationAssociationsOutput) { + op := &request.Operation{ + Name: opListApplicationAssociations, + HTTPMethod: "GET", + HTTPPath: "/applications/{ApplicationIdentifier}/associations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListApplicationAssociationsInput{} + } + + output = &ListApplicationAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListApplicationAssociations API operation for Amazon AppIntegrations Service. +// +// Returns a paginated list of application associations for an application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon AppIntegrations Service's +// API operation ListApplicationAssociations for usage and error information. +// +// Returned Error Types: +// +// - InternalServiceError +// Request processing failed due to an error or failure with the service. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - InvalidRequestException +// The request is not valid. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appintegrations-2020-07-29/ListApplicationAssociations +func (c *AppIntegrationsService) ListApplicationAssociations(input *ListApplicationAssociationsInput) (*ListApplicationAssociationsOutput, error) { + req, out := c.ListApplicationAssociationsRequest(input) + return out, req.Send() +} + +// ListApplicationAssociationsWithContext is the same as ListApplicationAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See ListApplicationAssociations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppIntegrationsService) ListApplicationAssociationsWithContext(ctx aws.Context, input *ListApplicationAssociationsInput, opts ...request.Option) (*ListApplicationAssociationsOutput, error) { + req, out := c.ListApplicationAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListApplicationAssociationsPages iterates over the pages of a ListApplicationAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApplicationAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListApplicationAssociations operation. +// pageNum := 0 +// err := client.ListApplicationAssociationsPages(params, +// func(page *appintegrationsservice.ListApplicationAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *AppIntegrationsService) ListApplicationAssociationsPages(input *ListApplicationAssociationsInput, fn func(*ListApplicationAssociationsOutput, bool) bool) error { + return c.ListApplicationAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListApplicationAssociationsPagesWithContext same as ListApplicationAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppIntegrationsService) ListApplicationAssociationsPagesWithContext(ctx aws.Context, input *ListApplicationAssociationsInput, fn func(*ListApplicationAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListApplicationAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListApplicationAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListApplicationAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListApplications = "ListApplications" // ListApplicationsRequest generates a "aws/request.Request" representing the @@ -1814,7 +2058,7 @@ func (c *AppIntegrationsService) UpdateApplicationRequest(input *UpdateApplicati op := &request.Operation{ Name: opUpdateApplication, HTTPMethod: "PATCH", - HTTPPath: "/applications/{Arn}", + HTTPPath: "/applications/{ApplicationIdentifier}", } if input == nil { @@ -1857,6 +2101,9 @@ func (c *AppIntegrationsService) UpdateApplicationRequest(input *UpdateApplicati // - AccessDeniedException // You do not have sufficient access to perform this action. // +// - UnsupportedOperationException +// The operation is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appintegrations-2020-07-29/UpdateApplication func (c *AppIntegrationsService) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { req, out := c.UpdateApplicationRequest(input) @@ -2132,6 +2379,56 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } +// Summary information about the Application Association. +type ApplicationAssociationSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Application. + ApplicationArn *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the Application Association. + ApplicationAssociationArn *string `min:"1" type:"string"` + + // The identifier for the client that is associated with the Application Association. + ClientId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApplicationAssociationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApplicationAssociationSummary) GoString() string { + return s.String() +} + +// SetApplicationArn sets the ApplicationArn field's value. +func (s *ApplicationAssociationSummary) SetApplicationArn(v string) *ApplicationAssociationSummary { + s.ApplicationArn = &v + return s +} + +// SetApplicationAssociationArn sets the ApplicationAssociationArn field's value. +func (s *ApplicationAssociationSummary) SetApplicationAssociationArn(v string) *ApplicationAssociationSummary { + s.ApplicationAssociationArn = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *ApplicationAssociationSummary) SetClientId(v string) *ApplicationAssociationSummary { + s.ClientId = &v + return s +} + // The configuration for where the application should be loaded from. type ApplicationSourceConfig struct { _ struct{} `type:"structure"` @@ -2271,7 +2568,7 @@ type CreateApplicationInput struct { ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` // The description of the application. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The name of the application. // @@ -2283,11 +2580,18 @@ type CreateApplicationInput struct { // Namespace is a required field Namespace *string `min:"1" type:"string" required:"true"` + // The configuration of events or requests that the application has access to. + Permissions []*string `type:"list"` + // The events that the application publishes. - Publications []*Publication `type:"list"` + // + // Deprecated: Publications has been replaced with Permissions + Publications []*Publication `deprecated:"true" type:"list"` // The events that the application subscribes. - Subscriptions []*Subscription `type:"list"` + // + // Deprecated: Subscriptions has been replaced with Permissions + Subscriptions []*Subscription `deprecated:"true" type:"list"` // The tags used to organize, track, or control access for this resource. For // example, { "tags": {"key1":"value1", "key2":"value2"} }. @@ -2321,9 +2625,6 @@ func (s *CreateApplicationInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -2401,6 +2702,12 @@ func (s *CreateApplicationInput) SetNamespace(v string) *CreateApplicationInput return s } +// SetPermissions sets the Permissions field's value. +func (s *CreateApplicationInput) SetPermissions(v []*string) *CreateApplicationInput { + s.Permissions = v + return s +} + // SetPublications sets the Publications field's value. func (s *CreateApplicationInput) SetPublications(v []*Publication) *CreateApplicationInput { s.Publications = v @@ -2469,7 +2776,7 @@ type CreateDataIntegrationInput struct { ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` // A description of the DataIntegration. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The configuration for what files should be pulled from the source. FileConfiguration *FileConfiguration `type:"structure"` @@ -2524,9 +2831,6 @@ func (s *CreateDataIntegrationInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.KmsKey == nil { invalidParams.Add(request.NewErrParamRequired("KmsKey")) } @@ -2632,7 +2936,7 @@ type CreateDataIntegrationOutput struct { ClientToken *string `min:"1" type:"string"` // A description of the DataIntegration. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The configuration for what files should be pulled from the source. FileConfiguration *FileConfiguration `type:"structure"` @@ -2754,7 +3058,7 @@ type CreateEventIntegrationInput struct { ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` // The description of the event integration. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The EventBridge bus. // @@ -2800,9 +3104,6 @@ func (s *CreateEventIntegrationInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.EventBridgeBus == nil { invalidParams.Add(request.NewErrParamRequired("EventBridgeBus")) } @@ -3001,6 +3302,77 @@ func (s *DataIntegrationSummary) SetSourceURI(v string) *DataIntegrationSummary return s } +type DeleteApplicationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the Application. + // + // Arn is a required field + Arn *string `location:"uri" locationName:"ApplicationIdentifier" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteApplicationInput) SetArn(v string) *DeleteApplicationInput { + s.Arn = &v + return s +} + +type DeleteApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteApplicationOutput) GoString() string { + return s.String() +} + type DeleteDataIntegrationInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -3262,7 +3634,7 @@ type EventIntegration struct { _ struct{} `type:"structure"` // The event integration description. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The Amazon EventBridge bus for the event integration. EventBridgeBus *string `min:"1" type:"string"` @@ -3539,7 +3911,7 @@ type GetApplicationInput struct { // The Amazon Resource Name (ARN) of the Application. // // Arn is a required field - Arn *string `location:"uri" locationName:"Arn" min:"1" type:"string" required:"true"` + Arn *string `location:"uri" locationName:"ApplicationIdentifier" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3595,7 +3967,7 @@ type GetApplicationOutput struct { CreatedTime *time.Time `type:"timestamp"` // The description of the application. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // A unique identifier for the Application. Id *string `type:"string"` @@ -3609,11 +3981,18 @@ type GetApplicationOutput struct { // The namespace of the application. Namespace *string `min:"1" type:"string"` + // The configuration of events or requests that the application has access to. + Permissions []*string `type:"list"` + // The events that the application publishes. - Publications []*Publication `type:"list"` + // + // Deprecated: Publications has been replaced with Permissions + Publications []*Publication `deprecated:"true" type:"list"` // The events that the application subscribes. - Subscriptions []*Subscription `type:"list"` + // + // Deprecated: Subscriptions has been replaced with Permissions + Subscriptions []*Subscription `deprecated:"true" type:"list"` // The tags used to organize, track, or control access for this resource. For // example, { "tags": {"key1":"value1", "key2":"value2"} }. @@ -3686,6 +4065,12 @@ func (s *GetApplicationOutput) SetNamespace(v string) *GetApplicationOutput { return s } +// SetPermissions sets the Permissions field's value. +func (s *GetApplicationOutput) SetPermissions(v []*string) *GetApplicationOutput { + s.Permissions = v + return s +} + // SetPublications sets the Publications field's value. func (s *GetApplicationOutput) SetPublications(v []*Publication) *GetApplicationOutput { s.Publications = v @@ -3760,7 +4145,7 @@ type GetDataIntegrationOutput struct { Arn *string `min:"1" type:"string"` // The KMS key for the DataIntegration. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The configuration for what files should be pulled from the source. FileConfiguration *FileConfiguration `type:"structure"` @@ -3919,7 +4304,7 @@ type GetEventIntegrationOutput struct { _ struct{} `type:"structure"` // The description of the event integration. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The EventBridge bus. EventBridgeBus *string `min:"1" type:"string"` @@ -4120,6 +4505,120 @@ func (s *InvalidRequestException) RequestID() string { return s.RespMetadata.RequestID } +type ListApplicationAssociationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the Application. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"ApplicationIdentifier" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // 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 `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListApplicationAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListApplicationAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListApplicationAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListApplicationAssociationsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ListApplicationAssociationsInput) SetApplicationId(v string) *ListApplicationAssociationsInput { + s.ApplicationId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListApplicationAssociationsInput) SetMaxResults(v int64) *ListApplicationAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationAssociationsInput) SetNextToken(v string) *ListApplicationAssociationsInput { + s.NextToken = &v + return s +} + +type ListApplicationAssociationsOutput struct { + _ struct{} `type:"structure"` + + // List of Application Associations for the Application. + ApplicationAssociations []*ApplicationAssociationSummary `min:"1" type:"list"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListApplicationAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListApplicationAssociationsOutput) GoString() string { + return s.String() +} + +// SetApplicationAssociations sets the ApplicationAssociations field's value. +func (s *ListApplicationAssociationsOutput) SetApplicationAssociations(v []*ApplicationAssociationSummary) *ListApplicationAssociationsOutput { + s.ApplicationAssociations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApplicationAssociationsOutput) SetNextToken(v string) *ListApplicationAssociationsOutput { + s.NextToken = &v + return s +} + type ListApplicationsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -4724,7 +5223,7 @@ type Publication struct { _ struct{} `type:"structure"` // The description of the publication. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The name of the publication. // @@ -4758,9 +5257,6 @@ func (s Publication) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *Publication) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Publication"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.Event == nil { invalidParams.Add(request.NewErrParamRequired("Event")) } @@ -5006,7 +5502,7 @@ type Subscription struct { _ struct{} `type:"structure"` // The description of the subscription. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The name of the subscription. // @@ -5035,9 +5531,6 @@ func (s Subscription) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *Subscription) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Subscription"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.Event == nil { invalidParams.Add(request.NewErrParamRequired("Event")) } @@ -5216,6 +5709,70 @@ func (s *ThrottlingException) RequestID() string { return s.RespMetadata.RequestID } +// The operation is not supported. +type UnsupportedOperationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnsupportedOperationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnsupportedOperationException) GoString() string { + return s.String() +} + +func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error { + return &UnsupportedOperationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnsupportedOperationException) Code() string { + return "UnsupportedOperationException" +} + +// Message returns the exception's message. +func (s *UnsupportedOperationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnsupportedOperationException) OrigErr() error { + return nil +} + +func (s *UnsupportedOperationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *UnsupportedOperationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnsupportedOperationException) RequestID() string { + return s.RespMetadata.RequestID +} + type UntagResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -5313,19 +5870,26 @@ type UpdateApplicationInput struct { // The Amazon Resource Name (ARN) of the Application. // // Arn is a required field - Arn *string `location:"uri" locationName:"Arn" min:"1" type:"string" required:"true"` + Arn *string `location:"uri" locationName:"ApplicationIdentifier" min:"1" type:"string" required:"true"` // The description of the application. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The name of the application. Name *string `min:"1" type:"string"` + // The configuration of events or requests that the application has access to. + Permissions []*string `type:"list"` + // The events that the application publishes. - Publications []*Publication `type:"list"` + // + // Deprecated: Publications has been replaced with Permissions + Publications []*Publication `deprecated:"true" type:"list"` // The events that the application subscribes. - Subscriptions []*Subscription `type:"list"` + // + // Deprecated: Subscriptions has been replaced with Permissions + Subscriptions []*Subscription `deprecated:"true" type:"list"` } // String returns the string representation. @@ -5355,9 +5919,6 @@ func (s *UpdateApplicationInput) Validate() error { if s.Arn != nil && len(*s.Arn) < 1 { invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -5417,6 +5978,12 @@ func (s *UpdateApplicationInput) SetName(v string) *UpdateApplicationInput { return s } +// SetPermissions sets the Permissions field's value. +func (s *UpdateApplicationInput) SetPermissions(v []*string) *UpdateApplicationInput { + s.Permissions = v + return s +} + // SetPublications sets the Publications field's value. func (s *UpdateApplicationInput) SetPublications(v []*Publication) *UpdateApplicationInput { s.Publications = v @@ -5455,7 +6022,7 @@ type UpdateDataIntegrationInput struct { _ struct{} `type:"structure"` // A description of the DataIntegration. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // A unique identifier for the DataIntegration. // @@ -5487,9 +6054,6 @@ func (s UpdateDataIntegrationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateDataIntegrationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateDataIntegrationInput"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.Identifier == nil { invalidParams.Add(request.NewErrParamRequired("Identifier")) } @@ -5550,7 +6114,7 @@ type UpdateEventIntegrationInput struct { _ struct{} `type:"structure"` // The description of the event integration. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The name of the event integration. // @@ -5579,9 +6143,6 @@ func (s UpdateEventIntegrationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateEventIntegrationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateEventIntegrationInput"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } diff --git a/service/appintegrationsservice/appintegrationsserviceiface/interface.go b/service/appintegrationsservice/appintegrationsserviceiface/interface.go index e5d3247762..8dbb661515 100644 --- a/service/appintegrationsservice/appintegrationsserviceiface/interface.go +++ b/service/appintegrationsservice/appintegrationsserviceiface/interface.go @@ -72,6 +72,10 @@ type AppIntegrationsServiceAPI interface { CreateEventIntegrationWithContext(aws.Context, *appintegrationsservice.CreateEventIntegrationInput, ...request.Option) (*appintegrationsservice.CreateEventIntegrationOutput, error) CreateEventIntegrationRequest(*appintegrationsservice.CreateEventIntegrationInput) (*request.Request, *appintegrationsservice.CreateEventIntegrationOutput) + DeleteApplication(*appintegrationsservice.DeleteApplicationInput) (*appintegrationsservice.DeleteApplicationOutput, error) + DeleteApplicationWithContext(aws.Context, *appintegrationsservice.DeleteApplicationInput, ...request.Option) (*appintegrationsservice.DeleteApplicationOutput, error) + DeleteApplicationRequest(*appintegrationsservice.DeleteApplicationInput) (*request.Request, *appintegrationsservice.DeleteApplicationOutput) + DeleteDataIntegration(*appintegrationsservice.DeleteDataIntegrationInput) (*appintegrationsservice.DeleteDataIntegrationOutput, error) DeleteDataIntegrationWithContext(aws.Context, *appintegrationsservice.DeleteDataIntegrationInput, ...request.Option) (*appintegrationsservice.DeleteDataIntegrationOutput, error) DeleteDataIntegrationRequest(*appintegrationsservice.DeleteDataIntegrationInput) (*request.Request, *appintegrationsservice.DeleteDataIntegrationOutput) @@ -92,6 +96,13 @@ type AppIntegrationsServiceAPI interface { GetEventIntegrationWithContext(aws.Context, *appintegrationsservice.GetEventIntegrationInput, ...request.Option) (*appintegrationsservice.GetEventIntegrationOutput, error) GetEventIntegrationRequest(*appintegrationsservice.GetEventIntegrationInput) (*request.Request, *appintegrationsservice.GetEventIntegrationOutput) + ListApplicationAssociations(*appintegrationsservice.ListApplicationAssociationsInput) (*appintegrationsservice.ListApplicationAssociationsOutput, error) + ListApplicationAssociationsWithContext(aws.Context, *appintegrationsservice.ListApplicationAssociationsInput, ...request.Option) (*appintegrationsservice.ListApplicationAssociationsOutput, error) + ListApplicationAssociationsRequest(*appintegrationsservice.ListApplicationAssociationsInput) (*request.Request, *appintegrationsservice.ListApplicationAssociationsOutput) + + ListApplicationAssociationsPages(*appintegrationsservice.ListApplicationAssociationsInput, func(*appintegrationsservice.ListApplicationAssociationsOutput, bool) bool) error + ListApplicationAssociationsPagesWithContext(aws.Context, *appintegrationsservice.ListApplicationAssociationsInput, func(*appintegrationsservice.ListApplicationAssociationsOutput, bool) bool, ...request.Option) error + ListApplications(*appintegrationsservice.ListApplicationsInput) (*appintegrationsservice.ListApplicationsOutput, error) ListApplicationsWithContext(aws.Context, *appintegrationsservice.ListApplicationsInput, ...request.Option) (*appintegrationsservice.ListApplicationsOutput, error) ListApplicationsRequest(*appintegrationsservice.ListApplicationsInput) (*request.Request, *appintegrationsservice.ListApplicationsOutput) diff --git a/service/appintegrationsservice/errors.go b/service/appintegrationsservice/errors.go index c592dd2cfb..55bcbe42c6 100644 --- a/service/appintegrationsservice/errors.go +++ b/service/appintegrationsservice/errors.go @@ -49,6 +49,12 @@ const ( // // The throttling limit has been exceeded. ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeUnsupportedOperationException for service response error code + // "UnsupportedOperationException". + // + // The operation is not supported. + ErrCodeUnsupportedOperationException = "UnsupportedOperationException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ @@ -59,4 +65,5 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ResourceNotFoundException": newErrorResourceNotFoundException, "ResourceQuotaExceededException": newErrorResourceQuotaExceededException, "ThrottlingException": newErrorThrottlingException, + "UnsupportedOperationException": newErrorUnsupportedOperationException, } diff --git a/service/appintegrationsservice/examples_test.go b/service/appintegrationsservice/examples_test.go index b281d61d32..fc761333aa 100644 --- a/service/appintegrationsservice/examples_test.go +++ b/service/appintegrationsservice/examples_test.go @@ -56,6 +56,44 @@ func ExampleAppIntegrationsService_CreateApplication_shared00() { fmt.Println(appintegrationsservice.ErrCodeInvalidRequestException, aerr.Error()) case appintegrationsservice.ErrCodeAccessDeniedException: fmt.Println(appintegrationsservice.ErrCodeAccessDeniedException, aerr.Error()) + case appintegrationsservice.ErrCodeUnsupportedOperationException: + fmt.Println(appintegrationsservice.ErrCodeUnsupportedOperationException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To delete an application +// The following deletes an application. +func ExampleAppIntegrationsService_DeleteApplication_shared00() { + svc := appintegrationsservice.New(session.New()) + input := &appintegrationsservice.DeleteApplicationInput{ + Arn: aws.String("arn:aws:app-integrations:us-west-2:0123456789012:application/98542c53-e8ac-4570-9c85-c6552c8d9c5e"), + } + + result, err := svc.DeleteApplication(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case appintegrationsservice.ErrCodeInternalServiceError: + fmt.Println(appintegrationsservice.ErrCodeInternalServiceError, aerr.Error()) + case appintegrationsservice.ErrCodeThrottlingException: + fmt.Println(appintegrationsservice.ErrCodeThrottlingException, aerr.Error()) + case appintegrationsservice.ErrCodeResourceNotFoundException: + fmt.Println(appintegrationsservice.ErrCodeResourceNotFoundException, aerr.Error()) + case appintegrationsservice.ErrCodeInvalidRequestException: + fmt.Println(appintegrationsservice.ErrCodeInvalidRequestException, aerr.Error()) + case appintegrationsservice.ErrCodeAccessDeniedException: + fmt.Println(appintegrationsservice.ErrCodeAccessDeniedException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -106,6 +144,42 @@ func ExampleAppIntegrationsService_GetApplication_shared00() { fmt.Println(result) } +// To list application associations of an application +// The following retrives application associations of an application +func ExampleAppIntegrationsService_ListApplicationAssociations_shared00() { + svc := appintegrationsservice.New(session.New()) + input := &appintegrationsservice.ListApplicationAssociationsInput{ + ApplicationId: aws.String("98542c53-e8ac-4570-9c85-c6552c8d9c5e"), + } + + result, err := svc.ListApplicationAssociations(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case appintegrationsservice.ErrCodeInternalServiceError: + fmt.Println(appintegrationsservice.ErrCodeInternalServiceError, aerr.Error()) + case appintegrationsservice.ErrCodeThrottlingException: + fmt.Println(appintegrationsservice.ErrCodeThrottlingException, aerr.Error()) + case appintegrationsservice.ErrCodeResourceNotFoundException: + fmt.Println(appintegrationsservice.ErrCodeResourceNotFoundException, aerr.Error()) + case appintegrationsservice.ErrCodeInvalidRequestException: + fmt.Println(appintegrationsservice.ErrCodeInvalidRequestException, aerr.Error()) + case appintegrationsservice.ErrCodeAccessDeniedException: + fmt.Println(appintegrationsservice.ErrCodeAccessDeniedException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + // To list applications in the account // The following lists application summary in the account. func ExampleAppIntegrationsService_ListApplications_shared00() { @@ -163,6 +237,8 @@ func ExampleAppIntegrationsService_UpdateApplication_shared00() { fmt.Println(appintegrationsservice.ErrCodeInvalidRequestException, aerr.Error()) case appintegrationsservice.ErrCodeAccessDeniedException: fmt.Println(appintegrationsservice.ErrCodeAccessDeniedException, aerr.Error()) + case appintegrationsservice.ErrCodeUnsupportedOperationException: + fmt.Println(appintegrationsservice.ErrCodeUnsupportedOperationException, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/bedrockagent/api.go b/service/bedrockagent/api.go index 6c3c31d4a8..95e5e75b63 100644 --- a/service/bedrockagent/api.go +++ b/service/bedrockagent/api.go @@ -11292,6 +11292,203 @@ func (s *PromptOverrideConfiguration) SetPromptConfigurations(v []*PromptConfigu return s } +// Contains the configurations to use RDS to store knowledge base data. +type RdsConfiguration struct { + _ struct{} `type:"structure"` + + // Arn of a SecretsManager Secret. + // + // CredentialsSecretArn is a required field + CredentialsSecretArn *string `locationName:"credentialsSecretArn" type:"string" required:"true"` + + // Name of the database within RDS + // + // DatabaseName is a required field + DatabaseName *string `locationName:"databaseName" type:"string" required:"true"` + + // A mapping of Bedrock Knowledge Base fields to RDS column names + // + // FieldMapping is a required field + FieldMapping *RdsFieldMapping `locationName:"fieldMapping" type:"structure" required:"true"` + + // Arn of a RDS Resource. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` + + // Name of the table within RDS + // + // TableName is a required field + TableName *string `locationName:"tableName" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RdsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RdsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RdsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RdsConfiguration"} + if s.CredentialsSecretArn == nil { + invalidParams.Add(request.NewErrParamRequired("CredentialsSecretArn")) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.FieldMapping == nil { + invalidParams.Add(request.NewErrParamRequired("FieldMapping")) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.FieldMapping != nil { + if err := s.FieldMapping.Validate(); err != nil { + invalidParams.AddNested("FieldMapping", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCredentialsSecretArn sets the CredentialsSecretArn field's value. +func (s *RdsConfiguration) SetCredentialsSecretArn(v string) *RdsConfiguration { + s.CredentialsSecretArn = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *RdsConfiguration) SetDatabaseName(v string) *RdsConfiguration { + s.DatabaseName = &v + return s +} + +// SetFieldMapping sets the FieldMapping field's value. +func (s *RdsConfiguration) SetFieldMapping(v *RdsFieldMapping) *RdsConfiguration { + s.FieldMapping = v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *RdsConfiguration) SetResourceArn(v string) *RdsConfiguration { + s.ResourceArn = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *RdsConfiguration) SetTableName(v string) *RdsConfiguration { + s.TableName = &v + return s +} + +// A mapping of Bedrock Knowledge Base fields to RDS column names +type RdsFieldMapping struct { + _ struct{} `type:"structure"` + + // Name of the column + // + // MetadataField is a required field + MetadataField *string `locationName:"metadataField" type:"string" required:"true"` + + // Name of the column + // + // PrimaryKeyField is a required field + PrimaryKeyField *string `locationName:"primaryKeyField" type:"string" required:"true"` + + // Name of the column + // + // TextField is a required field + TextField *string `locationName:"textField" type:"string" required:"true"` + + // Name of the column + // + // VectorField is a required field + VectorField *string `locationName:"vectorField" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RdsFieldMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RdsFieldMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RdsFieldMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RdsFieldMapping"} + if s.MetadataField == nil { + invalidParams.Add(request.NewErrParamRequired("MetadataField")) + } + if s.PrimaryKeyField == nil { + invalidParams.Add(request.NewErrParamRequired("PrimaryKeyField")) + } + if s.TextField == nil { + invalidParams.Add(request.NewErrParamRequired("TextField")) + } + if s.VectorField == nil { + invalidParams.Add(request.NewErrParamRequired("VectorField")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetadataField sets the MetadataField field's value. +func (s *RdsFieldMapping) SetMetadataField(v string) *RdsFieldMapping { + s.MetadataField = &v + return s +} + +// SetPrimaryKeyField sets the PrimaryKeyField field's value. +func (s *RdsFieldMapping) SetPrimaryKeyField(v string) *RdsFieldMapping { + s.PrimaryKeyField = &v + return s +} + +// SetTextField sets the TextField field's value. +func (s *RdsFieldMapping) SetTextField(v string) *RdsFieldMapping { + s.TextField = &v + return s +} + +// SetVectorField sets the VectorField field's value. +func (s *RdsFieldMapping) SetVectorField(v string) *RdsFieldMapping { + s.VectorField = &v + return s +} + // Contains the configurations to use Redis Enterprise Cloud to store knowledge // base data. type RedisEnterpriseCloudConfiguration struct { @@ -11891,6 +12088,9 @@ type StorageConfiguration struct { // Contains the configurations to use Pinecone to store knowledge base data. PineconeConfiguration *PineconeConfiguration `locationName:"pineconeConfiguration" type:"structure"` + // Contains the configurations to use RDS to store knowledge base data. + RdsConfiguration *RdsConfiguration `locationName:"rdsConfiguration" type:"structure"` + // Contains the configurations to use Redis Enterprise Cloud to store knowledge // base data. RedisEnterpriseCloudConfiguration *RedisEnterpriseCloudConfiguration `locationName:"redisEnterpriseCloudConfiguration" type:"structure"` @@ -11935,6 +12135,11 @@ func (s *StorageConfiguration) Validate() error { invalidParams.AddNested("PineconeConfiguration", err.(request.ErrInvalidParams)) } } + if s.RdsConfiguration != nil { + if err := s.RdsConfiguration.Validate(); err != nil { + invalidParams.AddNested("RdsConfiguration", err.(request.ErrInvalidParams)) + } + } if s.RedisEnterpriseCloudConfiguration != nil { if err := s.RedisEnterpriseCloudConfiguration.Validate(); err != nil { invalidParams.AddNested("RedisEnterpriseCloudConfiguration", err.(request.ErrInvalidParams)) @@ -11959,6 +12164,12 @@ func (s *StorageConfiguration) SetPineconeConfiguration(v *PineconeConfiguration return s } +// SetRdsConfiguration sets the RdsConfiguration field's value. +func (s *StorageConfiguration) SetRdsConfiguration(v *RdsConfiguration) *StorageConfiguration { + s.RdsConfiguration = v + return s +} + // SetRedisEnterpriseCloudConfiguration sets the RedisEnterpriseCloudConfiguration field's value. func (s *StorageConfiguration) SetRedisEnterpriseCloudConfiguration(v *RedisEnterpriseCloudConfiguration) *StorageConfiguration { s.RedisEnterpriseCloudConfiguration = v @@ -13702,6 +13913,9 @@ const ( // KnowledgeBaseStorageTypeRedisEnterpriseCloud is a KnowledgeBaseStorageType enum value KnowledgeBaseStorageTypeRedisEnterpriseCloud = "REDIS_ENTERPRISE_CLOUD" + + // KnowledgeBaseStorageTypeRds is a KnowledgeBaseStorageType enum value + KnowledgeBaseStorageTypeRds = "RDS" ) // KnowledgeBaseStorageType_Values returns all elements of the KnowledgeBaseStorageType enum @@ -13710,6 +13924,7 @@ func KnowledgeBaseStorageType_Values() []string { KnowledgeBaseStorageTypeOpensearchServerless, KnowledgeBaseStorageTypePinecone, KnowledgeBaseStorageTypeRedisEnterpriseCloud, + KnowledgeBaseStorageTypeRds, } } diff --git a/service/codecommit/api.go b/service/codecommit/api.go index 04d6b37573..0fe4ba9adc 100644 --- a/service/codecommit/api.go +++ b/service/codecommit/api.go @@ -1606,6 +1606,14 @@ func (c *CodeCommit) CreateRepositoryRequest(input *CreateRepositoryInput) (req // - EncryptionKeyUnavailableException // The encryption key is not available. // +// - EncryptionKeyInvalidIdException +// The Key Management Service encryption key is not valid. +// +// - EncryptionKeyInvalidUsageException +// A KMS encryption key was used to try and encrypt or decrypt a repository, +// but either the repository or the key was not in a valid state to support +// the operation. +// // - InvalidTagsMapException // The map of tags is not valid. // @@ -10734,6 +10742,122 @@ func (c *CodeCommit) UpdateRepositoryDescriptionWithContext(ctx aws.Context, inp return out, req.Send() } +const opUpdateRepositoryEncryptionKey = "UpdateRepositoryEncryptionKey" + +// UpdateRepositoryEncryptionKeyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRepositoryEncryptionKey operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRepositoryEncryptionKey for more information on using the UpdateRepositoryEncryptionKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateRepositoryEncryptionKeyRequest method. +// req, resp := client.UpdateRepositoryEncryptionKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryEncryptionKey +func (c *CodeCommit) UpdateRepositoryEncryptionKeyRequest(input *UpdateRepositoryEncryptionKeyInput) (req *request.Request, output *UpdateRepositoryEncryptionKeyOutput) { + op := &request.Operation{ + Name: opUpdateRepositoryEncryptionKey, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRepositoryEncryptionKeyInput{} + } + + output = &UpdateRepositoryEncryptionKeyOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRepositoryEncryptionKey API operation for AWS CodeCommit. +// +// Updates the Key Management Service encryption key used to encrypt and decrypt +// a CodeCommit repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdateRepositoryEncryptionKey for usage and error information. +// +// Returned Error Types: +// +// - RepositoryNameRequiredException +// A repository name is required, but was not specified. +// +// - RepositoryDoesNotExistException +// The specified repository does not exist. +// +// - InvalidRepositoryNameException +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// - EncryptionKeyRequiredException +// A KMS encryption key ID is required but was not specified. +// +// - EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// - EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// - EncryptionKeyInvalidIdException +// The Key Management Service encryption key is not valid. +// +// - EncryptionKeyInvalidUsageException +// A KMS encryption key was used to try and encrypt or decrypt a repository, +// but either the repository or the key was not in a valid state to support +// the operation. +// +// - EncryptionKeyDisabledException +// The encryption key is disabled. +// +// - EncryptionKeyNotFoundException +// No encryption key was found. +// +// - EncryptionKeyUnavailableException +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryEncryptionKey +func (c *CodeCommit) UpdateRepositoryEncryptionKey(input *UpdateRepositoryEncryptionKeyInput) (*UpdateRepositoryEncryptionKeyOutput, error) { + req, out := c.UpdateRepositoryEncryptionKeyRequest(input) + return out, req.Send() +} + +// UpdateRepositoryEncryptionKeyWithContext is the same as UpdateRepositoryEncryptionKey with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRepositoryEncryptionKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdateRepositoryEncryptionKeyWithContext(ctx aws.Context, input *UpdateRepositoryEncryptionKeyInput, opts ...request.Option) (*UpdateRepositoryEncryptionKeyOutput, error) { + req, out := c.UpdateRepositoryEncryptionKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateRepositoryName = "UpdateRepositoryName" // UpdateRepositoryNameRequest generates a "aws/request.Request" representing the @@ -12855,6 +12979,68 @@ func (s *BatchGetCommitsOutput) SetErrors(v []*BatchGetCommitsError) *BatchGetCo return s } +// Returns information about errors in a BatchGetRepositories operation. +type BatchGetRepositoriesError struct { + _ struct{} `type:"structure"` + + // An error code that specifies the type of failure. + ErrorCode *string `locationName:"errorCode" type:"string" enum:"BatchGetRepositoriesErrorCodeEnum"` + + // An error message that provides detail about why the repository either was + // not found or was not in a valid state. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The ID of a repository that either could not be found or was not in a valid + // state. + RepositoryId *string `locationName:"repositoryId" type:"string"` + + // The name of a repository that either could not be found or was not in a valid + // state. + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetRepositoriesError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetRepositoriesError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchGetRepositoriesError) SetErrorCode(v string) *BatchGetRepositoriesError { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchGetRepositoriesError) SetErrorMessage(v string) *BatchGetRepositoriesError { + s.ErrorMessage = &v + return s +} + +// SetRepositoryId sets the RepositoryId field's value. +func (s *BatchGetRepositoriesError) SetRepositoryId(v string) *BatchGetRepositoriesError { + s.RepositoryId = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *BatchGetRepositoriesError) SetRepositoryName(v string) *BatchGetRepositoriesError { + s.RepositoryName = &v + return s +} + // Represents the input of a batch get repositories operation. type BatchGetRepositoriesInput struct { _ struct{} `type:"structure"` @@ -12909,6 +13095,10 @@ func (s *BatchGetRepositoriesInput) SetRepositoryNames(v []*string) *BatchGetRep type BatchGetRepositoriesOutput struct { _ struct{} `type:"structure"` + // Returns information about any errors returned when attempting to retrieve + // information about the repositories. + Errors []*BatchGetRepositoriesError `locationName:"errors" type:"list"` + // A list of repositories returned by the batch get repositories operation. Repositories []*RepositoryMetadata `locationName:"repositories" type:"list"` @@ -12934,6 +13124,12 @@ func (s BatchGetRepositoriesOutput) GoString() string { return s.String() } +// SetErrors sets the Errors field's value. +func (s *BatchGetRepositoriesOutput) SetErrors(v []*BatchGetRepositoriesError) *BatchGetRepositoriesOutput { + s.Errors = v + return s +} + // SetRepositories sets the Repositories field's value. func (s *BatchGetRepositoriesOutput) SetRepositories(v []*RepositoryMetadata) *BatchGetRepositoriesOutput { s.Repositories = v @@ -16012,6 +16208,15 @@ func (s *CreatePullRequestOutput) SetPullRequest(v *PullRequest) *CreatePullRequ type CreateRepositoryInput struct { _ struct{} `type:"structure"` + // The ID of the encryption key. You can view the ID of an encryption key in + // the KMS console, or use the KMS APIs to programmatically retrieve a key ID. + // For more information about acceptable values for kmsKeyID, see KeyId (https://docs.aws.amazon.com/APIReference/API_Decrypt.html#KMS-Decrypt-request-KeyId) + // in the Decrypt API description in the Key Management Service API Reference. + // + // If no key is specified, the default aws/codecommit Amazon Web Services managed + // key is used. + KmsKeyId *string `locationName:"kmsKeyId" type:"string"` + // A comment or description about the new repository. // // The description field for a repository accepts all HTML characters and all @@ -16070,6 +16275,12 @@ func (s *CreateRepositoryInput) Validate() error { return nil } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateRepositoryInput) SetKmsKeyId(v string) *CreateRepositoryInput { + s.KmsKeyId = &v + return s +} + // SetRepositoryDescription sets the RepositoryDescription field's value. func (s *CreateRepositoryInput) SetRepositoryDescription(v string) *CreateRepositoryInput { s.RepositoryDescription = &v @@ -17868,6 +18079,136 @@ func (s *EncryptionKeyDisabledException) RequestID() string { return s.RespMetadata.RequestID } +// The Key Management Service encryption key is not valid. +type EncryptionKeyInvalidIdException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionKeyInvalidIdException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionKeyInvalidIdException) GoString() string { + return s.String() +} + +func newErrorEncryptionKeyInvalidIdException(v protocol.ResponseMetadata) error { + return &EncryptionKeyInvalidIdException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *EncryptionKeyInvalidIdException) Code() string { + return "EncryptionKeyInvalidIdException" +} + +// Message returns the exception's message. +func (s *EncryptionKeyInvalidIdException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EncryptionKeyInvalidIdException) OrigErr() error { + return nil +} + +func (s *EncryptionKeyInvalidIdException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *EncryptionKeyInvalidIdException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *EncryptionKeyInvalidIdException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A KMS encryption key was used to try and encrypt or decrypt a repository, +// but either the repository or the key was not in a valid state to support +// the operation. +type EncryptionKeyInvalidUsageException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionKeyInvalidUsageException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionKeyInvalidUsageException) GoString() string { + return s.String() +} + +func newErrorEncryptionKeyInvalidUsageException(v protocol.ResponseMetadata) error { + return &EncryptionKeyInvalidUsageException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *EncryptionKeyInvalidUsageException) Code() string { + return "EncryptionKeyInvalidUsageException" +} + +// Message returns the exception's message. +func (s *EncryptionKeyInvalidUsageException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EncryptionKeyInvalidUsageException) OrigErr() error { + return nil +} + +func (s *EncryptionKeyInvalidUsageException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *EncryptionKeyInvalidUsageException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *EncryptionKeyInvalidUsageException) RequestID() string { + return s.RespMetadata.RequestID +} + // No encryption key was found. type EncryptionKeyNotFoundException struct { _ struct{} `type:"structure"` @@ -17932,6 +18273,70 @@ func (s *EncryptionKeyNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// A KMS encryption key ID is required but was not specified. +type EncryptionKeyRequiredException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionKeyRequiredException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionKeyRequiredException) GoString() string { + return s.String() +} + +func newErrorEncryptionKeyRequiredException(v protocol.ResponseMetadata) error { + return &EncryptionKeyRequiredException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *EncryptionKeyRequiredException) Code() string { + return "EncryptionKeyRequiredException" +} + +// Message returns the exception's message. +func (s *EncryptionKeyRequiredException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EncryptionKeyRequiredException) OrigErr() error { + return nil +} + +func (s *EncryptionKeyRequiredException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *EncryptionKeyRequiredException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *EncryptionKeyRequiredException) RequestID() string { + return s.RespMetadata.RequestID +} + // The encryption key is not available. type EncryptionKeyUnavailableException struct { _ struct{} `type:"structure"` @@ -32543,6 +32948,10 @@ type RepositoryMetadata struct { // The repository's default branch name. DefaultBranch *string `locationName:"defaultBranch" min:"1" type:"string"` + // The ID of the Key Management Service encryption key used to encrypt and decrypt + // the repository. + KmsKeyId *string `locationName:"kmsKeyId" type:"string"` + // The date and time the repository was last modified, in timestamp format. LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` @@ -32610,6 +33019,12 @@ func (s *RepositoryMetadata) SetDefaultBranch(v string) *RepositoryMetadata { return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *RepositoryMetadata) SetKmsKeyId(v string) *RepositoryMetadata { + s.KmsKeyId = &v + return s +} + // SetLastModifiedDate sets the LastModifiedDate field's value. func (s *RepositoryMetadata) SetLastModifiedDate(v time.Time) *RepositoryMetadata { s.LastModifiedDate = &v @@ -36186,6 +36601,122 @@ func (s UpdateRepositoryDescriptionOutput) GoString() string { return s.String() } +type UpdateRepositoryEncryptionKeyInput struct { + _ struct{} `type:"structure"` + + // The ID of the encryption key. You can view the ID of an encryption key in + // the KMS console, or use the KMS APIs to programmatically retrieve a key ID. + // For more information about acceptable values for keyID, see KeyId (https://docs.aws.amazon.com/APIReference/API_Decrypt.html#KMS-Decrypt-request-KeyId) + // in the Decrypt API description in the Key Management Service API Reference. + // + // KmsKeyId is a required field + KmsKeyId *string `locationName:"kmsKeyId" type:"string" required:"true"` + + // The name of the repository for which you want to update the KMS encryption + // key used to encrypt and decrypt the repository. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRepositoryEncryptionKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRepositoryEncryptionKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRepositoryEncryptionKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRepositoryEncryptionKeyInput"} + if s.KmsKeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KmsKeyId")) + } + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *UpdateRepositoryEncryptionKeyInput) SetKmsKeyId(v string) *UpdateRepositoryEncryptionKeyInput { + s.KmsKeyId = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *UpdateRepositoryEncryptionKeyInput) SetRepositoryName(v string) *UpdateRepositoryEncryptionKeyInput { + s.RepositoryName = &v + return s +} + +type UpdateRepositoryEncryptionKeyOutput struct { + _ struct{} `type:"structure"` + + // The ID of the encryption key. + KmsKeyId *string `locationName:"kmsKeyId" type:"string"` + + // The ID of the encryption key formerly used to encrypt and decrypt the repository. + OriginalKmsKeyId *string `locationName:"originalKmsKeyId" type:"string"` + + // The ID of the repository. + RepositoryId *string `locationName:"repositoryId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRepositoryEncryptionKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRepositoryEncryptionKeyOutput) GoString() string { + return s.String() +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *UpdateRepositoryEncryptionKeyOutput) SetKmsKeyId(v string) *UpdateRepositoryEncryptionKeyOutput { + s.KmsKeyId = &v + return s +} + +// SetOriginalKmsKeyId sets the OriginalKmsKeyId field's value. +func (s *UpdateRepositoryEncryptionKeyOutput) SetOriginalKmsKeyId(v string) *UpdateRepositoryEncryptionKeyOutput { + s.OriginalKmsKeyId = &v + return s +} + +// SetRepositoryId sets the RepositoryId field's value. +func (s *UpdateRepositoryEncryptionKeyOutput) SetRepositoryId(v string) *UpdateRepositoryEncryptionKeyOutput { + s.RepositoryId = &v + return s +} + // Represents the input of an update repository description operation. type UpdateRepositoryNameInput struct { _ struct{} `type:"structure"` @@ -36342,6 +36873,38 @@ func ApprovalState_Values() []string { } } +const ( + // BatchGetRepositoriesErrorCodeEnumEncryptionIntegrityChecksFailedException is a BatchGetRepositoriesErrorCodeEnum enum value + BatchGetRepositoriesErrorCodeEnumEncryptionIntegrityChecksFailedException = "EncryptionIntegrityChecksFailedException" + + // BatchGetRepositoriesErrorCodeEnumEncryptionKeyAccessDeniedException is a BatchGetRepositoriesErrorCodeEnum enum value + BatchGetRepositoriesErrorCodeEnumEncryptionKeyAccessDeniedException = "EncryptionKeyAccessDeniedException" + + // BatchGetRepositoriesErrorCodeEnumEncryptionKeyDisabledException is a BatchGetRepositoriesErrorCodeEnum enum value + BatchGetRepositoriesErrorCodeEnumEncryptionKeyDisabledException = "EncryptionKeyDisabledException" + + // BatchGetRepositoriesErrorCodeEnumEncryptionKeyNotFoundException is a BatchGetRepositoriesErrorCodeEnum enum value + BatchGetRepositoriesErrorCodeEnumEncryptionKeyNotFoundException = "EncryptionKeyNotFoundException" + + // BatchGetRepositoriesErrorCodeEnumEncryptionKeyUnavailableException is a BatchGetRepositoriesErrorCodeEnum enum value + BatchGetRepositoriesErrorCodeEnumEncryptionKeyUnavailableException = "EncryptionKeyUnavailableException" + + // BatchGetRepositoriesErrorCodeEnumRepositoryDoesNotExistException is a BatchGetRepositoriesErrorCodeEnum enum value + BatchGetRepositoriesErrorCodeEnumRepositoryDoesNotExistException = "RepositoryDoesNotExistException" +) + +// BatchGetRepositoriesErrorCodeEnum_Values returns all elements of the BatchGetRepositoriesErrorCodeEnum enum +func BatchGetRepositoriesErrorCodeEnum_Values() []string { + return []string{ + BatchGetRepositoriesErrorCodeEnumEncryptionIntegrityChecksFailedException, + BatchGetRepositoriesErrorCodeEnumEncryptionKeyAccessDeniedException, + BatchGetRepositoriesErrorCodeEnumEncryptionKeyDisabledException, + BatchGetRepositoriesErrorCodeEnumEncryptionKeyNotFoundException, + BatchGetRepositoriesErrorCodeEnumEncryptionKeyUnavailableException, + BatchGetRepositoriesErrorCodeEnumRepositoryDoesNotExistException, + } +} + const ( // ChangeTypeEnumA is a ChangeTypeEnum enum value ChangeTypeEnumA = "A" diff --git a/service/codecommit/codecommitiface/interface.go b/service/codecommit/codecommitiface/interface.go index 0fada877ea..bb444b38bb 100644 --- a/service/codecommit/codecommitiface/interface.go +++ b/service/codecommit/codecommitiface/interface.go @@ -410,6 +410,10 @@ type CodeCommitAPI interface { UpdateRepositoryDescriptionWithContext(aws.Context, *codecommit.UpdateRepositoryDescriptionInput, ...request.Option) (*codecommit.UpdateRepositoryDescriptionOutput, error) UpdateRepositoryDescriptionRequest(*codecommit.UpdateRepositoryDescriptionInput) (*request.Request, *codecommit.UpdateRepositoryDescriptionOutput) + UpdateRepositoryEncryptionKey(*codecommit.UpdateRepositoryEncryptionKeyInput) (*codecommit.UpdateRepositoryEncryptionKeyOutput, error) + UpdateRepositoryEncryptionKeyWithContext(aws.Context, *codecommit.UpdateRepositoryEncryptionKeyInput, ...request.Option) (*codecommit.UpdateRepositoryEncryptionKeyOutput, error) + UpdateRepositoryEncryptionKeyRequest(*codecommit.UpdateRepositoryEncryptionKeyInput) (*request.Request, *codecommit.UpdateRepositoryEncryptionKeyOutput) + UpdateRepositoryName(*codecommit.UpdateRepositoryNameInput) (*codecommit.UpdateRepositoryNameOutput, error) UpdateRepositoryNameWithContext(aws.Context, *codecommit.UpdateRepositoryNameInput, ...request.Option) (*codecommit.UpdateRepositoryNameOutput, error) UpdateRepositoryNameRequest(*codecommit.UpdateRepositoryNameInput) (*request.Request, *codecommit.UpdateRepositoryNameOutput) diff --git a/service/codecommit/doc.go b/service/codecommit/doc.go index c7de32113c..6202322ee4 100644 --- a/service/codecommit/doc.go +++ b/service/codecommit/doc.go @@ -25,6 +25,9 @@ // - UpdateRepositoryDescription, which sets or updates the description of // the repository. // +// - UpdateRepositoryEncryptionKey, which updates the Key Management Service +// encryption key used to encrypt and decrypt a repository. +// // - UpdateRepositoryName, which changes the name of the repository. If you // change the name of a repository, no other users of that repository can // access it until you send them the new HTTPS or SSH URL to use. diff --git a/service/codecommit/errors.go b/service/codecommit/errors.go index c3856ee4e5..b3b8dade8a 100644 --- a/service/codecommit/errors.go +++ b/service/codecommit/errors.go @@ -290,12 +290,32 @@ const ( // The encryption key is disabled. ErrCodeEncryptionKeyDisabledException = "EncryptionKeyDisabledException" + // ErrCodeEncryptionKeyInvalidIdException for service response error code + // "EncryptionKeyInvalidIdException". + // + // The Key Management Service encryption key is not valid. + ErrCodeEncryptionKeyInvalidIdException = "EncryptionKeyInvalidIdException" + + // ErrCodeEncryptionKeyInvalidUsageException for service response error code + // "EncryptionKeyInvalidUsageException". + // + // A KMS encryption key was used to try and encrypt or decrypt a repository, + // but either the repository or the key was not in a valid state to support + // the operation. + ErrCodeEncryptionKeyInvalidUsageException = "EncryptionKeyInvalidUsageException" + // ErrCodeEncryptionKeyNotFoundException for service response error code // "EncryptionKeyNotFoundException". // // No encryption key was found. ErrCodeEncryptionKeyNotFoundException = "EncryptionKeyNotFoundException" + // ErrCodeEncryptionKeyRequiredException for service response error code + // "EncryptionKeyRequiredException". + // + // A KMS encryption key ID is required but was not specified. + ErrCodeEncryptionKeyRequiredException = "EncryptionKeyRequiredException" + // ErrCodeEncryptionKeyUnavailableException for service response error code // "EncryptionKeyUnavailableException". // @@ -1317,7 +1337,10 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "EncryptionIntegrityChecksFailedException": newErrorEncryptionIntegrityChecksFailedException, "EncryptionKeyAccessDeniedException": newErrorEncryptionKeyAccessDeniedException, "EncryptionKeyDisabledException": newErrorEncryptionKeyDisabledException, + "EncryptionKeyInvalidIdException": newErrorEncryptionKeyInvalidIdException, + "EncryptionKeyInvalidUsageException": newErrorEncryptionKeyInvalidUsageException, "EncryptionKeyNotFoundException": newErrorEncryptionKeyNotFoundException, + "EncryptionKeyRequiredException": newErrorEncryptionKeyRequiredException, "EncryptionKeyUnavailableException": newErrorEncryptionKeyUnavailableException, "FileContentAndSourceFileSpecifiedException": newErrorFileContentAndSourceFileSpecifiedException, "FileContentRequiredException": newErrorFileContentRequiredException, diff --git a/service/connect/api.go b/service/connect/api.go index ac7f4d29e2..90135d9df0 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -1379,6 +1379,98 @@ func (c *Connect) AssociateTrafficDistributionGroupUserWithContext(ctx aws.Conte return out, req.Send() } +const opAssociateUserProficiencies = "AssociateUserProficiencies" + +// AssociateUserProficienciesRequest generates a "aws/request.Request" representing the +// client's request for the AssociateUserProficiencies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateUserProficiencies for more information on using the AssociateUserProficiencies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AssociateUserProficienciesRequest method. +// req, resp := client.AssociateUserProficienciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateUserProficiencies +func (c *Connect) AssociateUserProficienciesRequest(input *AssociateUserProficienciesInput) (req *request.Request, output *AssociateUserProficienciesOutput) { + op := &request.Operation{ + Name: opAssociateUserProficiencies, + HTTPMethod: "POST", + HTTPPath: "/users/{InstanceId}/{UserId}/associate-proficiencies", + } + + if input == nil { + input = &AssociateUserProficienciesInput{} + } + + output = &AssociateUserProficienciesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateUserProficiencies API operation for Amazon Connect Service. +// +// >Associates a set of proficiencies with a user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation AssociateUserProficiencies for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateUserProficiencies +func (c *Connect) AssociateUserProficiencies(input *AssociateUserProficienciesInput) (*AssociateUserProficienciesOutput, error) { + req, out := c.AssociateUserProficienciesRequest(input) + return out, req.Send() +} + +// AssociateUserProficienciesWithContext is the same as AssociateUserProficiencies with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateUserProficiencies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) AssociateUserProficienciesWithContext(ctx aws.Context, input *AssociateUserProficienciesInput, opts ...request.Option) (*AssociateUserProficienciesOutput, error) { + req, out := c.AssociateUserProficienciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchAssociateAnalyticsDataSet = "BatchAssociateAnalyticsDataSet" // BatchAssociateAnalyticsDataSetRequest generates a "aws/request.Request" representing the @@ -2774,6 +2866,104 @@ func (c *Connect) CreatePersistentContactAssociationWithContext(ctx aws.Context, return out, req.Send() } +const opCreatePredefinedAttribute = "CreatePredefinedAttribute" + +// CreatePredefinedAttributeRequest generates a "aws/request.Request" representing the +// client's request for the CreatePredefinedAttribute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreatePredefinedAttribute for more information on using the CreatePredefinedAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreatePredefinedAttributeRequest method. +// req, resp := client.CreatePredefinedAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreatePredefinedAttribute +func (c *Connect) CreatePredefinedAttributeRequest(input *CreatePredefinedAttributeInput) (req *request.Request, output *CreatePredefinedAttributeOutput) { + op := &request.Operation{ + Name: opCreatePredefinedAttribute, + HTTPMethod: "PUT", + HTTPPath: "/predefined-attributes/{InstanceId}", + } + + if input == nil { + input = &CreatePredefinedAttributeInput{} + } + + output = &CreatePredefinedAttributeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreatePredefinedAttribute API operation for Amazon Connect Service. +// +// Creates a new predefined attribute for the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation CreatePredefinedAttribute for usage and error information. +// +// Returned Error Types: +// +// - DuplicateResourceException +// A resource with the specified name already exists. +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - LimitExceededException +// The allowed limit for the resource has been exceeded. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreatePredefinedAttribute +func (c *Connect) CreatePredefinedAttribute(input *CreatePredefinedAttributeInput) (*CreatePredefinedAttributeOutput, error) { + req, out := c.CreatePredefinedAttributeRequest(input) + return out, req.Send() +} + +// CreatePredefinedAttributeWithContext is the same as CreatePredefinedAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePredefinedAttribute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) CreatePredefinedAttributeWithContext(ctx aws.Context, input *CreatePredefinedAttributeInput, opts ...request.Option) (*CreatePredefinedAttributeOutput, error) { + req, out := c.CreatePredefinedAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreatePrompt = "CreatePrompt" // CreatePromptRequest generates a "aws/request.Request" representing the @@ -4946,6 +5136,101 @@ func (c *Connect) DeleteIntegrationAssociationWithContext(ctx aws.Context, input return out, req.Send() } +const opDeletePredefinedAttribute = "DeletePredefinedAttribute" + +// DeletePredefinedAttributeRequest generates a "aws/request.Request" representing the +// client's request for the DeletePredefinedAttribute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeletePredefinedAttribute for more information on using the DeletePredefinedAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeletePredefinedAttributeRequest method. +// req, resp := client.DeletePredefinedAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeletePredefinedAttribute +func (c *Connect) DeletePredefinedAttributeRequest(input *DeletePredefinedAttributeInput) (req *request.Request, output *DeletePredefinedAttributeOutput) { + op := &request.Operation{ + Name: opDeletePredefinedAttribute, + HTTPMethod: "DELETE", + HTTPPath: "/predefined-attributes/{InstanceId}/{Name}", + } + + if input == nil { + input = &DeletePredefinedAttributeInput{} + } + + output = &DeletePredefinedAttributeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePredefinedAttribute API operation for Amazon Connect Service. +// +// Deletes a predefined attribute from the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DeletePredefinedAttribute for usage and error information. +// +// Returned Error Types: +// +// - ResourceInUseException +// That resource is already in use. Please try another. +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeletePredefinedAttribute +func (c *Connect) DeletePredefinedAttribute(input *DeletePredefinedAttributeInput) (*DeletePredefinedAttributeOutput, error) { + req, out := c.DeletePredefinedAttributeRequest(input) + return out, req.Send() +} + +// DeletePredefinedAttributeWithContext is the same as DeletePredefinedAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePredefinedAttribute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) DeletePredefinedAttributeWithContext(ctx aws.Context, input *DeletePredefinedAttributeInput, opts ...request.Option) (*DeletePredefinedAttributeOutput, error) { + req, out := c.DeletePredefinedAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeletePrompt = "DeletePrompt" // DeletePromptRequest generates a "aws/request.Request" representing the @@ -7303,6 +7588,97 @@ func (c *Connect) DescribePhoneNumberWithContext(ctx aws.Context, input *Describ return out, req.Send() } +const opDescribePredefinedAttribute = "DescribePredefinedAttribute" + +// DescribePredefinedAttributeRequest generates a "aws/request.Request" representing the +// client's request for the DescribePredefinedAttribute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribePredefinedAttribute for more information on using the DescribePredefinedAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribePredefinedAttributeRequest method. +// req, resp := client.DescribePredefinedAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribePredefinedAttribute +func (c *Connect) DescribePredefinedAttributeRequest(input *DescribePredefinedAttributeInput) (req *request.Request, output *DescribePredefinedAttributeOutput) { + op := &request.Operation{ + Name: opDescribePredefinedAttribute, + HTTPMethod: "GET", + HTTPPath: "/predefined-attributes/{InstanceId}/{Name}", + } + + if input == nil { + input = &DescribePredefinedAttributeInput{} + } + + output = &DescribePredefinedAttributeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribePredefinedAttribute API operation for Amazon Connect Service. +// +// Describes a predefined attribute for the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DescribePredefinedAttribute for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribePredefinedAttribute +func (c *Connect) DescribePredefinedAttribute(input *DescribePredefinedAttributeInput) (*DescribePredefinedAttributeOutput, error) { + req, out := c.DescribePredefinedAttributeRequest(input) + return out, req.Send() +} + +// DescribePredefinedAttributeWithContext is the same as DescribePredefinedAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See DescribePredefinedAttribute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) DescribePredefinedAttributeWithContext(ctx aws.Context, input *DescribePredefinedAttributeInput, opts ...request.Option) (*DescribePredefinedAttributeOutput, error) { + req, out := c.DescribePredefinedAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribePrompt = "DescribePrompt" // DescribePromptRequest generates a "aws/request.Request" representing the @@ -9550,6 +9926,98 @@ func (c *Connect) DisassociateTrafficDistributionGroupUserWithContext(ctx aws.Co return out, req.Send() } +const opDisassociateUserProficiencies = "DisassociateUserProficiencies" + +// DisassociateUserProficienciesRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateUserProficiencies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateUserProficiencies for more information on using the DisassociateUserProficiencies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisassociateUserProficienciesRequest method. +// req, resp := client.DisassociateUserProficienciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateUserProficiencies +func (c *Connect) DisassociateUserProficienciesRequest(input *DisassociateUserProficienciesInput) (req *request.Request, output *DisassociateUserProficienciesOutput) { + op := &request.Operation{ + Name: opDisassociateUserProficiencies, + HTTPMethod: "POST", + HTTPPath: "/users/{InstanceId}/{UserId}/disassociate-proficiencies", + } + + if input == nil { + input = &DisassociateUserProficienciesInput{} + } + + output = &DisassociateUserProficienciesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateUserProficiencies API operation for Amazon Connect Service. +// +// Disassociates a set of proficiencies from a user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DisassociateUserProficiencies for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateUserProficiencies +func (c *Connect) DisassociateUserProficiencies(input *DisassociateUserProficienciesInput) (*DisassociateUserProficienciesOutput, error) { + req, out := c.DisassociateUserProficienciesRequest(input) + return out, req.Send() +} + +// DisassociateUserProficienciesWithContext is the same as DisassociateUserProficiencies with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateUserProficiencies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) DisassociateUserProficienciesWithContext(ctx aws.Context, input *DisassociateUserProficienciesInput, opts ...request.Option) (*DisassociateUserProficienciesOutput, error) { + req, out := c.DisassociateUserProficienciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDismissUserContact = "DismissUserContact" // DismissUserContactRequest generates a "aws/request.Request" representing the @@ -14027,6 +14495,154 @@ func (c *Connect) ListPhoneNumbersV2PagesWithContext(ctx aws.Context, input *Lis return p.Err() } +const opListPredefinedAttributes = "ListPredefinedAttributes" + +// ListPredefinedAttributesRequest generates a "aws/request.Request" representing the +// client's request for the ListPredefinedAttributes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListPredefinedAttributes for more information on using the ListPredefinedAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListPredefinedAttributesRequest method. +// req, resp := client.ListPredefinedAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPredefinedAttributes +func (c *Connect) ListPredefinedAttributesRequest(input *ListPredefinedAttributesInput) (req *request.Request, output *ListPredefinedAttributesOutput) { + op := &request.Operation{ + Name: opListPredefinedAttributes, + HTTPMethod: "GET", + HTTPPath: "/predefined-attributes/{InstanceId}", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPredefinedAttributesInput{} + } + + output = &ListPredefinedAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPredefinedAttributes API operation for Amazon Connect Service. +// +// Lists predefined attributes for the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation ListPredefinedAttributes for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPredefinedAttributes +func (c *Connect) ListPredefinedAttributes(input *ListPredefinedAttributesInput) (*ListPredefinedAttributesOutput, error) { + req, out := c.ListPredefinedAttributesRequest(input) + return out, req.Send() +} + +// ListPredefinedAttributesWithContext is the same as ListPredefinedAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See ListPredefinedAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListPredefinedAttributesWithContext(ctx aws.Context, input *ListPredefinedAttributesInput, opts ...request.Option) (*ListPredefinedAttributesOutput, error) { + req, out := c.ListPredefinedAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPredefinedAttributesPages iterates over the pages of a ListPredefinedAttributes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPredefinedAttributes method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPredefinedAttributes operation. +// pageNum := 0 +// err := client.ListPredefinedAttributesPages(params, +// func(page *connect.ListPredefinedAttributesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Connect) ListPredefinedAttributesPages(input *ListPredefinedAttributesInput, fn func(*ListPredefinedAttributesOutput, bool) bool) error { + return c.ListPredefinedAttributesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPredefinedAttributesPagesWithContext same as ListPredefinedAttributesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListPredefinedAttributesPagesWithContext(ctx aws.Context, input *ListPredefinedAttributesInput, fn func(*ListPredefinedAttributesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPredefinedAttributesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPredefinedAttributesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPredefinedAttributesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListPrompts = "ListPrompts" // ListPromptsRequest generates a "aws/request.Request" representing the @@ -16664,6 +17280,154 @@ func (c *Connect) ListUserHierarchyGroupsPagesWithContext(ctx aws.Context, input return p.Err() } +const opListUserProficiencies = "ListUserProficiencies" + +// ListUserProficienciesRequest generates a "aws/request.Request" representing the +// client's request for the ListUserProficiencies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListUserProficiencies for more information on using the ListUserProficiencies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListUserProficienciesRequest method. +// req, resp := client.ListUserProficienciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserProficiencies +func (c *Connect) ListUserProficienciesRequest(input *ListUserProficienciesInput) (req *request.Request, output *ListUserProficienciesOutput) { + op := &request.Operation{ + Name: opListUserProficiencies, + HTTPMethod: "GET", + HTTPPath: "/users/{InstanceId}/{UserId}/proficiencies", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListUserProficienciesInput{} + } + + output = &ListUserProficienciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUserProficiencies API operation for Amazon Connect Service. +// +// Lists proficiencies associated with a user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation ListUserProficiencies for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserProficiencies +func (c *Connect) ListUserProficiencies(input *ListUserProficienciesInput) (*ListUserProficienciesOutput, error) { + req, out := c.ListUserProficienciesRequest(input) + return out, req.Send() +} + +// ListUserProficienciesWithContext is the same as ListUserProficiencies with the addition of +// the ability to pass a context and additional request options. +// +// See ListUserProficiencies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListUserProficienciesWithContext(ctx aws.Context, input *ListUserProficienciesInput, opts ...request.Option) (*ListUserProficienciesOutput, error) { + req, out := c.ListUserProficienciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListUserProficienciesPages iterates over the pages of a ListUserProficiencies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListUserProficiencies method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListUserProficiencies operation. +// pageNum := 0 +// err := client.ListUserProficienciesPages(params, +// func(page *connect.ListUserProficienciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Connect) ListUserProficienciesPages(input *ListUserProficienciesInput, fn func(*ListUserProficienciesOutput, bool) bool) error { + return c.ListUserProficienciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListUserProficienciesPagesWithContext same as ListUserProficienciesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListUserProficienciesPagesWithContext(ctx aws.Context, input *ListUserProficienciesInput, fn func(*ListUserProficienciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListUserProficienciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListUserProficienciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListUserProficienciesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListUsers = "ListUsers" // ListUsersRequest generates a "aws/request.Request" representing the @@ -17990,6 +18754,154 @@ func (c *Connect) SearchAvailablePhoneNumbersPagesWithContext(ctx aws.Context, i return p.Err() } +const opSearchContacts = "SearchContacts" + +// SearchContactsRequest generates a "aws/request.Request" representing the +// client's request for the SearchContacts operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SearchContacts for more information on using the SearchContacts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the SearchContactsRequest method. +// req, resp := client.SearchContactsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SearchContacts +func (c *Connect) SearchContactsRequest(input *SearchContactsInput) (req *request.Request, output *SearchContactsOutput) { + op := &request.Operation{ + Name: opSearchContacts, + HTTPMethod: "POST", + HTTPPath: "/search-contacts", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchContactsInput{} + } + + output = &SearchContactsOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchContacts API operation for Amazon Connect Service. +// +// Searches contacts in an Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation SearchContacts for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SearchContacts +func (c *Connect) SearchContacts(input *SearchContactsInput) (*SearchContactsOutput, error) { + req, out := c.SearchContactsRequest(input) + return out, req.Send() +} + +// SearchContactsWithContext is the same as SearchContacts with the addition of +// the ability to pass a context and additional request options. +// +// See SearchContacts for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) SearchContactsWithContext(ctx aws.Context, input *SearchContactsInput, opts ...request.Option) (*SearchContactsOutput, error) { + req, out := c.SearchContactsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchContactsPages iterates over the pages of a SearchContacts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchContacts method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a SearchContacts operation. +// pageNum := 0 +// err := client.SearchContactsPages(params, +// func(page *connect.SearchContactsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Connect) SearchContactsPages(input *SearchContactsInput, fn func(*SearchContactsOutput, bool) bool) error { + return c.SearchContactsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchContactsPagesWithContext same as SearchContactsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) SearchContactsPagesWithContext(ctx aws.Context, input *SearchContactsInput, fn func(*SearchContactsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchContactsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchContactsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchContactsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opSearchHoursOfOperations = "SearchHoursOfOperations" // SearchHoursOfOperationsRequest generates a "aws/request.Request" representing the @@ -18139,6 +19051,154 @@ func (c *Connect) SearchHoursOfOperationsPagesWithContext(ctx aws.Context, input return p.Err() } +const opSearchPredefinedAttributes = "SearchPredefinedAttributes" + +// SearchPredefinedAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SearchPredefinedAttributes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SearchPredefinedAttributes for more information on using the SearchPredefinedAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the SearchPredefinedAttributesRequest method. +// req, resp := client.SearchPredefinedAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SearchPredefinedAttributes +func (c *Connect) SearchPredefinedAttributesRequest(input *SearchPredefinedAttributesInput) (req *request.Request, output *SearchPredefinedAttributesOutput) { + op := &request.Operation{ + Name: opSearchPredefinedAttributes, + HTTPMethod: "POST", + HTTPPath: "/search-predefined-attributes", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchPredefinedAttributesInput{} + } + + output = &SearchPredefinedAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchPredefinedAttributes API operation for Amazon Connect Service. +// +// Predefined attributes that meet certain criteria. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation SearchPredefinedAttributes for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SearchPredefinedAttributes +func (c *Connect) SearchPredefinedAttributes(input *SearchPredefinedAttributesInput) (*SearchPredefinedAttributesOutput, error) { + req, out := c.SearchPredefinedAttributesRequest(input) + return out, req.Send() +} + +// SearchPredefinedAttributesWithContext is the same as SearchPredefinedAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See SearchPredefinedAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) SearchPredefinedAttributesWithContext(ctx aws.Context, input *SearchPredefinedAttributesInput, opts ...request.Option) (*SearchPredefinedAttributesOutput, error) { + req, out := c.SearchPredefinedAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchPredefinedAttributesPages iterates over the pages of a SearchPredefinedAttributes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchPredefinedAttributes method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a SearchPredefinedAttributes operation. +// pageNum := 0 +// err := client.SearchPredefinedAttributesPages(params, +// func(page *connect.SearchPredefinedAttributesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Connect) SearchPredefinedAttributesPages(input *SearchPredefinedAttributesInput, fn func(*SearchPredefinedAttributesOutput, bool) bool) error { + return c.SearchPredefinedAttributesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchPredefinedAttributesPagesWithContext same as SearchPredefinedAttributesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) SearchPredefinedAttributesPagesWithContext(ctx aws.Context, input *SearchPredefinedAttributesInput, fn func(*SearchPredefinedAttributesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchPredefinedAttributesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchPredefinedAttributesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchPredefinedAttributesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opSearchPrompts = "SearchPrompts" // SearchPromptsRequest generates a "aws/request.Request" representing the @@ -22038,6 +23098,112 @@ func (c *Connect) UpdateContactFlowNameWithContext(ctx aws.Context, input *Updat return out, req.Send() } +const opUpdateContactRoutingData = "UpdateContactRoutingData" + +// UpdateContactRoutingDataRequest generates a "aws/request.Request" representing the +// client's request for the UpdateContactRoutingData operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateContactRoutingData for more information on using the UpdateContactRoutingData +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateContactRoutingDataRequest method. +// req, resp := client.UpdateContactRoutingDataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactRoutingData +func (c *Connect) UpdateContactRoutingDataRequest(input *UpdateContactRoutingDataInput) (req *request.Request, output *UpdateContactRoutingDataOutput) { + op := &request.Operation{ + Name: opUpdateContactRoutingData, + HTTPMethod: "POST", + HTTPPath: "/contacts/{InstanceId}/{ContactId}/routing-data", + } + + if input == nil { + input = &UpdateContactRoutingDataInput{} + } + + output = &UpdateContactRoutingDataOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateContactRoutingData API operation for Amazon Connect Service. +// +// This API is in preview release for Amazon Connect and is subject to change. +// +// Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). +// These properties can be used to change a customer's position in the queue. +// For example, you can move a contact to the back of the queue by setting a +// lower routing priority relative to other contacts in queue; or you can move +// a contact to the front of the queue by increasing the routing age which will +// make the contact look artificially older and therefore higher up in the first-in-first-out +// routing order. Note that adjusting the routing age of a contact affects only +// its position in queue, and not its actual queue wait time as reported through +// metrics. These properties can also be updated by using the Set routing priority +// / age flow block (https://docs.aws.amazon.com/connect/latest/adminguide/change-routing-priority.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation UpdateContactRoutingData for usage and error information. +// +// Returned Error Types: +// +// - ResourceConflictException +// A resource already has that name. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - AccessDeniedException +// You do not have sufficient permissions to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactRoutingData +func (c *Connect) UpdateContactRoutingData(input *UpdateContactRoutingDataInput) (*UpdateContactRoutingDataOutput, error) { + req, out := c.UpdateContactRoutingDataRequest(input) + return out, req.Send() +} + +// UpdateContactRoutingDataWithContext is the same as UpdateContactRoutingData with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateContactRoutingData for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) UpdateContactRoutingDataWithContext(ctx aws.Context, input *UpdateContactRoutingDataInput, opts ...request.Option) (*UpdateContactRoutingDataOutput, error) { + req, out := c.UpdateContactRoutingDataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateContactSchedule = "UpdateContactSchedule" // UpdateContactScheduleRequest generates a "aws/request.Request" representing the @@ -22839,6 +24005,98 @@ func (c *Connect) UpdatePhoneNumberMetadataWithContext(ctx aws.Context, input *U return out, req.Send() } +const opUpdatePredefinedAttribute = "UpdatePredefinedAttribute" + +// UpdatePredefinedAttributeRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePredefinedAttribute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdatePredefinedAttribute for more information on using the UpdatePredefinedAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdatePredefinedAttributeRequest method. +// req, resp := client.UpdatePredefinedAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdatePredefinedAttribute +func (c *Connect) UpdatePredefinedAttributeRequest(input *UpdatePredefinedAttributeInput) (req *request.Request, output *UpdatePredefinedAttributeOutput) { + op := &request.Operation{ + Name: opUpdatePredefinedAttribute, + HTTPMethod: "POST", + HTTPPath: "/predefined-attributes/{InstanceId}/{Name}", + } + + if input == nil { + input = &UpdatePredefinedAttributeInput{} + } + + output = &UpdatePredefinedAttributeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdatePredefinedAttribute API operation for Amazon Connect Service. +// +// Updates a predefined attribute for the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation UpdatePredefinedAttribute for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdatePredefinedAttribute +func (c *Connect) UpdatePredefinedAttribute(input *UpdatePredefinedAttributeInput) (*UpdatePredefinedAttributeOutput, error) { + req, out := c.UpdatePredefinedAttributeRequest(input) + return out, req.Send() +} + +// UpdatePredefinedAttributeWithContext is the same as UpdatePredefinedAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePredefinedAttribute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) UpdatePredefinedAttributeWithContext(ctx aws.Context, input *UpdatePredefinedAttributeInput, opts ...request.Option) (*UpdatePredefinedAttributeOutput, error) { + req, out := c.UpdatePredefinedAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdatePrompt = "UpdatePrompt" // UpdatePromptRequest generates a "aws/request.Request" representing the @@ -24943,6 +26201,98 @@ func (c *Connect) UpdateUserPhoneConfigWithContext(ctx aws.Context, input *Updat return out, req.Send() } +const opUpdateUserProficiencies = "UpdateUserProficiencies" + +// UpdateUserProficienciesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUserProficiencies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateUserProficiencies for more information on using the UpdateUserProficiencies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateUserProficienciesRequest method. +// req, resp := client.UpdateUserProficienciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserProficiencies +func (c *Connect) UpdateUserProficienciesRequest(input *UpdateUserProficienciesInput) (req *request.Request, output *UpdateUserProficienciesOutput) { + op := &request.Operation{ + Name: opUpdateUserProficiencies, + HTTPMethod: "POST", + HTTPPath: "/users/{InstanceId}/{UserId}/proficiencies", + } + + if input == nil { + input = &UpdateUserProficienciesInput{} + } + + output = &UpdateUserProficienciesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateUserProficiencies API operation for Amazon Connect Service. +// +// Updates the properties associated with the proficiencies of a user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation UpdateUserProficiencies for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserProficiencies +func (c *Connect) UpdateUserProficiencies(input *UpdateUserProficienciesInput) (*UpdateUserProficienciesOutput, error) { + req, out := c.UpdateUserProficienciesRequest(input) + return out, req.Send() +} + +// UpdateUserProficienciesWithContext is the same as UpdateUserProficiencies with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUserProficiencies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) UpdateUserProficienciesWithContext(ctx aws.Context, input *UpdateUserProficienciesInput, opts ...request.Option) (*UpdateUserProficienciesOutput, error) { + req, out := c.UpdateUserProficienciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateUserRoutingProfile = "UpdateUserRoutingProfile" // UpdateUserRoutingProfileRequest generates a "aws/request.Request" representing the @@ -25714,6 +27064,77 @@ func (s *AgentContactReference) SetStateStartTimestamp(v time.Time) *AgentContac return s } +// A structure that defines agent hierarchy group levels which can be used to +// filter search results. Important: Agent hierarchy group level information +// in search result is a snapshot, it does not represent current agent hierarchy +// who handled the contact. +type AgentHierarchyGroups struct { + _ struct{} `type:"structure"` + + // The identifiers for level 1 hierarchy groups. + L1Ids []*string `type:"list"` + + // The identifiers for level 2 hierarchy groups. + L2Ids []*string `type:"list"` + + // The identifiers for level 3 hierarchy groups. + L3Ids []*string `type:"list"` + + // The identifiers for level 4 hierarchy groups. + L4Ids []*string `type:"list"` + + // The identifiers for level 5 hierarchy groups. + L5Ids []*string `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AgentHierarchyGroups) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AgentHierarchyGroups) GoString() string { + return s.String() +} + +// SetL1Ids sets the L1Ids field's value. +func (s *AgentHierarchyGroups) SetL1Ids(v []*string) *AgentHierarchyGroups { + s.L1Ids = v + return s +} + +// SetL2Ids sets the L2Ids field's value. +func (s *AgentHierarchyGroups) SetL2Ids(v []*string) *AgentHierarchyGroups { + s.L2Ids = v + return s +} + +// SetL3Ids sets the L3Ids field's value. +func (s *AgentHierarchyGroups) SetL3Ids(v []*string) *AgentHierarchyGroups { + s.L3Ids = v + return s +} + +// SetL4Ids sets the L4Ids field's value. +func (s *AgentHierarchyGroups) SetL4Ids(v []*string) *AgentHierarchyGroups { + s.L4Ids = v + return s +} + +// SetL5Ids sets the L5Ids field's value. +func (s *AgentHierarchyGroups) SetL5Ids(v []*string) *AgentHierarchyGroups { + s.L5Ids = v + return s +} + // Information about the agent who accepted the contact. type AgentInfo struct { _ struct{} `type:"structure"` @@ -27617,6 +29038,119 @@ func (s AssociateTrafficDistributionGroupUserOutput) GoString() string { return s.String() } +type AssociateUserProficienciesInput struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN of the instance). + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The identifier of the user account. + // + // UserId is a required field + UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"` + + // The proficiencies to associate with the user. + // + // UserProficiencies is a required field + UserProficiencies []*UserProficiency `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateUserProficienciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateUserProficienciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateUserProficienciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateUserProficienciesInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) + } + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) + } + if s.UserProficiencies == nil { + invalidParams.Add(request.NewErrParamRequired("UserProficiencies")) + } + if s.UserProficiencies != nil { + for i, v := range s.UserProficiencies { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserProficiencies", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *AssociateUserProficienciesInput) SetInstanceId(v string) *AssociateUserProficienciesInput { + s.InstanceId = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *AssociateUserProficienciesInput) SetUserId(v string) *AssociateUserProficienciesInput { + s.UserId = &v + return s +} + +// SetUserProficiencies sets the UserProficiencies field's value. +func (s *AssociateUserProficienciesInput) SetUserProficiencies(v []*UserProficiency) *AssociateUserProficienciesInput { + s.UserProficiencies = v + return s +} + +type AssociateUserProficienciesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateUserProficienciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateUserProficienciesOutput) GoString() string { + return s.String() +} + // Information about a reference when the referenceType is ATTACHMENT. Otherwise, // null. type AttachmentReference struct { @@ -29106,6 +30640,18 @@ type Contact struct { // If this contact was queued, this contains information about the queue. QueueInfo *QueueInfo `type:"structure"` + // An integer that represents the queue priority to be applied to the contact + // (lower priorities are routed preferentially). Cannot be specified if the + // QueueTimeAdjustmentSeconds is specified. Must be statically defined, must + // be larger than zero, and a valid integer value. Default Value is 5. + QueuePriority *int64 `min:"1" type:"long"` + + // An integer that represents the queue time adjust to be applied to the contact, + // in seconds (longer / larger queue time are routed preferentially). Cannot + // be specified if the QueuePriority is specified. Must be statically defined + // and a valid integer value. + QueueTimeAdjustmentSeconds *int64 `type:"integer"` + // The contactId that is related (https://docs.aws.amazon.com/connect/latest/adminguide/chat-persistence.html#relatedcontactid) // to this contact. RelatedContactId *string `min:"1" type:"string"` @@ -29236,6 +30782,18 @@ func (s *Contact) SetQueueInfo(v *QueueInfo) *Contact { return s } +// SetQueuePriority sets the QueuePriority field's value. +func (s *Contact) SetQueuePriority(v int64) *Contact { + s.QueuePriority = &v + return s +} + +// SetQueueTimeAdjustmentSeconds sets the QueueTimeAdjustmentSeconds field's value. +func (s *Contact) SetQueueTimeAdjustmentSeconds(v int64) *Contact { + s.QueueTimeAdjustmentSeconds = &v + return s +} + // SetRelatedContactId sets the RelatedContactId field's value. func (s *Contact) SetRelatedContactId(v string) *Contact { s.RelatedContactId = &v @@ -29272,6 +30830,55 @@ func (s *Contact) SetWisdomInfo(v *WisdomInfo) *Contact { return s } +// A structure that defines filters can be used to search within outputs analyzed +// by Amazon Connect Contact Lens in a contact. +type ContactAnalysis struct { + _ struct{} `type:"structure"` + + // A structure that defines filters can be used to search with text within an + // Amazon Connect Contact Lens analyzed transcript. + Transcript *Transcript `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactAnalysis) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactAnalysis) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContactAnalysis) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContactAnalysis"} + if s.Transcript != nil { + if err := s.Transcript.Validate(); err != nil { + invalidParams.AddNested("Transcript", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTranscript sets the Transcript field's value. +func (s *ContactAnalysis) SetTranscript(v *Transcript) *ContactAnalysis { + s.Transcript = v + return s +} + // Request object with information to create a contact. type ContactDataRequest struct { _ struct{} `type:"structure"` @@ -29857,6 +31464,219 @@ func (s *ContactNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// Information of returned contact. +type ContactSearchSummary struct { + _ struct{} `type:"structure"` + + // Information about the agent who accepted the contact. + AgentInfo *ContactSearchSummaryAgentInfo `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact + Arn *string `type:"string"` + + // How the contact reached your contact center. + Channel *string `type:"string" enum:"Channel"` + + // The timestamp when the customer endpoint disconnected from Amazon Connect. + DisconnectTimestamp *time.Time `type:"timestamp"` + + // The identifier of the contact summary. + Id *string `min:"1" type:"string"` + + // If this contact is related to other contacts, this is the ID of the initial + // contact. + InitialContactId *string `min:"1" type:"string"` + + // Indicates how the contact was initiated. + InitiationMethod *string `type:"string" enum:"ContactInitiationMethod"` + + // The date and time this contact was initiated, in UTC time. For INBOUND, this + // is when the contact arrived. For OUTBOUND, this is when the agent began dialing. + // For CALLBACK, this is when the callback contact was created. For TRANSFER + // and QUEUE_TRANSFER, this is when the transfer was initiated. For API, this + // is when the request arrived. For EXTERNAL_OUTBOUND, this is when the agent + // started dialing the external participant. For MONITOR, this is when the supervisor + // started listening to a contact. + InitiationTimestamp *time.Time `type:"timestamp"` + + // If this contact is not the first contact, this is the ID of the previous + // contact. + PreviousContactId *string `min:"1" type:"string"` + + // If this contact was queued, this contains information about the queue. + QueueInfo *ContactSearchSummaryQueueInfo `type:"structure"` + + // The timestamp, in Unix epoch time format, at which to start running the inbound + // flow. + ScheduledTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactSearchSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactSearchSummary) GoString() string { + return s.String() +} + +// SetAgentInfo sets the AgentInfo field's value. +func (s *ContactSearchSummary) SetAgentInfo(v *ContactSearchSummaryAgentInfo) *ContactSearchSummary { + s.AgentInfo = v + return s +} + +// SetArn sets the Arn field's value. +func (s *ContactSearchSummary) SetArn(v string) *ContactSearchSummary { + s.Arn = &v + return s +} + +// SetChannel sets the Channel field's value. +func (s *ContactSearchSummary) SetChannel(v string) *ContactSearchSummary { + s.Channel = &v + return s +} + +// SetDisconnectTimestamp sets the DisconnectTimestamp field's value. +func (s *ContactSearchSummary) SetDisconnectTimestamp(v time.Time) *ContactSearchSummary { + s.DisconnectTimestamp = &v + return s +} + +// SetId sets the Id field's value. +func (s *ContactSearchSummary) SetId(v string) *ContactSearchSummary { + s.Id = &v + return s +} + +// SetInitialContactId sets the InitialContactId field's value. +func (s *ContactSearchSummary) SetInitialContactId(v string) *ContactSearchSummary { + s.InitialContactId = &v + return s +} + +// SetInitiationMethod sets the InitiationMethod field's value. +func (s *ContactSearchSummary) SetInitiationMethod(v string) *ContactSearchSummary { + s.InitiationMethod = &v + return s +} + +// SetInitiationTimestamp sets the InitiationTimestamp field's value. +func (s *ContactSearchSummary) SetInitiationTimestamp(v time.Time) *ContactSearchSummary { + s.InitiationTimestamp = &v + return s +} + +// SetPreviousContactId sets the PreviousContactId field's value. +func (s *ContactSearchSummary) SetPreviousContactId(v string) *ContactSearchSummary { + s.PreviousContactId = &v + return s +} + +// SetQueueInfo sets the QueueInfo field's value. +func (s *ContactSearchSummary) SetQueueInfo(v *ContactSearchSummaryQueueInfo) *ContactSearchSummary { + s.QueueInfo = v + return s +} + +// SetScheduledTimestamp sets the ScheduledTimestamp field's value. +func (s *ContactSearchSummary) SetScheduledTimestamp(v time.Time) *ContactSearchSummary { + s.ScheduledTimestamp = &v + return s +} + +// Information about the agent who accepted the contact. +type ContactSearchSummaryAgentInfo struct { + _ struct{} `type:"structure"` + + // The timestamp when the contact was connected to the agent. + ConnectedToAgentTimestamp *time.Time `type:"timestamp"` + + // The identifier of the agent who accepted the contact. + Id *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactSearchSummaryAgentInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactSearchSummaryAgentInfo) GoString() string { + return s.String() +} + +// SetConnectedToAgentTimestamp sets the ConnectedToAgentTimestamp field's value. +func (s *ContactSearchSummaryAgentInfo) SetConnectedToAgentTimestamp(v time.Time) *ContactSearchSummaryAgentInfo { + s.ConnectedToAgentTimestamp = &v + return s +} + +// SetId sets the Id field's value. +func (s *ContactSearchSummaryAgentInfo) SetId(v string) *ContactSearchSummaryAgentInfo { + s.Id = &v + return s +} + +// If this contact was queued, this contains information about the queue. +type ContactSearchSummaryQueueInfo struct { + _ struct{} `type:"structure"` + + // The timestamp when the contact was added to the queue. + EnqueueTimestamp *time.Time `type:"timestamp"` + + // The unique identifier for the queue. + Id *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactSearchSummaryQueueInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactSearchSummaryQueueInfo) GoString() string { + return s.String() +} + +// SetEnqueueTimestamp sets the EnqueueTimestamp field's value. +func (s *ContactSearchSummaryQueueInfo) SetEnqueueTimestamp(v time.Time) *ContactSearchSummaryQueueInfo { + s.EnqueueTimestamp = &v + return s +} + +// SetId sets the Id field's value. +func (s *ContactSearchSummaryQueueInfo) SetId(v string) *ContactSearchSummaryQueueInfo { + s.Id = &v + return s +} + // An object that can be used to specify Tag conditions inside the SearchFilter. // This accepts an OR of AND (List of List) input where: // @@ -31479,6 +33299,114 @@ func (s *CreatePersistentContactAssociationOutput) SetContinuedFromContactId(v s return s } +type CreatePredefinedAttributeInput struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The name of the predefined attribute. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The values of the predefined attribute. + // + // Values is a required field + Values *PredefinedAttributeValues `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePredefinedAttributeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePredefinedAttributeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePredefinedAttributeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePredefinedAttributeInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil { + if err := s.Values.Validate(); err != nil { + invalidParams.AddNested("Values", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *CreatePredefinedAttributeInput) SetInstanceId(v string) *CreatePredefinedAttributeInput { + s.InstanceId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreatePredefinedAttributeInput) SetName(v string) *CreatePredefinedAttributeInput { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *CreatePredefinedAttributeInput) SetValues(v *PredefinedAttributeValues) *CreatePredefinedAttributeInput { + s.Values = v + return s +} + +type CreatePredefinedAttributeOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePredefinedAttributeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePredefinedAttributeOutput) GoString() string { + return s.String() +} + type CreatePromptInput struct { _ struct{} `type:"structure"` @@ -35048,6 +36976,95 @@ func (s DeleteIntegrationAssociationOutput) GoString() string { return s.String() } +type DeletePredefinedAttributeInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The name of the predefined attribute. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePredefinedAttributeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePredefinedAttributeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePredefinedAttributeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePredefinedAttributeInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DeletePredefinedAttributeInput) SetInstanceId(v string) *DeletePredefinedAttributeInput { + s.InstanceId = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeletePredefinedAttributeInput) SetName(v string) *DeletePredefinedAttributeInput { + s.Name = &v + return s +} + +type DeletePredefinedAttributeOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePredefinedAttributeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePredefinedAttributeOutput) GoString() string { + return s.String() +} + type DeletePromptInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -37448,6 +39465,104 @@ func (s *DescribePhoneNumberOutput) SetClaimedPhoneNumberSummary(v *ClaimedPhone return s } +type DescribePredefinedAttributeInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The name of the predefined attribute. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribePredefinedAttributeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribePredefinedAttributeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePredefinedAttributeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePredefinedAttributeInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DescribePredefinedAttributeInput) SetInstanceId(v string) *DescribePredefinedAttributeInput { + s.InstanceId = &v + return s +} + +// SetName sets the Name field's value. +func (s *DescribePredefinedAttributeInput) SetName(v string) *DescribePredefinedAttributeInput { + s.Name = &v + return s +} + +type DescribePredefinedAttributeOutput struct { + _ struct{} `type:"structure"` + + // Information about the predefined attribute. + PredefinedAttribute *PredefinedAttribute `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribePredefinedAttributeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribePredefinedAttributeOutput) GoString() string { + return s.String() +} + +// SetPredefinedAttribute sets the PredefinedAttribute field's value. +func (s *DescribePredefinedAttributeOutput) SetPredefinedAttribute(v *PredefinedAttribute) *DescribePredefinedAttributeOutput { + s.PredefinedAttribute = v + return s +} + type DescribePromptInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -38686,6 +40801,9 @@ type Dimensions struct { // Information about the routing profile assigned to the user. RoutingProfile *RoutingProfileReference `type:"structure"` + + // The expression of a step in a routing criteria. + RoutingStepExpression *string `min:"1" type:"string"` } // String returns the string representation. @@ -38724,6 +40842,12 @@ func (s *Dimensions) SetRoutingProfile(v *RoutingProfileReference) *Dimensions { return s } +// SetRoutingStepExpression sets the RoutingStepExpression field's value. +func (s *Dimensions) SetRoutingStepExpression(v string) *Dimensions { + s.RoutingStepExpression = &v + return s +} + type DisassociateAnalyticsDataSetInput struct { _ struct{} `type:"structure"` @@ -39926,6 +42050,119 @@ func (s DisassociateTrafficDistributionGroupUserOutput) GoString() string { return s.String() } +type DisassociateUserProficienciesInput struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The identifier of the user account. + // + // UserId is a required field + UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"` + + // The proficiencies to disassociate from the user. + // + // UserProficiencies is a required field + UserProficiencies []*UserProficiencyDisassociate `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateUserProficienciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateUserProficienciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateUserProficienciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateUserProficienciesInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) + } + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) + } + if s.UserProficiencies == nil { + invalidParams.Add(request.NewErrParamRequired("UserProficiencies")) + } + if s.UserProficiencies != nil { + for i, v := range s.UserProficiencies { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserProficiencies", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DisassociateUserProficienciesInput) SetInstanceId(v string) *DisassociateUserProficienciesInput { + s.InstanceId = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *DisassociateUserProficienciesInput) SetUserId(v string) *DisassociateUserProficienciesInput { + s.UserId = &v + return s +} + +// SetUserProficiencies sets the UserProficiencies field's value. +func (s *DisassociateUserProficienciesInput) SetUserProficiencies(v []*UserProficiencyDisassociate) *DisassociateUserProficienciesInput { + s.UserProficiencies = v + return s +} + +type DisassociateUserProficienciesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateUserProficienciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateUserProficienciesOutput) GoString() string { + return s.String() +} + // Contains details about why a contact was disconnected. Only Amazon Connect // outbound campaigns can provide this field. type DisconnectReason struct { @@ -42724,6 +44961,10 @@ type Filters struct { // A list of up to 100 routing profile IDs or ARNs. RoutingProfiles []*string `min:"1" type:"list"` + + // A list of expressions as a filter, in which an expression is an object of + // a step in a routing criteria. + RoutingStepExpressions []*string `type:"list"` } // String returns the string representation. @@ -42778,6 +45019,12 @@ func (s *Filters) SetRoutingProfiles(v []*string) *Filters { return s } +// SetRoutingStepExpressions sets the RoutingStepExpressions field's value. +func (s *Filters) SetRoutingStepExpressions(v []*string) *Filters { + s.RoutingStepExpressions = v + return s +} + // Information about flow associations. type FlowAssociationSummary struct { _ struct{} `type:"structure"` @@ -50783,6 +53030,118 @@ func (s *ListPhoneNumbersV2Output) SetNextToken(v string) *ListPhoneNumbersV2Out return s } +type ListPredefinedAttributesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // 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 `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPredefinedAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPredefinedAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPredefinedAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPredefinedAttributesInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListPredefinedAttributesInput) SetInstanceId(v string) *ListPredefinedAttributesInput { + s.InstanceId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPredefinedAttributesInput) SetMaxResults(v int64) *ListPredefinedAttributesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPredefinedAttributesInput) SetNextToken(v string) *ListPredefinedAttributesInput { + s.NextToken = &v + return s +} + +type ListPredefinedAttributesOutput struct { + _ struct{} `type:"structure"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `type:"string"` + + // Summary of the predefined attributes. + PredefinedAttributeSummaryList []*PredefinedAttributeSummary `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPredefinedAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPredefinedAttributesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPredefinedAttributesOutput) SetNextToken(v string) *ListPredefinedAttributesOutput { + s.NextToken = &v + return s +} + +// SetPredefinedAttributeSummaryList sets the PredefinedAttributeSummaryList field's value. +func (s *ListPredefinedAttributesOutput) SetPredefinedAttributeSummaryList(v []*PredefinedAttributeSummary) *ListPredefinedAttributesOutput { + s.PredefinedAttributeSummaryList = v + return s +} + type ListPromptsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -53095,6 +55454,153 @@ func (s *ListUserHierarchyGroupsOutput) SetUserHierarchyGroupSummaryList(v []*Hi return s } +type ListUserProficienciesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // 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 `location:"querystring" locationName:"nextToken" type:"string"` + + // The identifier of the user account. + // + // UserId is a required field + UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListUserProficienciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListUserProficienciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListUserProficienciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUserProficienciesInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) + } + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListUserProficienciesInput) SetInstanceId(v string) *ListUserProficienciesInput { + s.InstanceId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListUserProficienciesInput) SetMaxResults(v int64) *ListUserProficienciesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUserProficienciesInput) SetNextToken(v string) *ListUserProficienciesInput { + s.NextToken = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *ListUserProficienciesInput) SetUserId(v string) *ListUserProficienciesInput { + s.UserId = &v + return s +} + +type ListUserProficienciesOutput struct { + _ struct{} `type:"structure"` + + // The region in which a user's proficiencies were last modified. + LastModifiedRegion *string `type:"string"` + + // The last time that the user's proficiencies are were modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `type:"string"` + + // Information about the user proficiencies. + UserProficiencyList []*UserProficiency `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListUserProficienciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListUserProficienciesOutput) GoString() string { + return s.String() +} + +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *ListUserProficienciesOutput) SetLastModifiedRegion(v string) *ListUserProficienciesOutput { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *ListUserProficienciesOutput) SetLastModifiedTime(v time.Time) *ListUserProficienciesOutput { + s.LastModifiedTime = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUserProficienciesOutput) SetNextToken(v string) *ListUserProficienciesOutput { + s.NextToken = &v + return s +} + +// SetUserProficiencyList sets the UserProficiencyList field's value. +func (s *ListUserProficienciesOutput) SetUserProficiencyList(v []*UserProficiency) *ListUserProficienciesOutput { + s.UserProficiencyList = v + return s +} + type ListUsersInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -55337,6 +57843,212 @@ func (s *PhoneNumberSummary) SetPhoneNumberType(v string) *PhoneNumberSummary { return s } +// Information about a predefined attribute. +type PredefinedAttribute struct { + _ struct{} `type:"structure"` + + // Last modified region. + LastModifiedRegion *string `type:"string"` + + // Last modified time. + LastModifiedTime *time.Time `type:"timestamp"` + + // The name of the predefined attribute. + Name *string `min:"1" type:"string"` + + // The values of the predefined attribute. + Values *PredefinedAttributeValues `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredefinedAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredefinedAttribute) GoString() string { + return s.String() +} + +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *PredefinedAttribute) SetLastModifiedRegion(v string) *PredefinedAttribute { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *PredefinedAttribute) SetLastModifiedTime(v time.Time) *PredefinedAttribute { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *PredefinedAttribute) SetName(v string) *PredefinedAttribute { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *PredefinedAttribute) SetValues(v *PredefinedAttributeValues) *PredefinedAttribute { + s.Values = v + return s +} + +// The search criteria to be used to return predefined attributes. +type PredefinedAttributeSearchCriteria struct { + _ struct{} `type:"structure"` + + // A list of conditions which would be applied together with an AND condition. + AndConditions []*PredefinedAttributeSearchCriteria `type:"list"` + + // A list of conditions which would be applied together with an OR condition. + OrConditions []*PredefinedAttributeSearchCriteria `type:"list"` + + // A leaf node condition which can be used to specify a string condition. + // + // The currently supported values for FieldName are name and description. + StringCondition *StringCondition `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredefinedAttributeSearchCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredefinedAttributeSearchCriteria) GoString() string { + return s.String() +} + +// SetAndConditions sets the AndConditions field's value. +func (s *PredefinedAttributeSearchCriteria) SetAndConditions(v []*PredefinedAttributeSearchCriteria) *PredefinedAttributeSearchCriteria { + s.AndConditions = v + return s +} + +// SetOrConditions sets the OrConditions field's value. +func (s *PredefinedAttributeSearchCriteria) SetOrConditions(v []*PredefinedAttributeSearchCriteria) *PredefinedAttributeSearchCriteria { + s.OrConditions = v + return s +} + +// SetStringCondition sets the StringCondition field's value. +func (s *PredefinedAttributeSearchCriteria) SetStringCondition(v *StringCondition) *PredefinedAttributeSearchCriteria { + s.StringCondition = v + return s +} + +// Summary of a predefined attribute. +type PredefinedAttributeSummary struct { + _ struct{} `type:"structure"` + + // Last modified region. + LastModifiedRegion *string `type:"string"` + + // Last modified time. + LastModifiedTime *time.Time `type:"timestamp"` + + // The name of the predefined attribute. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredefinedAttributeSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredefinedAttributeSummary) GoString() string { + return s.String() +} + +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *PredefinedAttributeSummary) SetLastModifiedRegion(v string) *PredefinedAttributeSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *PredefinedAttributeSummary) SetLastModifiedTime(v time.Time) *PredefinedAttributeSummary { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *PredefinedAttributeSummary) SetName(v string) *PredefinedAttributeSummary { + s.Name = &v + return s +} + +// Information about values of a predefined attribute. +type PredefinedAttributeValues struct { + _ struct{} `type:"structure"` + + // Predefined attribute values of type string list. + StringList []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredefinedAttributeValues) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredefinedAttributeValues) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PredefinedAttributeValues) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PredefinedAttributeValues"} + if s.StringList != nil && len(s.StringList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StringList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStringList sets the StringList field's value. +func (s *PredefinedAttributeValues) SetStringList(v []*string) *PredefinedAttributeValues { + s.StringList = v + return s +} + // Information about a problem detail. type ProblemDetail struct { _ struct{} `type:"structure"` @@ -59734,6 +62446,360 @@ func (s *SearchAvailablePhoneNumbersOutput) SetNextToken(v string) *SearchAvaila return s } +type SearchContactsInput struct { + _ struct{} `type:"structure"` + + // The identifier of Amazon Connect instance. You can find the instance ID in + // the Amazon Resource Name (ARN) of the instance + // + // InstanceId is a required field + InstanceId *string `min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `min:"1" type:"integer"` + + // 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 `min:"1" type:"string"` + + // The search criteria to be used to return contacts. + SearchCriteria *SearchCriteria `type:"structure"` + + // Specifies a field to sort by and a sort order + Sort *Sort `type:"structure"` + + // Time range that you want to search results + // + // TimeRange is a required field + TimeRange *SearchContactsTimeRange `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContactsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContactsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchContactsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchContactsInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.TimeRange == nil { + invalidParams.Add(request.NewErrParamRequired("TimeRange")) + } + if s.SearchCriteria != nil { + if err := s.SearchCriteria.Validate(); err != nil { + invalidParams.AddNested("SearchCriteria", err.(request.ErrInvalidParams)) + } + } + if s.Sort != nil { + if err := s.Sort.Validate(); err != nil { + invalidParams.AddNested("Sort", err.(request.ErrInvalidParams)) + } + } + if s.TimeRange != nil { + if err := s.TimeRange.Validate(); err != nil { + invalidParams.AddNested("TimeRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *SearchContactsInput) SetInstanceId(v string) *SearchContactsInput { + s.InstanceId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchContactsInput) SetMaxResults(v int64) *SearchContactsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchContactsInput) SetNextToken(v string) *SearchContactsInput { + s.NextToken = &v + return s +} + +// SetSearchCriteria sets the SearchCriteria field's value. +func (s *SearchContactsInput) SetSearchCriteria(v *SearchCriteria) *SearchContactsInput { + s.SearchCriteria = v + return s +} + +// SetSort sets the Sort field's value. +func (s *SearchContactsInput) SetSort(v *Sort) *SearchContactsInput { + s.Sort = v + return s +} + +// SetTimeRange sets the TimeRange field's value. +func (s *SearchContactsInput) SetTimeRange(v *SearchContactsTimeRange) *SearchContactsInput { + s.TimeRange = v + return s +} + +type SearchContactsOutput struct { + _ struct{} `type:"structure"` + + // Information about the contacts. + // + // Contacts is a required field + Contacts []*ContactSearchSummary `type:"list" required:"true"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `min:"1" type:"string"` + + // The total number of contacts which matched your search query. + TotalCount *int64 `type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContactsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContactsOutput) GoString() string { + return s.String() +} + +// SetContacts sets the Contacts field's value. +func (s *SearchContactsOutput) SetContacts(v []*ContactSearchSummary) *SearchContactsOutput { + s.Contacts = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchContactsOutput) SetNextToken(v string) *SearchContactsOutput { + s.NextToken = &v + return s +} + +// SetTotalCount sets the TotalCount field's value. +func (s *SearchContactsOutput) SetTotalCount(v int64) *SearchContactsOutput { + s.TotalCount = &v + return s +} + +// A structure of time range that you want to search results +type SearchContactsTimeRange struct { + _ struct{} `type:"structure"` + + // The end time of the time range. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` + + // The start time of the time range. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` + + // The type of timestamp to search + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"SearchContactsTimeRangeType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContactsTimeRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContactsTimeRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchContactsTimeRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchContactsTimeRange"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *SearchContactsTimeRange) SetEndTime(v time.Time) *SearchContactsTimeRange { + s.EndTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *SearchContactsTimeRange) SetStartTime(v time.Time) *SearchContactsTimeRange { + s.StartTime = &v + return s +} + +// SetType sets the Type field's value. +func (s *SearchContactsTimeRange) SetType(v string) *SearchContactsTimeRange { + s.Type = &v + return s +} + +// A structure of search criteria to be used to return contacts +type SearchCriteria struct { + _ struct{} `type:"structure"` + + // The agent hierarchy groups + AgentHierarchyGroups *AgentHierarchyGroups `type:"structure"` + + // The array of agent ids + AgentIds []*string `type:"list"` + + // The array of channels + Channels []*string `type:"list" enum:"Channel"` + + // The ContactAnalysis object used in search criteria + ContactAnalysis *ContactAnalysis `type:"structure"` + + // The array of initiaton methods + InitiationMethods []*string `type:"list" enum:"ContactInitiationMethod"` + + // The array of queue ids. + QueueIds []*string `type:"list"` + + // The SearchableContactAttributes object used in search criteria + SearchableContactAttributes *SearchableContactAttributes `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchCriteria"} + if s.ContactAnalysis != nil { + if err := s.ContactAnalysis.Validate(); err != nil { + invalidParams.AddNested("ContactAnalysis", err.(request.ErrInvalidParams)) + } + } + if s.SearchableContactAttributes != nil { + if err := s.SearchableContactAttributes.Validate(); err != nil { + invalidParams.AddNested("SearchableContactAttributes", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgentHierarchyGroups sets the AgentHierarchyGroups field's value. +func (s *SearchCriteria) SetAgentHierarchyGroups(v *AgentHierarchyGroups) *SearchCriteria { + s.AgentHierarchyGroups = v + return s +} + +// SetAgentIds sets the AgentIds field's value. +func (s *SearchCriteria) SetAgentIds(v []*string) *SearchCriteria { + s.AgentIds = v + return s +} + +// SetChannels sets the Channels field's value. +func (s *SearchCriteria) SetChannels(v []*string) *SearchCriteria { + s.Channels = v + return s +} + +// SetContactAnalysis sets the ContactAnalysis field's value. +func (s *SearchCriteria) SetContactAnalysis(v *ContactAnalysis) *SearchCriteria { + s.ContactAnalysis = v + return s +} + +// SetInitiationMethods sets the InitiationMethods field's value. +func (s *SearchCriteria) SetInitiationMethods(v []*string) *SearchCriteria { + s.InitiationMethods = v + return s +} + +// SetQueueIds sets the QueueIds field's value. +func (s *SearchCriteria) SetQueueIds(v []*string) *SearchCriteria { + s.QueueIds = v + return s +} + +// SetSearchableContactAttributes sets the SearchableContactAttributes field's value. +func (s *SearchCriteria) SetSearchableContactAttributes(v *SearchableContactAttributes) *SearchCriteria { + s.SearchableContactAttributes = v + return s +} + type SearchHoursOfOperationsInput struct { _ struct{} `type:"structure"` @@ -59877,6 +62943,141 @@ func (s *SearchHoursOfOperationsOutput) SetNextToken(v string) *SearchHoursOfOpe return s } +type SearchPredefinedAttributesInput struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `min:"1" type:"integer"` + + // 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 `min:"1" type:"string"` + + // The search criteria to be used to return predefined attributes. + SearchCriteria *PredefinedAttributeSearchCriteria `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchPredefinedAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchPredefinedAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchPredefinedAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchPredefinedAttributesInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *SearchPredefinedAttributesInput) SetInstanceId(v string) *SearchPredefinedAttributesInput { + s.InstanceId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchPredefinedAttributesInput) SetMaxResults(v int64) *SearchPredefinedAttributesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchPredefinedAttributesInput) SetNextToken(v string) *SearchPredefinedAttributesInput { + s.NextToken = &v + return s +} + +// SetSearchCriteria sets the SearchCriteria field's value. +func (s *SearchPredefinedAttributesInput) SetSearchCriteria(v *PredefinedAttributeSearchCriteria) *SearchPredefinedAttributesInput { + s.SearchCriteria = v + return s +} + +type SearchPredefinedAttributesOutput struct { + _ struct{} `type:"structure"` + + // The approximate number of predefined attributes which matched your search + // query. + ApproximateTotalCount *int64 `type:"long"` + + // 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 `min:"1" type:"string"` + + // Predefined attributes matched by the search criteria. + PredefinedAttributes []*PredefinedAttribute `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchPredefinedAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchPredefinedAttributesOutput) GoString() string { + return s.String() +} + +// SetApproximateTotalCount sets the ApproximateTotalCount field's value. +func (s *SearchPredefinedAttributesOutput) SetApproximateTotalCount(v int64) *SearchPredefinedAttributesOutput { + s.ApproximateTotalCount = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchPredefinedAttributesOutput) SetNextToken(v string) *SearchPredefinedAttributesOutput { + s.NextToken = &v + return s +} + +// SetPredefinedAttributes sets the PredefinedAttributes field's value. +func (s *SearchPredefinedAttributesOutput) SetPredefinedAttributes(v []*PredefinedAttribute) *SearchPredefinedAttributesOutput { + s.PredefinedAttributes = v + return s +} + type SearchPromptsInput struct { _ struct{} `type:"structure"` @@ -61037,6 +64238,138 @@ func (s *SearchVocabulariesOutput) SetVocabularySummaryList(v []*VocabularySumma return s } +// A structure that defines searchable contact attributes which can be used +// to filter search results. +type SearchableContactAttributes struct { + _ struct{} `type:"structure"` + + // The array of searhale contact attribute criteria + // + // Criteria is a required field + Criteria []*SearchableContactAttributesCriteria `type:"list" required:"true"` + + // The match type of multiple searchable contact attributes criteria. + MatchType *string `type:"string" enum:"SearchContactsMatchType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchableContactAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchableContactAttributes) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchableContactAttributes) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchableContactAttributes"} + if s.Criteria == nil { + invalidParams.Add(request.NewErrParamRequired("Criteria")) + } + if s.Criteria != nil { + for i, v := range s.Criteria { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Criteria", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCriteria sets the Criteria field's value. +func (s *SearchableContactAttributes) SetCriteria(v []*SearchableContactAttributesCriteria) *SearchableContactAttributes { + s.Criteria = v + return s +} + +// SetMatchType sets the MatchType field's value. +func (s *SearchableContactAttributes) SetMatchType(v string) *SearchableContactAttributes { + s.MatchType = &v + return s +} + +// The criteria of searchable contact attributes. +type SearchableContactAttributesCriteria struct { + _ struct{} `type:"structure"` + + // The searchable contact attribute key + // + // Key is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by SearchableContactAttributesCriteria's + // String and GoString methods. + // + // Key is a required field + Key *string `type:"string" required:"true" sensitive:"true"` + + // The array of contact attribute values used to filter search results. + // + // Values is a required field + Values []*string `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchableContactAttributesCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchableContactAttributesCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchableContactAttributesCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchableContactAttributesCriteria"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *SearchableContactAttributesCriteria) SetKey(v string) *SearchableContactAttributesCriteria { + s.Key = &v + return s +} + +// SetValues sets the Values field's value. +func (s *SearchableContactAttributesCriteria) SetValues(v []*string) *SearchableContactAttributesCriteria { + s.Values = v + return s +} + // Configuration information of the security key. type SecurityKey struct { _ struct{} `type:"structure"` @@ -61219,6 +64552,8 @@ type SecurityProfileSearchCriteria struct { OrConditions []*SecurityProfileSearchCriteria `type:"list"` // A leaf node condition which can be used to specify a string condition. + // + // The currently supported values for FieldName are name and description. StringCondition *StringCondition `type:"structure"` } @@ -62029,6 +65364,67 @@ func (s *SingleSelectQuestionRuleCategoryAutomation) SetOptionRefId(v string) *S return s } +// A structure that defines the sort by and a sort order +type Sort struct { + _ struct{} `type:"structure"` + + // The name of the field on which to sort. + // + // FieldName is a required field + FieldName *string `type:"string" required:"true" enum:"SortableFieldName"` + + // An ascending or descending sort. + // + // Order is a required field + Order *string `type:"string" required:"true" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Sort) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Sort) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Sort) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Sort"} + if s.FieldName == nil { + invalidParams.Add(request.NewErrParamRequired("FieldName")) + } + if s.Order == nil { + invalidParams.Add(request.NewErrParamRequired("Order")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFieldName sets the FieldName field's value. +func (s *Sort) SetFieldName(v string) *Sort { + s.FieldName = &v + return s +} + +// SetOrder sets the Order field's value. +func (s *Sort) SetOrder(v string) *Sort { + s.Order = &v + return s +} + type StartChatContactInput struct { _ struct{} `type:"structure"` @@ -63761,6 +67157,8 @@ func (s StopContactStreamingOutput) GoString() string { } // A leaf node condition which can be used to specify a string condition. +// +// The currently supported values for FieldName are name and description. type StringCondition struct { _ struct{} `type:"structure"` @@ -65318,13 +68716,129 @@ type TrafficDistributionGroup struct { // * DELETION_FAILED means the previous DeleteTrafficDistributionGroup (https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteTrafficDistributionGroup.html) // operation has failed. // - // * UPDATE_IN_PROGRESS means the previous UpdateTrafficDistribution (https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateTrafficDistribution.html) + // * UPDATE_IN_PROGRESS means the previous UpdateTrafficDistribution (https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateTrafficDistribution.html) + // operation is still in progress and has not yet completed. + Status *string `type:"string" enum:"TrafficDistributionGroupStatus"` + + // The tags used to organize, track, or control access for this resource. For + // example, { "Tags": {"key1":"value1", "key2":"value2"} }. + Tags map[string]*string `min:"1" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrafficDistributionGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrafficDistributionGroup) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *TrafficDistributionGroup) SetArn(v string) *TrafficDistributionGroup { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *TrafficDistributionGroup) SetDescription(v string) *TrafficDistributionGroup { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *TrafficDistributionGroup) SetId(v string) *TrafficDistributionGroup { + s.Id = &v + return s +} + +// SetInstanceArn sets the InstanceArn field's value. +func (s *TrafficDistributionGroup) SetInstanceArn(v string) *TrafficDistributionGroup { + s.InstanceArn = &v + return s +} + +// SetIsDefault sets the IsDefault field's value. +func (s *TrafficDistributionGroup) SetIsDefault(v bool) *TrafficDistributionGroup { + s.IsDefault = &v + return s +} + +// SetName sets the Name field's value. +func (s *TrafficDistributionGroup) SetName(v string) *TrafficDistributionGroup { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TrafficDistributionGroup) SetStatus(v string) *TrafficDistributionGroup { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TrafficDistributionGroup) SetTags(v map[string]*string) *TrafficDistributionGroup { + s.Tags = v + return s +} + +// Information about traffic distribution groups. +type TrafficDistributionGroupSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the traffic distribution group. + Arn *string `type:"string"` + + // The identifier of the traffic distribution group. This can be the ID or the + // ARN if the API is being called in the Region where the traffic distribution + // group was created. The ARN must be provided if the call is from the replicated + // Region. + Id *string `type:"string"` + + // The Amazon Resource Name (ARN) of the traffic distribution group. + InstanceArn *string `type:"string"` + + // Whether this is the default traffic distribution group created during instance + // replication. The default traffic distribution group cannot be deleted by + // the DeleteTrafficDistributionGroup API. The default traffic distribution + // group is deleted as part of the process for deleting a replica. + IsDefault *bool `type:"boolean"` + + // The name of the traffic distribution group. + Name *string `min:"1" type:"string"` + + // The status of the traffic distribution group. + // + // * CREATION_IN_PROGRESS means the previous CreateTrafficDistributionGroup + // (https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateTrafficDistributionGroup.html) + // operation is still in progress and has not yet completed. + // + // * ACTIVE means the previous CreateTrafficDistributionGroup (https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateTrafficDistributionGroup.html) + // operation has succeeded. + // + // * CREATION_FAILED indicates that the previous CreateTrafficDistributionGroup + // (https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateTrafficDistributionGroup.html) + // operation has failed. + // + // * PENDING_DELETION means the previous DeleteTrafficDistributionGroup (https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteTrafficDistributionGroup.html) + // operation is still in progress and has not yet completed. + // + // * DELETION_FAILED means the previous DeleteTrafficDistributionGroup (https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteTrafficDistributionGroup.html) + // operation has failed. + // + // * UPDATE_IN_PROGRESS means the previous UpdateTrafficDistributionGroup + // (https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateTrafficDistributionGroup.html) // operation is still in progress and has not yet completed. Status *string `type:"string" enum:"TrafficDistributionGroupStatus"` - - // The tags used to organize, track, or control access for this resource. For - // example, { "Tags": {"key1":"value1", "key2":"value2"} }. - Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation. @@ -65332,7 +68846,7 @@ type TrafficDistributionGroup struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TrafficDistributionGroup) String() string { +func (s TrafficDistributionGroupSummary) String() string { return awsutil.Prettify(s) } @@ -65341,106 +68855,89 @@ func (s TrafficDistributionGroup) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TrafficDistributionGroup) GoString() string { +func (s TrafficDistributionGroupSummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *TrafficDistributionGroup) SetArn(v string) *TrafficDistributionGroup { +func (s *TrafficDistributionGroupSummary) SetArn(v string) *TrafficDistributionGroupSummary { s.Arn = &v return s } -// SetDescription sets the Description field's value. -func (s *TrafficDistributionGroup) SetDescription(v string) *TrafficDistributionGroup { - s.Description = &v - return s -} - // SetId sets the Id field's value. -func (s *TrafficDistributionGroup) SetId(v string) *TrafficDistributionGroup { +func (s *TrafficDistributionGroupSummary) SetId(v string) *TrafficDistributionGroupSummary { s.Id = &v return s } // SetInstanceArn sets the InstanceArn field's value. -func (s *TrafficDistributionGroup) SetInstanceArn(v string) *TrafficDistributionGroup { +func (s *TrafficDistributionGroupSummary) SetInstanceArn(v string) *TrafficDistributionGroupSummary { s.InstanceArn = &v return s } // SetIsDefault sets the IsDefault field's value. -func (s *TrafficDistributionGroup) SetIsDefault(v bool) *TrafficDistributionGroup { +func (s *TrafficDistributionGroupSummary) SetIsDefault(v bool) *TrafficDistributionGroupSummary { s.IsDefault = &v return s } // SetName sets the Name field's value. -func (s *TrafficDistributionGroup) SetName(v string) *TrafficDistributionGroup { +func (s *TrafficDistributionGroupSummary) SetName(v string) *TrafficDistributionGroupSummary { s.Name = &v return s } // SetStatus sets the Status field's value. -func (s *TrafficDistributionGroup) SetStatus(v string) *TrafficDistributionGroup { +func (s *TrafficDistributionGroupSummary) SetStatus(v string) *TrafficDistributionGroupSummary { s.Status = &v return s } -// SetTags sets the Tags field's value. -func (s *TrafficDistributionGroup) SetTags(v map[string]*string) *TrafficDistributionGroup { - s.Tags = v - return s -} - -// Information about traffic distribution groups. -type TrafficDistributionGroupSummary struct { +// Summary information about a traffic distribution group user. +type TrafficDistributionGroupUserSummary struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the traffic distribution group. - Arn *string `type:"string"` + // The identifier for the user. This can be the ID or the ARN of the user. + UserId *string `type:"string"` +} - // The identifier of the traffic distribution group. This can be the ID or the - // ARN if the API is being called in the Region where the traffic distribution - // group was created. The ARN must be provided if the call is from the replicated - // Region. - Id *string `type:"string"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrafficDistributionGroupUserSummary) String() string { + return awsutil.Prettify(s) +} - // The Amazon Resource Name (ARN) of the traffic distribution group. - InstanceArn *string `type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrafficDistributionGroupUserSummary) GoString() string { + return s.String() +} - // Whether this is the default traffic distribution group created during instance - // replication. The default traffic distribution group cannot be deleted by - // the DeleteTrafficDistributionGroup API. The default traffic distribution - // group is deleted as part of the process for deleting a replica. - IsDefault *bool `type:"boolean"` +// SetUserId sets the UserId field's value. +func (s *TrafficDistributionGroupUserSummary) SetUserId(v string) *TrafficDistributionGroupUserSummary { + s.UserId = &v + return s +} - // The name of the traffic distribution group. - Name *string `min:"1" type:"string"` +// The transcript object used to search results. +type Transcript struct { + _ struct{} `type:"structure"` - // The status of the traffic distribution group. - // - // * CREATION_IN_PROGRESS means the previous CreateTrafficDistributionGroup - // (https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateTrafficDistributionGroup.html) - // operation is still in progress and has not yet completed. + // The array of transcript search criteria // - // * ACTIVE means the previous CreateTrafficDistributionGroup (https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateTrafficDistributionGroup.html) - // operation has succeeded. - // - // * CREATION_FAILED indicates that the previous CreateTrafficDistributionGroup - // (https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateTrafficDistributionGroup.html) - // operation has failed. - // - // * PENDING_DELETION means the previous DeleteTrafficDistributionGroup (https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteTrafficDistributionGroup.html) - // operation is still in progress and has not yet completed. - // - // * DELETION_FAILED means the previous DeleteTrafficDistributionGroup (https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteTrafficDistributionGroup.html) - // operation has failed. - // - // * UPDATE_IN_PROGRESS means the previous UpdateTrafficDistributionGroup - // (https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateTrafficDistributionGroup.html) - // operation is still in progress and has not yet completed. - Status *string `type:"string" enum:"TrafficDistributionGroupStatus"` + // Criteria is a required field + Criteria []*TranscriptCriteria `type:"list" required:"true"` + + // The match type of multiple transcript criteira + MatchType *string `type:"string" enum:"SearchContactsMatchType"` } // String returns the string representation. @@ -65448,7 +68945,7 @@ type TrafficDistributionGroupSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TrafficDistributionGroupSummary) String() string { +func (s Transcript) String() string { return awsutil.Prettify(s) } @@ -65457,52 +68954,63 @@ func (s TrafficDistributionGroupSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TrafficDistributionGroupSummary) GoString() string { +func (s Transcript) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *TrafficDistributionGroupSummary) SetArn(v string) *TrafficDistributionGroupSummary { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *Transcript) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Transcript"} + if s.Criteria == nil { + invalidParams.Add(request.NewErrParamRequired("Criteria")) + } + if s.Criteria != nil { + for i, v := range s.Criteria { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Criteria", i), err.(request.ErrInvalidParams)) + } + } + } -// SetId sets the Id field's value. -func (s *TrafficDistributionGroupSummary) SetId(v string) *TrafficDistributionGroupSummary { - s.Id = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetInstanceArn sets the InstanceArn field's value. -func (s *TrafficDistributionGroupSummary) SetInstanceArn(v string) *TrafficDistributionGroupSummary { - s.InstanceArn = &v +// SetCriteria sets the Criteria field's value. +func (s *Transcript) SetCriteria(v []*TranscriptCriteria) *Transcript { + s.Criteria = v return s } -// SetIsDefault sets the IsDefault field's value. -func (s *TrafficDistributionGroupSummary) SetIsDefault(v bool) *TrafficDistributionGroupSummary { - s.IsDefault = &v +// SetMatchType sets the MatchType field's value. +func (s *Transcript) SetMatchType(v string) *Transcript { + s.MatchType = &v return s } -// SetName sets the Name field's value. -func (s *TrafficDistributionGroupSummary) SetName(v string) *TrafficDistributionGroupSummary { - s.Name = &v - return s -} +// The transcript criteria used to search +type TranscriptCriteria struct { + _ struct{} `type:"structure"` -// SetStatus sets the Status field's value. -func (s *TrafficDistributionGroupSummary) SetStatus(v string) *TrafficDistributionGroupSummary { - s.Status = &v - return s -} + // The match type of search texts in a transcript criteria. + // + // MatchType is a required field + MatchType *string `type:"string" required:"true" enum:"SearchContactsMatchType"` -// Summary information about a traffic distribution group user. -type TrafficDistributionGroupUserSummary struct { - _ struct{} `type:"structure"` + // The participant role in a transcript + // + // ParticipantRole is a required field + ParticipantRole *string `type:"string" required:"true" enum:"ParticipantRole"` - // The identifier for the user. This can be the ID or the ARN of the user. - UserId *string `type:"string"` + // The words or phrases used to search within a transcript. + // + // SearchText is a required field + SearchText []*string `type:"list" required:"true"` } // String returns the string representation. @@ -65510,7 +69018,7 @@ type TrafficDistributionGroupUserSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TrafficDistributionGroupUserSummary) String() string { +func (s TranscriptCriteria) String() string { return awsutil.Prettify(s) } @@ -65519,13 +69027,44 @@ func (s TrafficDistributionGroupUserSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TrafficDistributionGroupUserSummary) GoString() string { +func (s TranscriptCriteria) GoString() string { return s.String() } -// SetUserId sets the UserId field's value. -func (s *TrafficDistributionGroupUserSummary) SetUserId(v string) *TrafficDistributionGroupUserSummary { - s.UserId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *TranscriptCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TranscriptCriteria"} + if s.MatchType == nil { + invalidParams.Add(request.NewErrParamRequired("MatchType")) + } + if s.ParticipantRole == nil { + invalidParams.Add(request.NewErrParamRequired("ParticipantRole")) + } + if s.SearchText == nil { + invalidParams.Add(request.NewErrParamRequired("SearchText")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMatchType sets the MatchType field's value. +func (s *TranscriptCriteria) SetMatchType(v string) *TranscriptCriteria { + s.MatchType = &v + return s +} + +// SetParticipantRole sets the ParticipantRole field's value. +func (s *TranscriptCriteria) SetParticipantRole(v string) *TranscriptCriteria { + s.ParticipantRole = &v + return s +} + +// SetSearchText sets the SearchText field's value. +func (s *TranscriptCriteria) SetSearchText(v []*string) *TranscriptCriteria { + s.SearchText = v return s } @@ -67007,6 +70546,122 @@ func (s UpdateContactOutput) GoString() string { return s.String() } +type UpdateContactRoutingDataInput struct { + _ struct{} `type:"structure"` + + // The identifier of the contact in this instance of Amazon Connect. + // + // ContactId is a required field + ContactId *string `location:"uri" locationName:"ContactId" min:"1" type:"string" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // Priority of the contact in the queue. The default priority for new contacts + // is 5. You can raise the priority of a contact compared to other contacts + // in the queue by assigning them a higher priority, such as 1 or 2. + QueuePriority *int64 `min:"1" type:"long"` + + // The number of seconds to add or subtract from the contact's routing age. + // Contacts are routed to agents on a first-come, first-serve basis. This means + // that changing their amount of time in queue compared to others also changes + // their position in queue. + QueueTimeAdjustmentSeconds *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateContactRoutingDataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateContactRoutingDataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateContactRoutingDataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateContactRoutingDataInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.QueuePriority != nil && *s.QueuePriority < 1 { + invalidParams.Add(request.NewErrParamMinValue("QueuePriority", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *UpdateContactRoutingDataInput) SetContactId(v string) *UpdateContactRoutingDataInput { + s.ContactId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *UpdateContactRoutingDataInput) SetInstanceId(v string) *UpdateContactRoutingDataInput { + s.InstanceId = &v + return s +} + +// SetQueuePriority sets the QueuePriority field's value. +func (s *UpdateContactRoutingDataInput) SetQueuePriority(v int64) *UpdateContactRoutingDataInput { + s.QueuePriority = &v + return s +} + +// SetQueueTimeAdjustmentSeconds sets the QueueTimeAdjustmentSeconds field's value. +func (s *UpdateContactRoutingDataInput) SetQueueTimeAdjustmentSeconds(v int64) *UpdateContactRoutingDataInput { + s.QueueTimeAdjustmentSeconds = &v + return s +} + +type UpdateContactRoutingDataOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateContactRoutingDataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateContactRoutingDataOutput) GoString() string { + return s.String() +} + type UpdateContactScheduleInput struct { _ struct{} `type:"structure"` @@ -68091,6 +71746,109 @@ func (s *UpdatePhoneNumberOutput) SetPhoneNumberId(v string) *UpdatePhoneNumberO return s } +type UpdatePredefinedAttributeInput struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The name of the predefined attribute. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` + + // The values of the predefined attribute. + Values *PredefinedAttributeValues `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePredefinedAttributeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePredefinedAttributeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePredefinedAttributeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePredefinedAttributeInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Values != nil { + if err := s.Values.Validate(); err != nil { + invalidParams.AddNested("Values", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *UpdatePredefinedAttributeInput) SetInstanceId(v string) *UpdatePredefinedAttributeInput { + s.InstanceId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdatePredefinedAttributeInput) SetName(v string) *UpdatePredefinedAttributeInput { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *UpdatePredefinedAttributeInput) SetValues(v *PredefinedAttributeValues) *UpdatePredefinedAttributeInput { + s.Values = v + return s +} + +type UpdatePredefinedAttributeOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePredefinedAttributeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePredefinedAttributeOutput) GoString() string { + return s.String() +} + type UpdatePromptInput struct { _ struct{} `type:"structure"` @@ -70781,6 +74539,121 @@ func (s UpdateUserPhoneConfigOutput) GoString() string { return s.String() } +type UpdateUserProficienciesInput struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The identifier of the user account. + // + // UserId is a required field + UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"` + + // The proficiencies to be updated for the user. Proficiencies must first be + // associated to the user. You can do this using AssociateUserProficiencies + // API. + // + // UserProficiencies is a required field + UserProficiencies []*UserProficiency `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateUserProficienciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateUserProficienciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateUserProficienciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateUserProficienciesInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) + } + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) + } + if s.UserProficiencies == nil { + invalidParams.Add(request.NewErrParamRequired("UserProficiencies")) + } + if s.UserProficiencies != nil { + for i, v := range s.UserProficiencies { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserProficiencies", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *UpdateUserProficienciesInput) SetInstanceId(v string) *UpdateUserProficienciesInput { + s.InstanceId = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *UpdateUserProficienciesInput) SetUserId(v string) *UpdateUserProficienciesInput { + s.UserId = &v + return s +} + +// SetUserProficiencies sets the UserProficiencies field's value. +func (s *UpdateUserProficienciesInput) SetUserProficiencies(v []*UserProficiency) *UpdateUserProficienciesInput { + s.UserProficiencies = v + return s +} + +type UpdateUserProficienciesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateUserProficienciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateUserProficienciesOutput) GoString() string { + return s.String() +} + type UpdateUserRoutingProfileInput struct { _ struct{} `type:"structure"` @@ -71940,6 +75813,159 @@ func (s *UserPhoneConfig) SetPhoneType(v string) *UserPhoneConfig { return s } +// Information about proficiency of a user. +type UserProficiency struct { + _ struct{} `type:"structure"` + + // The name of user's proficiency. You must use name of predefined attribute + // present in the Amazon Connect instance. + // + // AttributeName is a required field + AttributeName *string `min:"1" type:"string" required:"true"` + + // The value of user's proficiency. You must use value of predefined attribute + // present in the Amazon Connect instance. + // + // AttributeValue is a required field + AttributeValue *string `min:"1" type:"string" required:"true"` + + // The level of the proficiency. The valid values are 1, 2, 3, 4 and 5. + // + // Level is a required field + Level *float64 `min:"1" type:"float" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UserProficiency) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UserProficiency) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UserProficiency) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UserProficiency"} + if s.AttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeName")) + } + if s.AttributeName != nil && len(*s.AttributeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) + } + if s.AttributeValue == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeValue")) + } + if s.AttributeValue != nil && len(*s.AttributeValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1)) + } + if s.Level == nil { + invalidParams.Add(request.NewErrParamRequired("Level")) + } + if s.Level != nil && *s.Level < 1 { + invalidParams.Add(request.NewErrParamMinValue("Level", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeName sets the AttributeName field's value. +func (s *UserProficiency) SetAttributeName(v string) *UserProficiency { + s.AttributeName = &v + return s +} + +// SetAttributeValue sets the AttributeValue field's value. +func (s *UserProficiency) SetAttributeValue(v string) *UserProficiency { + s.AttributeValue = &v + return s +} + +// SetLevel sets the Level field's value. +func (s *UserProficiency) SetLevel(v float64) *UserProficiency { + s.Level = &v + return s +} + +// Information about proficiency to be disassociated from the user. +type UserProficiencyDisassociate struct { + _ struct{} `type:"structure"` + + // The name of user's proficiency. + // + // AttributeName is a required field + AttributeName *string `min:"1" type:"string" required:"true"` + + // The value of user's proficiency. + // + // AttributeValue is a required field + AttributeValue *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UserProficiencyDisassociate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UserProficiencyDisassociate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UserProficiencyDisassociate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UserProficiencyDisassociate"} + if s.AttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeName")) + } + if s.AttributeName != nil && len(*s.AttributeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) + } + if s.AttributeValue == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeValue")) + } + if s.AttributeValue != nil && len(*s.AttributeValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeName sets the AttributeName field's value. +func (s *UserProficiencyDisassociate) SetAttributeName(v string) *UserProficiencyDisassociate { + s.AttributeName = &v + return s +} + +// SetAttributeValue sets the AttributeValue field's value. +func (s *UserProficiencyDisassociate) SetAttributeValue(v string) *UserProficiencyDisassociate { + s.AttributeValue = &v + return s +} + // Contains information about the quick connect configuration settings for a // user. The contact flow must be of type Transfer to Agent. type UserQuickConnectConfig struct { @@ -73721,6 +77747,9 @@ const ( // GroupingRoutingProfile is a Grouping enum value GroupingRoutingProfile = "ROUTING_PROFILE" + + // GroupingRoutingStepExpression is a Grouping enum value + GroupingRoutingStepExpression = "ROUTING_STEP_EXPRESSION" ) // Grouping_Values returns all elements of the Grouping enum @@ -73729,6 +77758,7 @@ func Grouping_Values() []string { GroupingQueue, GroupingChannel, GroupingRoutingProfile, + GroupingRoutingStepExpression, } } @@ -75593,6 +79623,46 @@ func RulePublishStatus_Values() []string { } } +const ( + // SearchContactsMatchTypeMatchAll is a SearchContactsMatchType enum value + SearchContactsMatchTypeMatchAll = "MATCH_ALL" + + // SearchContactsMatchTypeMatchAny is a SearchContactsMatchType enum value + SearchContactsMatchTypeMatchAny = "MATCH_ANY" +) + +// SearchContactsMatchType_Values returns all elements of the SearchContactsMatchType enum +func SearchContactsMatchType_Values() []string { + return []string{ + SearchContactsMatchTypeMatchAll, + SearchContactsMatchTypeMatchAny, + } +} + +const ( + // SearchContactsTimeRangeTypeInitiationTimestamp is a SearchContactsTimeRangeType enum value + SearchContactsTimeRangeTypeInitiationTimestamp = "INITIATION_TIMESTAMP" + + // SearchContactsTimeRangeTypeScheduledTimestamp is a SearchContactsTimeRangeType enum value + SearchContactsTimeRangeTypeScheduledTimestamp = "SCHEDULED_TIMESTAMP" + + // SearchContactsTimeRangeTypeConnectedToAgentTimestamp is a SearchContactsTimeRangeType enum value + SearchContactsTimeRangeTypeConnectedToAgentTimestamp = "CONNECTED_TO_AGENT_TIMESTAMP" + + // SearchContactsTimeRangeTypeDisconnectTimestamp is a SearchContactsTimeRangeType enum value + SearchContactsTimeRangeTypeDisconnectTimestamp = "DISCONNECT_TIMESTAMP" +) + +// SearchContactsTimeRangeType_Values returns all elements of the SearchContactsTimeRangeType enum +func SearchContactsTimeRangeType_Values() []string { + return []string{ + SearchContactsTimeRangeTypeInitiationTimestamp, + SearchContactsTimeRangeTypeScheduledTimestamp, + SearchContactsTimeRangeTypeConnectedToAgentTimestamp, + SearchContactsTimeRangeTypeDisconnectTimestamp, + } +} + const ( // SearchableQueueTypeStandard is a SearchableQueueType enum value SearchableQueueTypeStandard = "STANDARD" @@ -75637,6 +79707,38 @@ func SortOrder_Values() []string { } } +const ( + // SortableFieldNameInitiationTimestamp is a SortableFieldName enum value + SortableFieldNameInitiationTimestamp = "INITIATION_TIMESTAMP" + + // SortableFieldNameScheduledTimestamp is a SortableFieldName enum value + SortableFieldNameScheduledTimestamp = "SCHEDULED_TIMESTAMP" + + // SortableFieldNameConnectedToAgentTimestamp is a SortableFieldName enum value + SortableFieldNameConnectedToAgentTimestamp = "CONNECTED_TO_AGENT_TIMESTAMP" + + // SortableFieldNameDisconnectTimestamp is a SortableFieldName enum value + SortableFieldNameDisconnectTimestamp = "DISCONNECT_TIMESTAMP" + + // SortableFieldNameInitiationMethod is a SortableFieldName enum value + SortableFieldNameInitiationMethod = "INITIATION_METHOD" + + // SortableFieldNameChannel is a SortableFieldName enum value + SortableFieldNameChannel = "CHANNEL" +) + +// SortableFieldName_Values returns all elements of the SortableFieldName enum +func SortableFieldName_Values() []string { + return []string{ + SortableFieldNameInitiationTimestamp, + SortableFieldNameScheduledTimestamp, + SortableFieldNameConnectedToAgentTimestamp, + SortableFieldNameDisconnectTimestamp, + SortableFieldNameInitiationMethod, + SortableFieldNameChannel, + } +} + const ( // SourceTypeSalesforce is a SourceType enum value SourceTypeSalesforce = "SALESFORCE" diff --git a/service/connect/connectiface/interface.go b/service/connect/connectiface/interface.go index c891281a38..8ebbbfd5c4 100644 --- a/service/connect/connectiface/interface.go +++ b/service/connect/connectiface/interface.go @@ -116,6 +116,10 @@ type ConnectAPI interface { AssociateTrafficDistributionGroupUserWithContext(aws.Context, *connect.AssociateTrafficDistributionGroupUserInput, ...request.Option) (*connect.AssociateTrafficDistributionGroupUserOutput, error) AssociateTrafficDistributionGroupUserRequest(*connect.AssociateTrafficDistributionGroupUserInput) (*request.Request, *connect.AssociateTrafficDistributionGroupUserOutput) + AssociateUserProficiencies(*connect.AssociateUserProficienciesInput) (*connect.AssociateUserProficienciesOutput, error) + AssociateUserProficienciesWithContext(aws.Context, *connect.AssociateUserProficienciesInput, ...request.Option) (*connect.AssociateUserProficienciesOutput, error) + AssociateUserProficienciesRequest(*connect.AssociateUserProficienciesInput) (*request.Request, *connect.AssociateUserProficienciesOutput) + BatchAssociateAnalyticsDataSet(*connect.BatchAssociateAnalyticsDataSetInput) (*connect.BatchAssociateAnalyticsDataSetOutput, error) BatchAssociateAnalyticsDataSetWithContext(aws.Context, *connect.BatchAssociateAnalyticsDataSetInput, ...request.Option) (*connect.BatchAssociateAnalyticsDataSetOutput, error) BatchAssociateAnalyticsDataSetRequest(*connect.BatchAssociateAnalyticsDataSetInput) (*request.Request, *connect.BatchAssociateAnalyticsDataSetOutput) @@ -172,6 +176,10 @@ type ConnectAPI interface { CreatePersistentContactAssociationWithContext(aws.Context, *connect.CreatePersistentContactAssociationInput, ...request.Option) (*connect.CreatePersistentContactAssociationOutput, error) CreatePersistentContactAssociationRequest(*connect.CreatePersistentContactAssociationInput) (*request.Request, *connect.CreatePersistentContactAssociationOutput) + CreatePredefinedAttribute(*connect.CreatePredefinedAttributeInput) (*connect.CreatePredefinedAttributeOutput, error) + CreatePredefinedAttributeWithContext(aws.Context, *connect.CreatePredefinedAttributeInput, ...request.Option) (*connect.CreatePredefinedAttributeOutput, error) + CreatePredefinedAttributeRequest(*connect.CreatePredefinedAttributeInput) (*request.Request, *connect.CreatePredefinedAttributeOutput) + CreatePrompt(*connect.CreatePromptInput) (*connect.CreatePromptOutput, error) CreatePromptWithContext(aws.Context, *connect.CreatePromptInput, ...request.Option) (*connect.CreatePromptOutput, error) CreatePromptRequest(*connect.CreatePromptInput) (*request.Request, *connect.CreatePromptOutput) @@ -260,6 +268,10 @@ type ConnectAPI interface { DeleteIntegrationAssociationWithContext(aws.Context, *connect.DeleteIntegrationAssociationInput, ...request.Option) (*connect.DeleteIntegrationAssociationOutput, error) DeleteIntegrationAssociationRequest(*connect.DeleteIntegrationAssociationInput) (*request.Request, *connect.DeleteIntegrationAssociationOutput) + DeletePredefinedAttribute(*connect.DeletePredefinedAttributeInput) (*connect.DeletePredefinedAttributeOutput, error) + DeletePredefinedAttributeWithContext(aws.Context, *connect.DeletePredefinedAttributeInput, ...request.Option) (*connect.DeletePredefinedAttributeOutput, error) + DeletePredefinedAttributeRequest(*connect.DeletePredefinedAttributeInput) (*request.Request, *connect.DeletePredefinedAttributeOutput) + DeletePrompt(*connect.DeletePromptInput) (*connect.DeletePromptOutput, error) DeletePromptWithContext(aws.Context, *connect.DeletePromptInput, ...request.Option) (*connect.DeletePromptOutput, error) DeletePromptRequest(*connect.DeletePromptInput) (*request.Request, *connect.DeletePromptOutput) @@ -360,6 +372,10 @@ type ConnectAPI interface { DescribePhoneNumberWithContext(aws.Context, *connect.DescribePhoneNumberInput, ...request.Option) (*connect.DescribePhoneNumberOutput, error) DescribePhoneNumberRequest(*connect.DescribePhoneNumberInput) (*request.Request, *connect.DescribePhoneNumberOutput) + DescribePredefinedAttribute(*connect.DescribePredefinedAttributeInput) (*connect.DescribePredefinedAttributeOutput, error) + DescribePredefinedAttributeWithContext(aws.Context, *connect.DescribePredefinedAttributeInput, ...request.Option) (*connect.DescribePredefinedAttributeOutput, error) + DescribePredefinedAttributeRequest(*connect.DescribePredefinedAttributeInput) (*request.Request, *connect.DescribePredefinedAttributeOutput) + DescribePrompt(*connect.DescribePromptInput) (*connect.DescribePromptOutput, error) DescribePromptWithContext(aws.Context, *connect.DescribePromptInput, ...request.Option) (*connect.DescribePromptOutput, error) DescribePromptRequest(*connect.DescribePromptInput) (*request.Request, *connect.DescribePromptOutput) @@ -456,6 +472,10 @@ type ConnectAPI interface { DisassociateTrafficDistributionGroupUserWithContext(aws.Context, *connect.DisassociateTrafficDistributionGroupUserInput, ...request.Option) (*connect.DisassociateTrafficDistributionGroupUserOutput, error) DisassociateTrafficDistributionGroupUserRequest(*connect.DisassociateTrafficDistributionGroupUserInput) (*request.Request, *connect.DisassociateTrafficDistributionGroupUserOutput) + DisassociateUserProficiencies(*connect.DisassociateUserProficienciesInput) (*connect.DisassociateUserProficienciesOutput, error) + DisassociateUserProficienciesWithContext(aws.Context, *connect.DisassociateUserProficienciesInput, ...request.Option) (*connect.DisassociateUserProficienciesOutput, error) + DisassociateUserProficienciesRequest(*connect.DisassociateUserProficienciesInput) (*request.Request, *connect.DisassociateUserProficienciesOutput) + DismissUserContact(*connect.DismissUserContactInput) (*connect.DismissUserContactOutput, error) DismissUserContactWithContext(aws.Context, *connect.DismissUserContactInput, ...request.Option) (*connect.DismissUserContactOutput, error) DismissUserContactRequest(*connect.DismissUserContactInput) (*request.Request, *connect.DismissUserContactOutput) @@ -660,6 +680,13 @@ type ConnectAPI interface { ListPhoneNumbersV2Pages(*connect.ListPhoneNumbersV2Input, func(*connect.ListPhoneNumbersV2Output, bool) bool) error ListPhoneNumbersV2PagesWithContext(aws.Context, *connect.ListPhoneNumbersV2Input, func(*connect.ListPhoneNumbersV2Output, bool) bool, ...request.Option) error + ListPredefinedAttributes(*connect.ListPredefinedAttributesInput) (*connect.ListPredefinedAttributesOutput, error) + ListPredefinedAttributesWithContext(aws.Context, *connect.ListPredefinedAttributesInput, ...request.Option) (*connect.ListPredefinedAttributesOutput, error) + ListPredefinedAttributesRequest(*connect.ListPredefinedAttributesInput) (*request.Request, *connect.ListPredefinedAttributesOutput) + + ListPredefinedAttributesPages(*connect.ListPredefinedAttributesInput, func(*connect.ListPredefinedAttributesOutput, bool) bool) error + ListPredefinedAttributesPagesWithContext(aws.Context, *connect.ListPredefinedAttributesInput, func(*connect.ListPredefinedAttributesOutput, bool) bool, ...request.Option) error + ListPrompts(*connect.ListPromptsInput) (*connect.ListPromptsOutput, error) ListPromptsWithContext(aws.Context, *connect.ListPromptsInput, ...request.Option) (*connect.ListPromptsOutput, error) ListPromptsRequest(*connect.ListPromptsInput) (*request.Request, *connect.ListPromptsOutput) @@ -783,6 +810,13 @@ type ConnectAPI interface { ListUserHierarchyGroupsPages(*connect.ListUserHierarchyGroupsInput, func(*connect.ListUserHierarchyGroupsOutput, bool) bool) error ListUserHierarchyGroupsPagesWithContext(aws.Context, *connect.ListUserHierarchyGroupsInput, func(*connect.ListUserHierarchyGroupsOutput, bool) bool, ...request.Option) error + ListUserProficiencies(*connect.ListUserProficienciesInput) (*connect.ListUserProficienciesOutput, error) + ListUserProficienciesWithContext(aws.Context, *connect.ListUserProficienciesInput, ...request.Option) (*connect.ListUserProficienciesOutput, error) + ListUserProficienciesRequest(*connect.ListUserProficienciesInput) (*request.Request, *connect.ListUserProficienciesOutput) + + ListUserProficienciesPages(*connect.ListUserProficienciesInput, func(*connect.ListUserProficienciesOutput, bool) bool) error + ListUserProficienciesPagesWithContext(aws.Context, *connect.ListUserProficienciesInput, func(*connect.ListUserProficienciesOutput, bool) bool, ...request.Option) error + ListUsers(*connect.ListUsersInput) (*connect.ListUsersOutput, error) ListUsersWithContext(aws.Context, *connect.ListUsersInput, ...request.Option) (*connect.ListUsersOutput, error) ListUsersRequest(*connect.ListUsersInput) (*request.Request, *connect.ListUsersOutput) @@ -839,6 +873,13 @@ type ConnectAPI interface { SearchAvailablePhoneNumbersPages(*connect.SearchAvailablePhoneNumbersInput, func(*connect.SearchAvailablePhoneNumbersOutput, bool) bool) error SearchAvailablePhoneNumbersPagesWithContext(aws.Context, *connect.SearchAvailablePhoneNumbersInput, func(*connect.SearchAvailablePhoneNumbersOutput, bool) bool, ...request.Option) error + SearchContacts(*connect.SearchContactsInput) (*connect.SearchContactsOutput, error) + SearchContactsWithContext(aws.Context, *connect.SearchContactsInput, ...request.Option) (*connect.SearchContactsOutput, error) + SearchContactsRequest(*connect.SearchContactsInput) (*request.Request, *connect.SearchContactsOutput) + + SearchContactsPages(*connect.SearchContactsInput, func(*connect.SearchContactsOutput, bool) bool) error + SearchContactsPagesWithContext(aws.Context, *connect.SearchContactsInput, func(*connect.SearchContactsOutput, bool) bool, ...request.Option) error + SearchHoursOfOperations(*connect.SearchHoursOfOperationsInput) (*connect.SearchHoursOfOperationsOutput, error) SearchHoursOfOperationsWithContext(aws.Context, *connect.SearchHoursOfOperationsInput, ...request.Option) (*connect.SearchHoursOfOperationsOutput, error) SearchHoursOfOperationsRequest(*connect.SearchHoursOfOperationsInput) (*request.Request, *connect.SearchHoursOfOperationsOutput) @@ -846,6 +887,13 @@ type ConnectAPI interface { SearchHoursOfOperationsPages(*connect.SearchHoursOfOperationsInput, func(*connect.SearchHoursOfOperationsOutput, bool) bool) error SearchHoursOfOperationsPagesWithContext(aws.Context, *connect.SearchHoursOfOperationsInput, func(*connect.SearchHoursOfOperationsOutput, bool) bool, ...request.Option) error + SearchPredefinedAttributes(*connect.SearchPredefinedAttributesInput) (*connect.SearchPredefinedAttributesOutput, error) + SearchPredefinedAttributesWithContext(aws.Context, *connect.SearchPredefinedAttributesInput, ...request.Option) (*connect.SearchPredefinedAttributesOutput, error) + SearchPredefinedAttributesRequest(*connect.SearchPredefinedAttributesInput) (*request.Request, *connect.SearchPredefinedAttributesOutput) + + SearchPredefinedAttributesPages(*connect.SearchPredefinedAttributesInput, func(*connect.SearchPredefinedAttributesOutput, bool) bool) error + SearchPredefinedAttributesPagesWithContext(aws.Context, *connect.SearchPredefinedAttributesInput, func(*connect.SearchPredefinedAttributesOutput, bool) bool, ...request.Option) error + SearchPrompts(*connect.SearchPromptsInput) (*connect.SearchPromptsOutput, error) SearchPromptsWithContext(aws.Context, *connect.SearchPromptsInput, ...request.Option) (*connect.SearchPromptsOutput, error) SearchPromptsRequest(*connect.SearchPromptsInput) (*request.Request, *connect.SearchPromptsOutput) @@ -1010,6 +1058,10 @@ type ConnectAPI interface { UpdateContactFlowNameWithContext(aws.Context, *connect.UpdateContactFlowNameInput, ...request.Option) (*connect.UpdateContactFlowNameOutput, error) UpdateContactFlowNameRequest(*connect.UpdateContactFlowNameInput) (*request.Request, *connect.UpdateContactFlowNameOutput) + UpdateContactRoutingData(*connect.UpdateContactRoutingDataInput) (*connect.UpdateContactRoutingDataOutput, error) + UpdateContactRoutingDataWithContext(aws.Context, *connect.UpdateContactRoutingDataInput, ...request.Option) (*connect.UpdateContactRoutingDataOutput, error) + UpdateContactRoutingDataRequest(*connect.UpdateContactRoutingDataInput) (*request.Request, *connect.UpdateContactRoutingDataOutput) + UpdateContactSchedule(*connect.UpdateContactScheduleInput) (*connect.UpdateContactScheduleOutput, error) UpdateContactScheduleWithContext(aws.Context, *connect.UpdateContactScheduleInput, ...request.Option) (*connect.UpdateContactScheduleOutput, error) UpdateContactScheduleRequest(*connect.UpdateContactScheduleInput) (*request.Request, *connect.UpdateContactScheduleOutput) @@ -1042,6 +1094,10 @@ type ConnectAPI interface { UpdatePhoneNumberMetadataWithContext(aws.Context, *connect.UpdatePhoneNumberMetadataInput, ...request.Option) (*connect.UpdatePhoneNumberMetadataOutput, error) UpdatePhoneNumberMetadataRequest(*connect.UpdatePhoneNumberMetadataInput) (*request.Request, *connect.UpdatePhoneNumberMetadataOutput) + UpdatePredefinedAttribute(*connect.UpdatePredefinedAttributeInput) (*connect.UpdatePredefinedAttributeOutput, error) + UpdatePredefinedAttributeWithContext(aws.Context, *connect.UpdatePredefinedAttributeInput, ...request.Option) (*connect.UpdatePredefinedAttributeOutput, error) + UpdatePredefinedAttributeRequest(*connect.UpdatePredefinedAttributeInput) (*request.Request, *connect.UpdatePredefinedAttributeOutput) + UpdatePrompt(*connect.UpdatePromptInput) (*connect.UpdatePromptOutput, error) UpdatePromptWithContext(aws.Context, *connect.UpdatePromptInput, ...request.Option) (*connect.UpdatePromptOutput, error) UpdatePromptRequest(*connect.UpdatePromptInput) (*request.Request, *connect.UpdatePromptOutput) @@ -1130,6 +1186,10 @@ type ConnectAPI interface { UpdateUserPhoneConfigWithContext(aws.Context, *connect.UpdateUserPhoneConfigInput, ...request.Option) (*connect.UpdateUserPhoneConfigOutput, error) UpdateUserPhoneConfigRequest(*connect.UpdateUserPhoneConfigInput) (*request.Request, *connect.UpdateUserPhoneConfigOutput) + UpdateUserProficiencies(*connect.UpdateUserProficienciesInput) (*connect.UpdateUserProficienciesOutput, error) + UpdateUserProficienciesWithContext(aws.Context, *connect.UpdateUserProficienciesInput, ...request.Option) (*connect.UpdateUserProficienciesOutput, error) + UpdateUserProficienciesRequest(*connect.UpdateUserProficienciesInput) (*request.Request, *connect.UpdateUserProficienciesOutput) + UpdateUserRoutingProfile(*connect.UpdateUserRoutingProfileInput) (*connect.UpdateUserRoutingProfileOutput, error) UpdateUserRoutingProfileWithContext(aws.Context, *connect.UpdateUserRoutingProfileInput, ...request.Option) (*connect.UpdateUserRoutingProfileOutput, error) UpdateUserRoutingProfileRequest(*connect.UpdateUserRoutingProfileInput) (*request.Request, *connect.UpdateUserRoutingProfileOutput) diff --git a/service/medialive/api.go b/service/medialive/api.go index f338d46abe..c9e9a3446e 100644 --- a/service/medialive/api.go +++ b/service/medialive/api.go @@ -15771,7 +15771,7 @@ type EncoderSettings struct { // Settings for caption decriptions CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"` - // Color correction settings + // Color Correction Settings ColorCorrectionSettings *ColorCorrectionSettings `locationName:"colorCorrectionSettings" type:"structure"` // Feature Activations @@ -20082,10 +20082,64 @@ func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationV return s } +// One audio configuration that specifies the format for one audio pair that +// the device produces as output. +type InputDeviceConfigurableAudioChannelPairConfig struct { + _ struct{} `type:"structure"` + + // The ID for one audio pair configuration, a value from 1 to 8. + Id *int64 `locationName:"id" type:"integer"` + + // The profile to set for one audio pair configuration. Choose an enumeration + // value. Each value describes one audio configuration using the format (rate + // control algorithm)-(codec)_(quality)-(bitrate in bytes). For example, CBR-AAC_HQ-192000. + // Or choose DISABLED, in which case the device won't produce audio for this + // pair. + Profile *string `locationName:"profile" type:"string" enum:"InputDeviceConfigurableAudioChannelPairProfile"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InputDeviceConfigurableAudioChannelPairConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InputDeviceConfigurableAudioChannelPairConfig) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *InputDeviceConfigurableAudioChannelPairConfig) SetId(v int64) *InputDeviceConfigurableAudioChannelPairConfig { + s.Id = &v + return s +} + +// SetProfile sets the Profile field's value. +func (s *InputDeviceConfigurableAudioChannelPairConfig) SetProfile(v string) *InputDeviceConfigurableAudioChannelPairConfig { + s.Profile = &v + return s +} + // Configurable settings for the input device. type InputDeviceConfigurableSettings struct { _ struct{} `type:"structure"` + // An array of eight audio configurations, one for each audio pair in the source. + // Set up each audio configuration either to exclude the pair, or to format + // it and include it in the output from the device. This parameter applies only + // to UHD devices, and only when the device is configured as the source for + // a MediaConnect flow. For an HD device, you configure the audio by setting + // up audio selectors in the channel configuration. + AudioChannelPairs []*InputDeviceConfigurableAudioChannelPairConfig `locationName:"audioChannelPairs" type:"list"` + // Choose the codec for the video that the device produces. Only UHD devices // can specify this parameter. Codec *string `locationName:"codec" type:"string" enum:"InputDeviceCodec"` @@ -20127,6 +20181,12 @@ func (s InputDeviceConfigurableSettings) GoString() string { return s.String() } +// SetAudioChannelPairs sets the AudioChannelPairs field's value. +func (s *InputDeviceConfigurableSettings) SetAudioChannelPairs(v []*InputDeviceConfigurableAudioChannelPairConfig) *InputDeviceConfigurableSettings { + s.AudioChannelPairs = v + return s +} + // SetCodec sets the Codec field's value. func (s *InputDeviceConfigurableSettings) SetCodec(v string) *InputDeviceConfigurableSettings { s.Codec = &v @@ -20695,6 +20755,51 @@ func (s *InputDeviceSummary) SetUhdDeviceSettings(v *InputDeviceUhdSettings) *In return s } +// One audio configuration that specifies the format for one audio pair that +// the device produces as output. +type InputDeviceUhdAudioChannelPairConfig struct { + _ struct{} `type:"structure"` + + // The ID for one audio pair configuration, a value from 1 to 8. + Id *int64 `locationName:"id" type:"integer"` + + // The profile for one audio pair configuration. This property describes one + // audio configuration in the format (rate control algorithm)-(codec)_(quality)-(bitrate + // in bytes). For example, CBR-AAC_HQ-192000. Or DISABLED, in which case the + // device won't produce audio for this pair. + Profile *string `locationName:"profile" type:"string" enum:"InputDeviceUhdAudioChannelPairProfile"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InputDeviceUhdAudioChannelPairConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InputDeviceUhdAudioChannelPairConfig) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *InputDeviceUhdAudioChannelPairConfig) SetId(v int64) *InputDeviceUhdAudioChannelPairConfig { + s.Id = &v + return s +} + +// SetProfile sets the Profile field's value. +func (s *InputDeviceUhdAudioChannelPairConfig) SetProfile(v string) *InputDeviceUhdAudioChannelPairConfig { + s.Profile = &v + return s +} + // Settings that describe the active source from the input device, and the video // characteristics of that source. type InputDeviceUhdSettings struct { @@ -20704,6 +20809,12 @@ type InputDeviceUhdSettings struct { // is currently active (SDI or HDMI). ActiveInput *string `locationName:"activeInput" type:"string" enum:"InputDeviceActiveInput"` + // An array of eight audio configurations, one for each audio pair in the source. + // Each audio configuration specifies either to exclude the pair, or to format + // it and include it in the output from the UHD device. Applies only when the + // device is configured as the source for a MediaConnect flow. + AudioChannelPairs []*InputDeviceUhdAudioChannelPairConfig `locationName:"audioChannelPairs" type:"list"` + // The codec for the video that the device produces. Codec *string `locationName:"codec" type:"string" enum:"InputDeviceCodec"` @@ -20763,6 +20874,12 @@ func (s *InputDeviceUhdSettings) SetActiveInput(v string) *InputDeviceUhdSetting return s } +// SetAudioChannelPairs sets the AudioChannelPairs field's value. +func (s *InputDeviceUhdSettings) SetAudioChannelPairs(v []*InputDeviceUhdAudioChannelPairConfig) *InputDeviceUhdSettings { + s.AudioChannelPairs = v + return s +} + // SetCodec sets the Codec field's value. func (s *InputDeviceUhdSettings) SetCodec(v string) *InputDeviceUhdSettings { s.Codec = &v @@ -37066,6 +37183,48 @@ func InputDeviceCodec_Values() []string { } } +// Property of InputDeviceConfigurableAudioChannelPairConfig, which configures +// one audio channel that the device produces. +const ( + // InputDeviceConfigurableAudioChannelPairProfileDisabled is a InputDeviceConfigurableAudioChannelPairProfile enum value + InputDeviceConfigurableAudioChannelPairProfileDisabled = "DISABLED" + + // InputDeviceConfigurableAudioChannelPairProfileVbrAacHhe16000 is a InputDeviceConfigurableAudioChannelPairProfile enum value + InputDeviceConfigurableAudioChannelPairProfileVbrAacHhe16000 = "VBR-AAC_HHE-16000" + + // InputDeviceConfigurableAudioChannelPairProfileVbrAacHe64000 is a InputDeviceConfigurableAudioChannelPairProfile enum value + InputDeviceConfigurableAudioChannelPairProfileVbrAacHe64000 = "VBR-AAC_HE-64000" + + // InputDeviceConfigurableAudioChannelPairProfileVbrAacLc128000 is a InputDeviceConfigurableAudioChannelPairProfile enum value + InputDeviceConfigurableAudioChannelPairProfileVbrAacLc128000 = "VBR-AAC_LC-128000" + + // InputDeviceConfigurableAudioChannelPairProfileCbrAacHq192000 is a InputDeviceConfigurableAudioChannelPairProfile enum value + InputDeviceConfigurableAudioChannelPairProfileCbrAacHq192000 = "CBR-AAC_HQ-192000" + + // InputDeviceConfigurableAudioChannelPairProfileCbrAacHq256000 is a InputDeviceConfigurableAudioChannelPairProfile enum value + InputDeviceConfigurableAudioChannelPairProfileCbrAacHq256000 = "CBR-AAC_HQ-256000" + + // InputDeviceConfigurableAudioChannelPairProfileCbrAacHq384000 is a InputDeviceConfigurableAudioChannelPairProfile enum value + InputDeviceConfigurableAudioChannelPairProfileCbrAacHq384000 = "CBR-AAC_HQ-384000" + + // InputDeviceConfigurableAudioChannelPairProfileCbrAacHq512000 is a InputDeviceConfigurableAudioChannelPairProfile enum value + InputDeviceConfigurableAudioChannelPairProfileCbrAacHq512000 = "CBR-AAC_HQ-512000" +) + +// InputDeviceConfigurableAudioChannelPairProfile_Values returns all elements of the InputDeviceConfigurableAudioChannelPairProfile enum +func InputDeviceConfigurableAudioChannelPairProfile_Values() []string { + return []string{ + InputDeviceConfigurableAudioChannelPairProfileDisabled, + InputDeviceConfigurableAudioChannelPairProfileVbrAacHhe16000, + InputDeviceConfigurableAudioChannelPairProfileVbrAacHe64000, + InputDeviceConfigurableAudioChannelPairProfileVbrAacLc128000, + InputDeviceConfigurableAudioChannelPairProfileCbrAacHq192000, + InputDeviceConfigurableAudioChannelPairProfileCbrAacHq256000, + InputDeviceConfigurableAudioChannelPairProfileCbrAacHq384000, + InputDeviceConfigurableAudioChannelPairProfileCbrAacHq512000, + } +} + // The source to activate (use) from the input device. const ( // InputDeviceConfiguredInputAuto is a InputDeviceConfiguredInput enum value @@ -37214,6 +37373,48 @@ func InputDeviceType_Values() []string { } } +// Property of InputDeviceUhdAudioChannelPairConfig, which describes one audio +// channel that the device is configured to produce. +const ( + // InputDeviceUhdAudioChannelPairProfileDisabled is a InputDeviceUhdAudioChannelPairProfile enum value + InputDeviceUhdAudioChannelPairProfileDisabled = "DISABLED" + + // InputDeviceUhdAudioChannelPairProfileVbrAacHhe16000 is a InputDeviceUhdAudioChannelPairProfile enum value + InputDeviceUhdAudioChannelPairProfileVbrAacHhe16000 = "VBR-AAC_HHE-16000" + + // InputDeviceUhdAudioChannelPairProfileVbrAacHe64000 is a InputDeviceUhdAudioChannelPairProfile enum value + InputDeviceUhdAudioChannelPairProfileVbrAacHe64000 = "VBR-AAC_HE-64000" + + // InputDeviceUhdAudioChannelPairProfileVbrAacLc128000 is a InputDeviceUhdAudioChannelPairProfile enum value + InputDeviceUhdAudioChannelPairProfileVbrAacLc128000 = "VBR-AAC_LC-128000" + + // InputDeviceUhdAudioChannelPairProfileCbrAacHq192000 is a InputDeviceUhdAudioChannelPairProfile enum value + InputDeviceUhdAudioChannelPairProfileCbrAacHq192000 = "CBR-AAC_HQ-192000" + + // InputDeviceUhdAudioChannelPairProfileCbrAacHq256000 is a InputDeviceUhdAudioChannelPairProfile enum value + InputDeviceUhdAudioChannelPairProfileCbrAacHq256000 = "CBR-AAC_HQ-256000" + + // InputDeviceUhdAudioChannelPairProfileCbrAacHq384000 is a InputDeviceUhdAudioChannelPairProfile enum value + InputDeviceUhdAudioChannelPairProfileCbrAacHq384000 = "CBR-AAC_HQ-384000" + + // InputDeviceUhdAudioChannelPairProfileCbrAacHq512000 is a InputDeviceUhdAudioChannelPairProfile enum value + InputDeviceUhdAudioChannelPairProfileCbrAacHq512000 = "CBR-AAC_HQ-512000" +) + +// InputDeviceUhdAudioChannelPairProfile_Values returns all elements of the InputDeviceUhdAudioChannelPairProfile enum +func InputDeviceUhdAudioChannelPairProfile_Values() []string { + return []string{ + InputDeviceUhdAudioChannelPairProfileDisabled, + InputDeviceUhdAudioChannelPairProfileVbrAacHhe16000, + InputDeviceUhdAudioChannelPairProfileVbrAacHe64000, + InputDeviceUhdAudioChannelPairProfileVbrAacLc128000, + InputDeviceUhdAudioChannelPairProfileCbrAacHq192000, + InputDeviceUhdAudioChannelPairProfileCbrAacHq256000, + InputDeviceUhdAudioChannelPairProfileCbrAacHq384000, + InputDeviceUhdAudioChannelPairProfileCbrAacHq512000, + } +} + // Input Filter const ( // InputFilterAuto is a InputFilter enum value diff --git a/service/prometheusservice/api.go b/service/prometheusservice/api.go index ea90602f64..5632ae363d 100644 --- a/service/prometheusservice/api.go +++ b/service/prometheusservice/api.go @@ -3478,6 +3478,9 @@ type CreateWorkspaceInput struct { // idempotency of the request. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + // Optional, customer managed KMS key used to encrypt data for this workspace + KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"` + // Optional, user-provided tags for this workspace. Tags map[string]*string `locationName:"tags" type:"map"` } @@ -3509,6 +3512,9 @@ func (s *CreateWorkspaceInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } + if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3528,6 +3534,12 @@ func (s *CreateWorkspaceInput) SetClientToken(v string) *CreateWorkspaceInput { return s } +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *CreateWorkspaceInput) SetKmsKeyArn(v string) *CreateWorkspaceInput { + s.KmsKeyArn = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateWorkspaceInput) SetTags(v map[string]*string) *CreateWorkspaceInput { s.Tags = v @@ -3543,6 +3555,9 @@ type CreateWorkspaceOutput struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` + // Customer managed KMS key ARN for this workspace + KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"` + // The status of the workspace that was just created (usually CREATING). // // Status is a required field @@ -3581,6 +3596,12 @@ func (s *CreateWorkspaceOutput) SetArn(v string) *CreateWorkspaceOutput { return s } +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *CreateWorkspaceOutput) SetKmsKeyArn(v string) *CreateWorkspaceOutput { + s.KmsKeyArn = &v + return s +} + // SetStatus sets the Status field's value. func (s *CreateWorkspaceOutput) SetStatus(v *WorkspaceStatus) *CreateWorkspaceOutput { s.Status = v @@ -6956,6 +6977,9 @@ type WorkspaceDescription struct { // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + // The customer managed KMS key of this workspace. + KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"` + // Prometheus endpoint URI. PrometheusEndpoint *string `locationName:"prometheusEndpoint" min:"1" type:"string"` @@ -7009,6 +7033,12 @@ func (s *WorkspaceDescription) SetCreatedAt(v time.Time) *WorkspaceDescription { return s } +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *WorkspaceDescription) SetKmsKeyArn(v string) *WorkspaceDescription { + s.KmsKeyArn = &v + return s +} + // SetPrometheusEndpoint sets the PrometheusEndpoint field's value. func (s *WorkspaceDescription) SetPrometheusEndpoint(v string) *WorkspaceDescription { s.PrometheusEndpoint = &v @@ -7084,6 +7114,9 @@ type WorkspaceSummary struct { // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + // Customer managed KMS key ARN for this workspace + KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"` + // The status of this workspace. // // Status is a required field @@ -7134,6 +7167,12 @@ func (s *WorkspaceSummary) SetCreatedAt(v time.Time) *WorkspaceSummary { return s } +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *WorkspaceSummary) SetKmsKeyArn(v string) *WorkspaceSummary { + s.KmsKeyArn = &v + return s +} + // SetStatus sets the Status field's value. func (s *WorkspaceSummary) SetStatus(v *WorkspaceStatus) *WorkspaceSummary { s.Status = v diff --git a/service/rds/api.go b/service/rds/api.go index 9a13069d9f..0e900c2d0a 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -11040,6 +11040,96 @@ func (c *RDS) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, i return out, req.Send() } +const opDisableHttpEndpoint = "DisableHttpEndpoint" + +// DisableHttpEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DisableHttpEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisableHttpEndpoint for more information on using the DisableHttpEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisableHttpEndpointRequest method. +// req, resp := client.DisableHttpEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DisableHttpEndpoint +func (c *RDS) DisableHttpEndpointRequest(input *DisableHttpEndpointInput) (req *request.Request, output *DisableHttpEndpointOutput) { + op := &request.Operation{ + Name: opDisableHttpEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisableHttpEndpointInput{} + } + + output = &DisableHttpEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisableHttpEndpoint API operation for Amazon Relational Database Service. +// +// Disables the HTTP endpoint for the specified DB cluster. Disabling this endpoint +// disables RDS Data API. +// +// For more information, see Using RDS Data API (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) +// in the Amazon Aurora User Guide. +// +// This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned +// DB clusters. To disable the HTTP endpoint for Aurora Serverless v1 DB clusters, +// use the EnableHttpEndpoint parameter of the ModifyDBCluster operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DisableHttpEndpoint for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeResourceNotFoundFault "ResourceNotFoundFault" +// The specified resource ID was not found. +// +// - ErrCodeInvalidResourceStateFault "InvalidResourceStateFault" +// The operation can't be performed because another operation is in progress. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DisableHttpEndpoint +func (c *RDS) DisableHttpEndpoint(input *DisableHttpEndpointInput) (*DisableHttpEndpointOutput, error) { + req, out := c.DisableHttpEndpointRequest(input) + return out, req.Send() +} + +// DisableHttpEndpointWithContext is the same as DisableHttpEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DisableHttpEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RDS) DisableHttpEndpointWithContext(ctx aws.Context, input *DisableHttpEndpointInput, opts ...request.Option) (*DisableHttpEndpointOutput, error) { + req, out := c.DisableHttpEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion" // DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the @@ -11181,6 +11271,100 @@ func (c *RDS) DownloadDBLogFilePortionPagesWithContext(ctx aws.Context, input *D return p.Err() } +const opEnableHttpEndpoint = "EnableHttpEndpoint" + +// EnableHttpEndpointRequest generates a "aws/request.Request" representing the +// client's request for the EnableHttpEndpoint operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See EnableHttpEndpoint for more information on using the EnableHttpEndpoint +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the EnableHttpEndpointRequest method. +// req, resp := client.EnableHttpEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/EnableHttpEndpoint +func (c *RDS) EnableHttpEndpointRequest(input *EnableHttpEndpointInput) (req *request.Request, output *EnableHttpEndpointOutput) { + op := &request.Operation{ + Name: opEnableHttpEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EnableHttpEndpointInput{} + } + + output = &EnableHttpEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// EnableHttpEndpoint API operation for Amazon Relational Database Service. +// +// Enables the HTTP endpoint for the DB cluster. By default, the HTTP endpoint +// isn't enabled. +// +// When enabled, this endpoint provides a connectionless web service API (RDS +// Data API) for running SQL queries on the Aurora DB cluster. You can also +// query your database from inside the RDS console with the RDS query editor. +// +// For more information, see Using RDS Data API (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) +// in the Amazon Aurora User Guide. +// +// This operation applies only to Aurora PostgreSQL Serverless v2 and provisioned +// DB clusters. To enable the HTTP endpoint for Aurora Serverless v1 DB clusters, +// use the EnableHttpEndpoint parameter of the ModifyDBCluster operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation EnableHttpEndpoint for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeResourceNotFoundFault "ResourceNotFoundFault" +// The specified resource ID was not found. +// +// - ErrCodeInvalidResourceStateFault "InvalidResourceStateFault" +// The operation can't be performed because another operation is in progress. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/EnableHttpEndpoint +func (c *RDS) EnableHttpEndpoint(input *EnableHttpEndpointInput) (*EnableHttpEndpointOutput, error) { + req, out := c.EnableHttpEndpointRequest(input) + return out, req.Send() +} + +// EnableHttpEndpointWithContext is the same as EnableHttpEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See EnableHttpEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RDS) EnableHttpEndpointWithContext(ctx aws.Context, input *EnableHttpEndpointInput, opts ...request.Option) (*EnableHttpEndpointOutput, error) { + req, out := c.EnableHttpEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opFailoverDBCluster = "FailoverDBCluster" // FailoverDBClusterRequest generates a "aws/request.Request" representing the @@ -21396,14 +21580,20 @@ type CreateDBClusterInput struct { // Valid for Cluster Type: Aurora DB clusters only EnableGlobalWriteForwarding *bool `type:"boolean"` - // Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 - // DB cluster. By default, the HTTP endpoint is disabled. + // Specifies whether to enable the HTTP endpoint for the DB cluster. By default, + // the HTTP endpoint isn't enabled. // // When enabled, the HTTP endpoint provides a connectionless web service API - // for running SQL queries on the Aurora Serverless v1 DB cluster. You can also - // query your database from inside the RDS console with the query editor. + // (RDS Data API) for running SQL queries on the DB cluster. You can also query + // your database from inside the RDS console with the RDS query editor. // - // For more information, see Using the Data API for Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) + // RDS Data API is supported with the following DB clusters: + // + // * Aurora PostgreSQL Serverless v2 and provisioned + // + // * Aurora PostgreSQL and Aurora MySQL Serverless v1 + // + // For more information, see Using RDS Data API (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) // in the Amazon Aurora User Guide. // // Valid for Cluster Type: Aurora DB clusters only @@ -27029,14 +27219,13 @@ type DBCluster struct { // The ID that Amazon Route 53 assigns when you create a hosted zone. HostedZoneId *string `type:"string"` - // Indicates whether the HTTP endpoint for an Aurora Serverless v1 DB cluster - // is enabled. + // Indicates whether the HTTP endpoint is enabled for an Aurora DB cluster. // // When enabled, the HTTP endpoint provides a connectionless web service API - // for running SQL queries on the Aurora Serverless v1 DB cluster. You can also - // query your database from inside the RDS console with the query editor. + // (RDS Data API) for running SQL queries on the DB cluster. You can also query + // your database from inside the RDS console with the RDS query editor. // - // For more information, see Using the Data API for Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) + // For more information, see Using RDS Data API (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) // in the Amazon Aurora User Guide. HttpEndpointEnabled *bool `type:"boolean"` @@ -41790,6 +41979,92 @@ func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificat return s } +type DisableHttpEndpointInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the DB cluster. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableHttpEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableHttpEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableHttpEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableHttpEndpointInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DisableHttpEndpointInput) SetResourceArn(v string) *DisableHttpEndpointInput { + s.ResourceArn = &v + return s +} + +type DisableHttpEndpointOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether the HTTP endpoint is enabled or disabled for the DB cluster. + HttpEndpointEnabled *bool `type:"boolean"` + + // The ARN of the DB cluster. + ResourceArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableHttpEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableHttpEndpointOutput) GoString() string { + return s.String() +} + +// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value. +func (s *DisableHttpEndpointOutput) SetHttpEndpointEnabled(v bool) *DisableHttpEndpointOutput { + s.HttpEndpointEnabled = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DisableHttpEndpointOutput) SetResourceArn(v string) *DisableHttpEndpointOutput { + s.ResourceArn = &v + return s +} + // A link to documentation that provides additional information for a recommendation. type DocLink struct { _ struct{} `type:"structure"` @@ -42185,6 +42460,92 @@ func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup { return s } +type EnableHttpEndpointInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the DB cluster. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableHttpEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableHttpEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableHttpEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableHttpEndpointInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *EnableHttpEndpointInput) SetResourceArn(v string) *EnableHttpEndpointInput { + s.ResourceArn = &v + return s +} + +type EnableHttpEndpointOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether the HTTP endpoint is enabled or disabled for the DB cluster. + HttpEndpointEnabled *bool `type:"boolean"` + + // The ARN of the DB cluster. + ResourceArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableHttpEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableHttpEndpointOutput) GoString() string { + return s.String() +} + +// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value. +func (s *EnableHttpEndpointOutput) SetHttpEndpointEnabled(v bool) *EnableHttpEndpointOutput { + s.HttpEndpointEnabled = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *EnableHttpEndpointOutput) SetResourceArn(v string) *EnableHttpEndpointOutput { + s.ResourceArn = &v + return s +} + // This data type represents the information you need to connect to an Amazon // RDS DB instance. This data type is used as a response element in the following // actions: @@ -45198,15 +45559,20 @@ type ModifyDBClusterInput struct { EnableGlobalWriteForwarding *bool `type:"boolean"` // Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 - // DB cluster. By default, the HTTP endpoint is disabled. + // DB cluster. By default, the HTTP endpoint isn't enabled. // // When enabled, the HTTP endpoint provides a connectionless web service API - // for running SQL queries on the Aurora Serverless v1 DB cluster. You can also - // query your database from inside the RDS console with the query editor. + // (RDS Data API) for running SQL queries on the Aurora Serverless v1 DB cluster. + // You can also query your database from inside the RDS console with the RDS + // query editor. // - // For more information, see Using the Data API for Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) + // For more information, see Using RDS Data API (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) // in the Amazon Aurora User Guide. // + // This parameter applies only to Aurora Serverless v1 DB clusters. To enable + // or disable the HTTP endpoint for an Aurora PostgreSQL Serverless v2 or provisioned + // DB cluster, use the EnableHttpEndpoint and DisableHttpEndpoint operations. + // // Valid for Cluster Type: Aurora DB clusters only EnableHttpEndpoint *bool `type:"boolean"` diff --git a/service/rds/errors.go b/service/rds/errors.go index fc36e429d5..e9713c8edc 100644 --- a/service/rds/errors.go +++ b/service/rds/errors.go @@ -684,6 +684,12 @@ const ( // The option group isn't in the available state. ErrCodeInvalidOptionGroupStateFault = "InvalidOptionGroupStateFault" + // ErrCodeInvalidResourceStateFault for service response error code + // "InvalidResourceStateFault". + // + // The operation can't be performed because another operation is in progress. + ErrCodeInvalidResourceStateFault = "InvalidResourceStateFault" + // ErrCodeInvalidRestoreFault for service response error code // "InvalidRestoreFault". // diff --git a/service/rds/rdsiface/interface.go b/service/rds/rdsiface/interface.go index bc6e86c45a..ce4645f871 100644 --- a/service/rds/rdsiface/interface.go +++ b/service/rds/rdsiface/interface.go @@ -562,6 +562,10 @@ type RDSAPI interface { DescribeValidDBInstanceModificationsWithContext(aws.Context, *rds.DescribeValidDBInstanceModificationsInput, ...request.Option) (*rds.DescribeValidDBInstanceModificationsOutput, error) DescribeValidDBInstanceModificationsRequest(*rds.DescribeValidDBInstanceModificationsInput) (*request.Request, *rds.DescribeValidDBInstanceModificationsOutput) + DisableHttpEndpoint(*rds.DisableHttpEndpointInput) (*rds.DisableHttpEndpointOutput, error) + DisableHttpEndpointWithContext(aws.Context, *rds.DisableHttpEndpointInput, ...request.Option) (*rds.DisableHttpEndpointOutput, error) + DisableHttpEndpointRequest(*rds.DisableHttpEndpointInput) (*request.Request, *rds.DisableHttpEndpointOutput) + DownloadDBLogFilePortion(*rds.DownloadDBLogFilePortionInput) (*rds.DownloadDBLogFilePortionOutput, error) DownloadDBLogFilePortionWithContext(aws.Context, *rds.DownloadDBLogFilePortionInput, ...request.Option) (*rds.DownloadDBLogFilePortionOutput, error) DownloadDBLogFilePortionRequest(*rds.DownloadDBLogFilePortionInput) (*request.Request, *rds.DownloadDBLogFilePortionOutput) @@ -569,6 +573,10 @@ type RDSAPI interface { DownloadDBLogFilePortionPages(*rds.DownloadDBLogFilePortionInput, func(*rds.DownloadDBLogFilePortionOutput, bool) bool) error DownloadDBLogFilePortionPagesWithContext(aws.Context, *rds.DownloadDBLogFilePortionInput, func(*rds.DownloadDBLogFilePortionOutput, bool) bool, ...request.Option) error + EnableHttpEndpoint(*rds.EnableHttpEndpointInput) (*rds.EnableHttpEndpointOutput, error) + EnableHttpEndpointWithContext(aws.Context, *rds.EnableHttpEndpointInput, ...request.Option) (*rds.EnableHttpEndpointOutput, error) + EnableHttpEndpointRequest(*rds.EnableHttpEndpointInput) (*request.Request, *rds.EnableHttpEndpointOutput) + FailoverDBCluster(*rds.FailoverDBClusterInput) (*rds.FailoverDBClusterOutput, error) FailoverDBClusterWithContext(aws.Context, *rds.FailoverDBClusterInput, ...request.Option) (*rds.FailoverDBClusterOutput, error) FailoverDBClusterRequest(*rds.FailoverDBClusterInput) (*request.Request, *rds.FailoverDBClusterOutput) diff --git a/service/rdsdataservice/api.go b/service/rdsdataservice/api.go index bf22403073..b8c111e331 100644 --- a/service/rdsdataservice/api.go +++ b/service/rdsdataservice/api.go @@ -83,11 +83,46 @@ func (c *RDSDataService) BatchExecuteStatementRequest(input *BatchExecuteStateme // // Returned Error Types: // +// - SecretsErrorException +// There was a problem with the Secrets Manager secret used with the request, +// caused by one of the following conditions: +// +// - RDS Data API timed out retrieving the secret. +// +// - The secret provided wasn't found. +// +// - The secret couldn't be decrypted. +// +// - HttpEndpointNotEnabledException +// The HTTP endpoint for using RDS Data API isn't enabled for the DB cluster. +// +// - DatabaseErrorException +// There was an error in processing the SQL statement. +// +// - DatabaseUnavailableException +// The writer instance in the DB cluster isn't available. +// +// - TransactionNotFoundException +// The transaction ID wasn't found. +// +// - InvalidSecretException +// The Secrets Manager secret used with the request isn't valid. +// +// - ServiceUnavailableError +// The service specified by the resourceArn parameter isn't available. +// +// - ForbiddenException +// There are insufficient privileges to make the call. +// +// - DatabaseNotFoundException +// The DB cluster doesn't have a DB instance. +// // - AccessDeniedException -// You do not have sufficient access to perform this action. +// You don't have sufficient access to perform this action. // // - BadRequestException -// There is an error in the call or in a SQL statement. +// There is an error in the call or in a SQL statement. (This error only appears +// in calls from Aurora Serverless v1 databases.) // // - StatementTimeoutException // The execution of the SQL statement timed out. @@ -95,12 +130,6 @@ func (c *RDSDataService) BatchExecuteStatementRequest(input *BatchExecuteStateme // - InternalServerErrorException // An internal error occurred. // -// - ForbiddenException -// There are insufficient privileges to make the call. -// -// - ServiceUnavailableError -// The service specified by the resourceArn parameter is not available. -// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-data-2018-08-01/BatchExecuteStatement func (c *RDSDataService) BatchExecuteStatement(input *BatchExecuteStatementInput) (*BatchExecuteStatementOutput, error) { req, out := c.BatchExecuteStatementRequest(input) @@ -187,11 +216,46 @@ func (c *RDSDataService) BeginTransactionRequest(input *BeginTransactionInput) ( // // Returned Error Types: // +// - SecretsErrorException +// There was a problem with the Secrets Manager secret used with the request, +// caused by one of the following conditions: +// +// - RDS Data API timed out retrieving the secret. +// +// - The secret provided wasn't found. +// +// - The secret couldn't be decrypted. +// +// - HttpEndpointNotEnabledException +// The HTTP endpoint for using RDS Data API isn't enabled for the DB cluster. +// +// - DatabaseErrorException +// There was an error in processing the SQL statement. +// +// - DatabaseUnavailableException +// The writer instance in the DB cluster isn't available. +// +// - TransactionNotFoundException +// The transaction ID wasn't found. +// +// - InvalidSecretException +// The Secrets Manager secret used with the request isn't valid. +// +// - ServiceUnavailableError +// The service specified by the resourceArn parameter isn't available. +// +// - ForbiddenException +// There are insufficient privileges to make the call. +// +// - DatabaseNotFoundException +// The DB cluster doesn't have a DB instance. +// // - AccessDeniedException -// You do not have sufficient access to perform this action. +// You don't have sufficient access to perform this action. // // - BadRequestException -// There is an error in the call or in a SQL statement. +// There is an error in the call or in a SQL statement. (This error only appears +// in calls from Aurora Serverless v1 databases.) // // - StatementTimeoutException // The execution of the SQL statement timed out. @@ -199,12 +263,6 @@ func (c *RDSDataService) BeginTransactionRequest(input *BeginTransactionInput) ( // - InternalServerErrorException // An internal error occurred. // -// - ForbiddenException -// There are insufficient privileges to make the call. -// -// - ServiceUnavailableError -// The service specified by the resourceArn parameter is not available. -// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-data-2018-08-01/BeginTransaction func (c *RDSDataService) BeginTransaction(input *BeginTransactionInput) (*BeginTransactionOutput, error) { req, out := c.BeginTransactionRequest(input) @@ -282,11 +340,46 @@ func (c *RDSDataService) CommitTransactionRequest(input *CommitTransactionInput) // // Returned Error Types: // +// - SecretsErrorException +// There was a problem with the Secrets Manager secret used with the request, +// caused by one of the following conditions: +// +// - RDS Data API timed out retrieving the secret. +// +// - The secret provided wasn't found. +// +// - The secret couldn't be decrypted. +// +// - HttpEndpointNotEnabledException +// The HTTP endpoint for using RDS Data API isn't enabled for the DB cluster. +// +// - DatabaseErrorException +// There was an error in processing the SQL statement. +// +// - DatabaseUnavailableException +// The writer instance in the DB cluster isn't available. +// +// - TransactionNotFoundException +// The transaction ID wasn't found. +// +// - InvalidSecretException +// The Secrets Manager secret used with the request isn't valid. +// +// - ServiceUnavailableError +// The service specified by the resourceArn parameter isn't available. +// +// - ForbiddenException +// There are insufficient privileges to make the call. +// +// - DatabaseNotFoundException +// The DB cluster doesn't have a DB instance. +// // - AccessDeniedException -// You do not have sufficient access to perform this action. +// You don't have sufficient access to perform this action. // // - BadRequestException -// There is an error in the call or in a SQL statement. +// There is an error in the call or in a SQL statement. (This error only appears +// in calls from Aurora Serverless v1 databases.) // // - StatementTimeoutException // The execution of the SQL statement timed out. @@ -294,12 +387,6 @@ func (c *RDSDataService) CommitTransactionRequest(input *CommitTransactionInput) // - InternalServerErrorException // An internal error occurred. // -// - ForbiddenException -// There are insufficient privileges to make the call. -// -// - ServiceUnavailableError -// The service specified by the resourceArn parameter is not available. -// // - NotFoundException // The resourceArn, secretArn, or transactionId value can't be found. // @@ -375,8 +462,9 @@ func (c *RDSDataService) ExecuteSqlRequest(input *ExecuteSqlInput) (req *request // // Runs one or more SQL statements. // -// This operation is deprecated. Use the BatchExecuteStatement or ExecuteStatement -// operation. +// This operation isn't supported for Aurora PostgreSQL Serverless v2 and provisioned +// DB clusters, and for Aurora Serverless v1 DB clusters, the operation is deprecated. +// Use the BatchExecuteStatement or ExecuteStatement operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -388,10 +476,11 @@ func (c *RDSDataService) ExecuteSqlRequest(input *ExecuteSqlInput) (req *request // Returned Error Types: // // - AccessDeniedException -// You do not have sufficient access to perform this action. +// You don't have sufficient access to perform this action. // // - BadRequestException -// There is an error in the call or in a SQL statement. +// There is an error in the call or in a SQL statement. (This error only appears +// in calls from Aurora Serverless v1 databases.) // // - InternalServerErrorException // An internal error occurred. @@ -400,7 +489,7 @@ func (c *RDSDataService) ExecuteSqlRequest(input *ExecuteSqlInput) (req *request // There are insufficient privileges to make the call. // // - ServiceUnavailableError -// The service specified by the resourceArn parameter is not available. +// The service specified by the resourceArn parameter isn't available. // // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-data-2018-08-01/ExecuteSql // @@ -488,11 +577,46 @@ func (c *RDSDataService) ExecuteStatementRequest(input *ExecuteStatementInput) ( // // Returned Error Types: // +// - SecretsErrorException +// There was a problem with the Secrets Manager secret used with the request, +// caused by one of the following conditions: +// +// - RDS Data API timed out retrieving the secret. +// +// - The secret provided wasn't found. +// +// - The secret couldn't be decrypted. +// +// - HttpEndpointNotEnabledException +// The HTTP endpoint for using RDS Data API isn't enabled for the DB cluster. +// +// - DatabaseErrorException +// There was an error in processing the SQL statement. +// +// - DatabaseUnavailableException +// The writer instance in the DB cluster isn't available. +// +// - TransactionNotFoundException +// The transaction ID wasn't found. +// +// - InvalidSecretException +// The Secrets Manager secret used with the request isn't valid. +// +// - ServiceUnavailableError +// The service specified by the resourceArn parameter isn't available. +// +// - ForbiddenException +// There are insufficient privileges to make the call. +// +// - DatabaseNotFoundException +// The DB cluster doesn't have a DB instance. +// // - AccessDeniedException -// You do not have sufficient access to perform this action. +// You don't have sufficient access to perform this action. // // - BadRequestException -// There is an error in the call or in a SQL statement. +// There is an error in the call or in a SQL statement. (This error only appears +// in calls from Aurora Serverless v1 databases.) // // - StatementTimeoutException // The execution of the SQL statement timed out. @@ -500,11 +624,14 @@ func (c *RDSDataService) ExecuteStatementRequest(input *ExecuteStatementInput) ( // - InternalServerErrorException // An internal error occurred. // -// - ForbiddenException -// There are insufficient privileges to make the call. +// - UnsupportedResultException +// There was a problem with the result because of one of the following conditions: // -// - ServiceUnavailableError -// The service specified by the resourceArn parameter is not available. +// - It contained an unsupported data type. +// +// - It contained a multidimensional array. +// +// - The size was too large. // // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-data-2018-08-01/ExecuteStatement func (c *RDSDataService) ExecuteStatement(input *ExecuteStatementInput) (*ExecuteStatementOutput, error) { @@ -583,11 +710,46 @@ func (c *RDSDataService) RollbackTransactionRequest(input *RollbackTransactionIn // // Returned Error Types: // +// - SecretsErrorException +// There was a problem with the Secrets Manager secret used with the request, +// caused by one of the following conditions: +// +// - RDS Data API timed out retrieving the secret. +// +// - The secret provided wasn't found. +// +// - The secret couldn't be decrypted. +// +// - HttpEndpointNotEnabledException +// The HTTP endpoint for using RDS Data API isn't enabled for the DB cluster. +// +// - DatabaseErrorException +// There was an error in processing the SQL statement. +// +// - DatabaseUnavailableException +// The writer instance in the DB cluster isn't available. +// +// - TransactionNotFoundException +// The transaction ID wasn't found. +// +// - InvalidSecretException +// The Secrets Manager secret used with the request isn't valid. +// +// - ServiceUnavailableError +// The service specified by the resourceArn parameter isn't available. +// +// - ForbiddenException +// There are insufficient privileges to make the call. +// +// - DatabaseNotFoundException +// The DB cluster doesn't have a DB instance. +// // - AccessDeniedException -// You do not have sufficient access to perform this action. +// You don't have sufficient access to perform this action. // // - BadRequestException -// There is an error in the call or in a SQL statement. +// There is an error in the call or in a SQL statement. (This error only appears +// in calls from Aurora Serverless v1 databases.) // // - StatementTimeoutException // The execution of the SQL statement timed out. @@ -595,12 +757,6 @@ func (c *RDSDataService) RollbackTransactionRequest(input *RollbackTransactionIn // - InternalServerErrorException // An internal error occurred. // -// - ForbiddenException -// There are insufficient privileges to make the call. -// -// - ServiceUnavailableError -// The service specified by the resourceArn parameter is not available. -// // - NotFoundException // The resourceArn, secretArn, or transactionId value can't be found. // @@ -626,7 +782,7 @@ func (c *RDSDataService) RollbackTransactionWithContext(ctx aws.Context, input * return out, req.Send() } -// You do not have sufficient access to perform this action. +// You don't have sufficient access to perform this action. type AccessDeniedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -758,7 +914,8 @@ func (s *ArrayValue) SetStringValues(v []*string) *ArrayValue { return s } -// There is an error in the call or in a SQL statement. +// There is an error in the call or in a SQL statement. (This error only appears +// in calls from Aurora Serverless v1 databases.) type BadRequestException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1374,6 +1531,198 @@ func (s *CommitTransactionOutput) SetTransactionStatus(v string) *CommitTransact return s } +// There was an error in processing the SQL statement. +type DatabaseErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatabaseErrorException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatabaseErrorException) GoString() string { + return s.String() +} + +func newErrorDatabaseErrorException(v protocol.ResponseMetadata) error { + return &DatabaseErrorException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DatabaseErrorException) Code() string { + return "DatabaseErrorException" +} + +// Message returns the exception's message. +func (s *DatabaseErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DatabaseErrorException) OrigErr() error { + return nil +} + +func (s *DatabaseErrorException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *DatabaseErrorException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DatabaseErrorException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The DB cluster doesn't have a DB instance. +type DatabaseNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatabaseNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatabaseNotFoundException) GoString() string { + return s.String() +} + +func newErrorDatabaseNotFoundException(v protocol.ResponseMetadata) error { + return &DatabaseNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DatabaseNotFoundException) Code() string { + return "DatabaseNotFoundException" +} + +// Message returns the exception's message. +func (s *DatabaseNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DatabaseNotFoundException) OrigErr() error { + return nil +} + +func (s *DatabaseNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *DatabaseNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DatabaseNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The writer instance in the DB cluster isn't available. +type DatabaseUnavailableException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatabaseUnavailableException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatabaseUnavailableException) GoString() string { + return s.String() +} + +func newErrorDatabaseUnavailableException(v protocol.ResponseMetadata) error { + return &DatabaseUnavailableException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DatabaseUnavailableException) Code() string { + return "DatabaseUnavailableException" +} + +// Message returns the exception's message. +func (s *DatabaseUnavailableException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DatabaseUnavailableException) OrigErr() error { + return nil +} + +func (s *DatabaseUnavailableException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *DatabaseUnavailableException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DatabaseUnavailableException) RequestID() string { + return s.RespMetadata.RequestID +} + // The request parameters represent the input of a request to run one or more // SQL statements. type ExecuteSqlInput struct { @@ -1713,10 +2062,10 @@ type ExecuteStatementOutput struct { // Values for fields generated during a DML request. // - //

The generatedFields data isn't supported by Aurora - // PostgreSQL. To get the values of generated fields, use the RETURNING - // clause. For more information, see Returning - // Data From Modified Rows in the PostgreSQL documentation.

+ // The generatedFields data isn't supported by Aurora PostgreSQL. To get the + // values of generated fields, use the RETURNING clause. For more information, + // see Returning Data From Modified Rows (https://www.postgresql.org/docs/10/dml-returning.html) + // in the PostgreSQL documentation. GeneratedFields []*Field `locationName:"generatedFields" type:"list"` // The number of records updated by the request. @@ -1927,8 +2276,8 @@ func (s *ForbiddenException) RequestID() string { return s.RespMetadata.RequestID } -// An internal error occurred. -type InternalServerErrorException struct { +// The HTTP endpoint for using RDS Data API isn't enabled for the DB cluster. +type HttpEndpointNotEnabledException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1940,7 +2289,71 @@ type InternalServerErrorException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerErrorException) String() string { +func (s HttpEndpointNotEnabledException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HttpEndpointNotEnabledException) GoString() string { + return s.String() +} + +func newErrorHttpEndpointNotEnabledException(v protocol.ResponseMetadata) error { + return &HttpEndpointNotEnabledException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *HttpEndpointNotEnabledException) Code() string { + return "HttpEndpointNotEnabledException" +} + +// Message returns the exception's message. +func (s *HttpEndpointNotEnabledException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *HttpEndpointNotEnabledException) OrigErr() error { + return nil +} + +func (s *HttpEndpointNotEnabledException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *HttpEndpointNotEnabledException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *HttpEndpointNotEnabledException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An internal error occurred. +type InternalServerErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerErrorException) String() string { return awsutil.Prettify(s) } @@ -1991,6 +2404,70 @@ func (s *InternalServerErrorException) RequestID() string { return s.RespMetadata.RequestID } +// The Secrets Manager secret used with the request isn't valid. +type InvalidSecretException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidSecretException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidSecretException) GoString() string { + return s.String() +} + +func newErrorInvalidSecretException(v protocol.ResponseMetadata) error { + return &InvalidSecretException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidSecretException) Code() string { + return "InvalidSecretException" +} + +// Message returns the exception's message. +func (s *InvalidSecretException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidSecretException) OrigErr() error { + return nil +} + +func (s *InvalidSecretException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidSecretException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidSecretException) RequestID() string { + return s.RespMetadata.RequestID +} + // The resourceArn, secretArn, or transactionId value can't be found. type NotFoundException struct { _ struct{} `type:"structure"` @@ -2341,7 +2818,78 @@ func (s *RollbackTransactionOutput) SetTransactionStatus(v string) *RollbackTran return s } -// The service specified by the resourceArn parameter is not available. +// There was a problem with the Secrets Manager secret used with the request, +// caused by one of the following conditions: +// +// - RDS Data API timed out retrieving the secret. +// +// - The secret provided wasn't found. +// +// - The secret couldn't be decrypted. +type SecretsErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecretsErrorException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecretsErrorException) GoString() string { + return s.String() +} + +func newErrorSecretsErrorException(v protocol.ResponseMetadata) error { + return &SecretsErrorException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SecretsErrorException) Code() string { + return "SecretsErrorException" +} + +// Message returns the exception's message. +func (s *SecretsErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SecretsErrorException) OrigErr() error { + return nil +} + +func (s *SecretsErrorException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SecretsErrorException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SecretsErrorException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The service specified by the resourceArn parameter isn't available. type ServiceUnavailableError struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2476,9 +3024,8 @@ func (s *SqlParameter) SetValue(v *Field) *SqlParameter { // The result of a SQL statement. // -//

This data structure is only used with the deprecated ExecuteSql -// operation. Use the BatchExecuteStatement or ExecuteStatement -// operation instead.

+// This data structure is only used with the deprecated ExecuteSql operation. +// Use the BatchExecuteStatement or ExecuteStatement operation instead. type SqlStatementResult struct { _ struct{} `type:"structure"` @@ -2622,6 +3169,140 @@ func (s *StructValue) SetAttributes(v []*Value) *StructValue { return s } +// The transaction ID wasn't found. +type TransactionNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TransactionNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TransactionNotFoundException) GoString() string { + return s.String() +} + +func newErrorTransactionNotFoundException(v protocol.ResponseMetadata) error { + return &TransactionNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TransactionNotFoundException) Code() string { + return "TransactionNotFoundException" +} + +// Message returns the exception's message. +func (s *TransactionNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TransactionNotFoundException) OrigErr() error { + return nil +} + +func (s *TransactionNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TransactionNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TransactionNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// There was a problem with the result because of one of the following conditions: +// +// - It contained an unsupported data type. +// +// - It contained a multidimensional array. +// +// - The size was too large. +type UnsupportedResultException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnsupportedResultException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnsupportedResultException) GoString() string { + return s.String() +} + +func newErrorUnsupportedResultException(v protocol.ResponseMetadata) error { + return &UnsupportedResultException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnsupportedResultException) Code() string { + return "UnsupportedResultException" +} + +// Message returns the exception's message. +func (s *UnsupportedResultException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnsupportedResultException) OrigErr() error { + return nil +} + +func (s *UnsupportedResultException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *UnsupportedResultException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnsupportedResultException) RequestID() string { + return s.RespMetadata.RequestID +} + // The response elements represent the results of an update. type UpdateResult struct { _ struct{} `type:"structure"` @@ -2656,9 +3337,8 @@ func (s *UpdateResult) SetGeneratedFields(v []*Field) *UpdateResult { // Contains the value of a column. // -//

This data structure is only used with the deprecated ExecuteSql -// operation. Use the BatchExecuteStatement or ExecuteStatement -// operation instead.

+// This data structure is only used with the deprecated ExecuteSql operation. +// Use the BatchExecuteStatement or ExecuteStatement operation instead. type Value struct { _ struct{} `type:"structure"` diff --git a/service/rdsdataservice/doc.go b/service/rdsdataservice/doc.go index 891e49d220..4a3f741efa 100644 --- a/service/rdsdataservice/doc.go +++ b/service/rdsdataservice/doc.go @@ -4,12 +4,15 @@ // requests to AWS RDS DataService. // // Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora -// Serverless v1 DB cluster. To run these statements, you work with the Data -// Service API. +// DB cluster. To run these statements, you use the RDS Data API (Data API). // -// The Data Service API isn't supported on Amazon Aurora Serverless v2 DB clusters. +// Data API is available with the following types of Aurora databases: // -// For more information about the Data Service API, see Using the Data API (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) +// - Aurora PostgreSQL - Serverless v2, Serverless v1, and provisioned +// +// - Aurora MySQL - Serverless v1 only +// +// For more information about the Data API, see Using RDS Data API (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) // in the Amazon Aurora User Guide. // // See https://docs.aws.amazon.com/goto/WebAPI/rds-data-2018-08-01 for more information on this service. diff --git a/service/rdsdataservice/errors.go b/service/rdsdataservice/errors.go index 20c07f8e42..ddc2d66afb 100644 --- a/service/rdsdataservice/errors.go +++ b/service/rdsdataservice/errors.go @@ -11,37 +11,81 @@ const ( // ErrCodeAccessDeniedException for service response error code // "AccessDeniedException". // - // You do not have sufficient access to perform this action. + // You don't have sufficient access to perform this action. ErrCodeAccessDeniedException = "AccessDeniedException" // ErrCodeBadRequestException for service response error code // "BadRequestException". // - // There is an error in the call or in a SQL statement. + // There is an error in the call or in a SQL statement. (This error only appears + // in calls from Aurora Serverless v1 databases.) ErrCodeBadRequestException = "BadRequestException" + // ErrCodeDatabaseErrorException for service response error code + // "DatabaseErrorException". + // + // There was an error in processing the SQL statement. + ErrCodeDatabaseErrorException = "DatabaseErrorException" + + // ErrCodeDatabaseNotFoundException for service response error code + // "DatabaseNotFoundException". + // + // The DB cluster doesn't have a DB instance. + ErrCodeDatabaseNotFoundException = "DatabaseNotFoundException" + + // ErrCodeDatabaseUnavailableException for service response error code + // "DatabaseUnavailableException". + // + // The writer instance in the DB cluster isn't available. + ErrCodeDatabaseUnavailableException = "DatabaseUnavailableException" + // ErrCodeForbiddenException for service response error code // "ForbiddenException". // // There are insufficient privileges to make the call. ErrCodeForbiddenException = "ForbiddenException" + // ErrCodeHttpEndpointNotEnabledException for service response error code + // "HttpEndpointNotEnabledException". + // + // The HTTP endpoint for using RDS Data API isn't enabled for the DB cluster. + ErrCodeHttpEndpointNotEnabledException = "HttpEndpointNotEnabledException" + // ErrCodeInternalServerErrorException for service response error code // "InternalServerErrorException". // // An internal error occurred. ErrCodeInternalServerErrorException = "InternalServerErrorException" + // ErrCodeInvalidSecretException for service response error code + // "InvalidSecretException". + // + // The Secrets Manager secret used with the request isn't valid. + ErrCodeInvalidSecretException = "InvalidSecretException" + // ErrCodeNotFoundException for service response error code // "NotFoundException". // // The resourceArn, secretArn, or transactionId value can't be found. ErrCodeNotFoundException = "NotFoundException" + // ErrCodeSecretsErrorException for service response error code + // "SecretsErrorException". + // + // There was a problem with the Secrets Manager secret used with the request, + // caused by one of the following conditions: + // + // * RDS Data API timed out retrieving the secret. + // + // * The secret provided wasn't found. + // + // * The secret couldn't be decrypted. + ErrCodeSecretsErrorException = "SecretsErrorException" + // ErrCodeServiceUnavailableError for service response error code // "ServiceUnavailableError". // - // The service specified by the resourceArn parameter is not available. + // The service specified by the resourceArn parameter isn't available. ErrCodeServiceUnavailableError = "ServiceUnavailableError" // ErrCodeStatementTimeoutException for service response error code @@ -49,14 +93,40 @@ const ( // // The execution of the SQL statement timed out. ErrCodeStatementTimeoutException = "StatementTimeoutException" + + // ErrCodeTransactionNotFoundException for service response error code + // "TransactionNotFoundException". + // + // The transaction ID wasn't found. + ErrCodeTransactionNotFoundException = "TransactionNotFoundException" + + // ErrCodeUnsupportedResultException for service response error code + // "UnsupportedResultException". + // + // There was a problem with the result because of one of the following conditions: + // + // * It contained an unsupported data type. + // + // * It contained a multidimensional array. + // + // * The size was too large. + ErrCodeUnsupportedResultException = "UnsupportedResultException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "AccessDeniedException": newErrorAccessDeniedException, - "BadRequestException": newErrorBadRequestException, - "ForbiddenException": newErrorForbiddenException, - "InternalServerErrorException": newErrorInternalServerErrorException, - "NotFoundException": newErrorNotFoundException, - "ServiceUnavailableError": newErrorServiceUnavailableError, - "StatementTimeoutException": newErrorStatementTimeoutException, + "AccessDeniedException": newErrorAccessDeniedException, + "BadRequestException": newErrorBadRequestException, + "DatabaseErrorException": newErrorDatabaseErrorException, + "DatabaseNotFoundException": newErrorDatabaseNotFoundException, + "DatabaseUnavailableException": newErrorDatabaseUnavailableException, + "ForbiddenException": newErrorForbiddenException, + "HttpEndpointNotEnabledException": newErrorHttpEndpointNotEnabledException, + "InternalServerErrorException": newErrorInternalServerErrorException, + "InvalidSecretException": newErrorInvalidSecretException, + "NotFoundException": newErrorNotFoundException, + "SecretsErrorException": newErrorSecretsErrorException, + "ServiceUnavailableError": newErrorServiceUnavailableError, + "StatementTimeoutException": newErrorStatementTimeoutException, + "TransactionNotFoundException": newErrorTransactionNotFoundException, + "UnsupportedResultException": newErrorUnsupportedResultException, } diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 0972f9434b..ca0ab8310f 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -48576,6 +48576,11 @@ type CreateTrainingJobInput struct { // system and framework metrics. ProfilerRuleConfigurations []*ProfilerRuleConfiguration `type:"list"` + // Configuration for remote debugging. To learn more about the remote debugging + // functionality of SageMaker, see Access a training container through Amazon + // Web Services Systems Manager (SSM) for remote debugging (https://docs.aws.amazon.com/sagemaker/latest/dg/train-remote-debugging.html). + RemoteDebugConfig *RemoteDebugConfig `type:"structure"` + // The resources, including the ML compute instances and ML storage volumes, // to use for model training. // @@ -48877,6 +48882,12 @@ func (s *CreateTrainingJobInput) SetProfilerRuleConfigurations(v []*ProfilerRule return s } +// SetRemoteDebugConfig sets the RemoteDebugConfig field's value. +func (s *CreateTrainingJobInput) SetRemoteDebugConfig(v *RemoteDebugConfig) *CreateTrainingJobInput { + s.RemoteDebugConfig = v + return s +} + // SetResourceConfig sets the ResourceConfig field's value. func (s *CreateTrainingJobInput) SetResourceConfig(v *ResourceConfig) *CreateTrainingJobInput { s.ResourceConfig = v @@ -66657,6 +66668,11 @@ type DescribeTrainingJobOutput struct { // Profiling status of a training job. ProfilingStatus *string `type:"string" enum:"ProfilingStatus"` + // Configuration for remote debugging. To learn more about the remote debugging + // functionality of SageMaker, see Access a training container through Amazon + // Web Services Systems Manager (SSM) for remote debugging (https://docs.aws.amazon.com/sagemaker/latest/dg/train-remote-debugging.html). + RemoteDebugConfig *RemoteDebugConfig `type:"structure"` + // Resources, including ML compute instances and ML storage volumes, that are // configured for model training. // @@ -66985,6 +67001,12 @@ func (s *DescribeTrainingJobOutput) SetProfilingStatus(v string) *DescribeTraini return s } +// SetRemoteDebugConfig sets the RemoteDebugConfig field's value. +func (s *DescribeTrainingJobOutput) SetRemoteDebugConfig(v *RemoteDebugConfig) *DescribeTrainingJobOutput { + s.RemoteDebugConfig = v + return s +} + // SetResourceConfig sets the ResourceConfig field's value. func (s *DescribeTrainingJobOutput) SetResourceConfig(v *ResourceConfig) *DescribeTrainingJobOutput { s.ResourceConfig = v @@ -108011,6 +108033,76 @@ func (s *RegisterModelStepMetadata) SetArn(v string) *RegisterModelStepMetadata return s } +// Configuration for remote debugging for the CreateTrainingJob (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) +// API. To learn more about the remote debugging functionality of SageMaker, +// see Access a training container through Amazon Web Services Systems Manager +// (SSM) for remote debugging (https://docs.aws.amazon.com/sagemaker/latest/dg/train-remote-debugging.html). +type RemoteDebugConfig struct { + _ struct{} `type:"structure"` + + // If set to True, enables remote debugging. + EnableRemoteDebug *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RemoteDebugConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RemoteDebugConfig) GoString() string { + return s.String() +} + +// SetEnableRemoteDebug sets the EnableRemoteDebug field's value. +func (s *RemoteDebugConfig) SetEnableRemoteDebug(v bool) *RemoteDebugConfig { + s.EnableRemoteDebug = &v + return s +} + +// Configuration for remote debugging for the UpdateTrainingJob (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateTrainingJob.html) +// API. To learn more about the remote debugging functionality of SageMaker, +// see Access a training container through Amazon Web Services Systems Manager +// (SSM) for remote debugging (https://docs.aws.amazon.com/sagemaker/latest/dg/train-remote-debugging.html). +type RemoteDebugConfigForUpdate struct { + _ struct{} `type:"structure"` + + // If set to True, enables remote debugging. + EnableRemoteDebug *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RemoteDebugConfigForUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RemoteDebugConfigForUpdate) GoString() string { + return s.String() +} + +// SetEnableRemoteDebug sets the EnableRemoteDebug field's value. +func (s *RemoteDebugConfigForUpdate) SetEnableRemoteDebug(v bool) *RemoteDebugConfigForUpdate { + s.EnableRemoteDebug = &v + return s +} + type RenderUiTemplateInput struct { _ struct{} `type:"structure"` @@ -110078,6 +110170,9 @@ type SearchInput struct { // How SearchResults are ordered. Valid values are Ascending or Descending. // The default is Descending. SortOrder *string `type:"string" enum:"SearchSortOrder"` + + // Limits the results of your search request to the resources that you can access. + VisibilityConditions []*VisibilityConditions `min:"1" type:"list"` } // String returns the string representation. @@ -110110,11 +110205,24 @@ func (s *SearchInput) Validate() error { if s.SortBy != nil && len(*s.SortBy) < 1 { invalidParams.Add(request.NewErrParamMinLen("SortBy", 1)) } + if s.VisibilityConditions != nil && len(s.VisibilityConditions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VisibilityConditions", 1)) + } if s.SearchExpression != nil { if err := s.SearchExpression.Validate(); err != nil { invalidParams.AddNested("SearchExpression", err.(request.ErrInvalidParams)) } } + if s.VisibilityConditions != nil { + for i, v := range s.VisibilityConditions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VisibilityConditions", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -110164,6 +110272,12 @@ func (s *SearchInput) SetSortOrder(v string) *SearchInput { return s } +// SetVisibilityConditions sets the VisibilityConditions field's value. +func (s *SearchInput) SetVisibilityConditions(v []*VisibilityConditions) *SearchInput { + s.VisibilityConditions = v + return s +} + type SearchOutput struct { _ struct{} `type:"structure"` @@ -110457,8 +110571,6 @@ type SecondaryStatusTransition struct { // // Training // - // * Downloading the training image. - // // * Training image download completed. Training in progress. // // Status messages are subject to change. Therefore, we recommend not including @@ -122886,6 +122998,13 @@ type UpdateTrainingJobInput struct { // system and framework metrics. ProfilerRuleConfigurations []*ProfilerRuleConfiguration `type:"list"` + // Configuration for remote debugging while the training job is running. You + // can update the remote debugging configuration when the SecondaryStatus of + // the job is Downloading or Training.To learn more about the remote debugging + // functionality of SageMaker, see Access a training container through Amazon + // Web Services Systems Manager (SSM) for remote debugging (https://docs.aws.amazon.com/sagemaker/latest/dg/train-remote-debugging.html). + RemoteDebugConfig *RemoteDebugConfigForUpdate `type:"structure"` + // The training job ResourceConfig to update warm pool retention length. ResourceConfig *ResourceConfigForUpdate `type:"structure"` @@ -122956,6 +123075,12 @@ func (s *UpdateTrainingJobInput) SetProfilerRuleConfigurations(v []*ProfilerRule return s } +// SetRemoteDebugConfig sets the RemoteDebugConfig field's value. +func (s *UpdateTrainingJobInput) SetRemoteDebugConfig(v *RemoteDebugConfigForUpdate) *UpdateTrainingJobInput { + s.RemoteDebugConfig = v + return s +} + // SetResourceConfig sets the ResourceConfig field's value. func (s *UpdateTrainingJobInput) SetResourceConfig(v *ResourceConfigForUpdate) *UpdateTrainingJobInput { s.ResourceConfig = v @@ -124231,6 +124356,61 @@ func (s *Vertex) SetType(v string) *Vertex { return s } +// The list of key-value pairs that you specify for your resources. +type VisibilityConditions struct { + _ struct{} `type:"structure"` + + // The key for that specifies the tag that you're using to filter the search + // results. The key must start with Tags.. + Key *string `min:"1" type:"string"` + + // The value for the tag that you're using to filter the search results. + Value *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VisibilityConditions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VisibilityConditions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VisibilityConditions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VisibilityConditions"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *VisibilityConditions) SetKey(v string) *VisibilityConditions { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *VisibilityConditions) SetValue(v string) *VisibilityConditions { + s.Value = &v + return s +} + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, // hosted models, and compute resources have access to. You can control access // to and from your resources by configuring a VPC. For more information, see