diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e6b9fe7676..32ba66f9a83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ +Release v1.44.79 (2022-08-17) +=== + +### Service Client Updates +* `service/appmesh`: Updates service API and documentation +* `service/connectcampaigns`: Updates service API +* `service/kendra`: Updates service API and documentation + * This release adds Zendesk connector (which allows you to specify Zendesk SAAS platform as data source), Proxy Support for Sharepoint and Confluence Server (which allows you to specify the proxy configuration if proxy is required to connect to your Sharepoint/Confluence Server as data source). +* `service/lakeformation`: Updates service API and documentation +* `service/lambda`: Updates service API and documentation + * Added support for customization of Consumer Group ID for MSK and Kafka Event Source Mappings. +* `service/models.lex.v2`: Updates service API and documentation +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * Adds support for Internet Protocol Version 6 (IPv6) for RDS Aurora database clusters. +* `service/secretsmanager`: Updates service documentation + * Documentation updates for Secrets Manager. + Release v1.44.78 (2022-08-16) === diff --git a/aws/version.go b/aws/version.go index 750227daea6..97089c567b4 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.44.78" +const SDKVersion = "1.44.79" diff --git a/models/apis/appmesh/2019-01-25/api-2.json b/models/apis/appmesh/2019-01-25/api-2.json index 6b7d7855547..dd623ae41fc 100644 --- a/models/apis/appmesh/2019-01-25/api-2.json +++ b/models/apis/appmesh/2019-01-25/api-2.json @@ -1649,6 +1649,7 @@ "type":"structure", "required":["path"], "members":{ + "format":{"shape":"LoggingFormat"}, "path":{"shape":"FilePath"} } }, @@ -1763,6 +1764,7 @@ "type":"structure", "required":["virtualService"], "members":{ + "port":{"shape":"ListenerPort"}, "virtualService":{"shape":"GatewayRouteVirtualService"} } }, @@ -1797,6 +1799,7 @@ "members":{ "hostname":{"shape":"GatewayRouteHostnameMatch"}, "metadata":{"shape":"GrpcGatewayRouteMetadataList"}, + "port":{"shape":"ListenerPort"}, "serviceName":{"shape":"ServiceName"} } }, @@ -1887,6 +1890,7 @@ "members":{ "metadata":{"shape":"GrpcRouteMetadataList"}, "methodName":{"shape":"MethodName"}, + "port":{"shape":"ListenerPort"}, "serviceName":{"shape":"ServiceName"} } }, @@ -2022,6 +2026,7 @@ "hostname":{"shape":"GatewayRouteHostnameMatch"}, "method":{"shape":"HttpMethod"}, "path":{"shape":"HttpPathMatch"}, + "port":{"shape":"ListenerPort"}, "prefix":{"shape":"String"}, "queryParameters":{"shape":"HttpQueryParameters"} } @@ -2162,6 +2167,7 @@ "headers":{"shape":"HttpRouteHeaders"}, "method":{"shape":"HttpMethod"}, "path":{"shape":"HttpPathMatch"}, + "port":{"shape":"ListenerPort"}, "prefix":{"shape":"String"}, "queryParameters":{"shape":"HttpQueryParameters"}, "scheme":{"shape":"HttpScheme"} @@ -2200,6 +2206,31 @@ "IPv6_ONLY" ] }, + "JsonFormat":{ + "type":"list", + "member":{"shape":"JsonFormatRef"} + }, + "JsonFormatRef":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{"shape":"JsonKey"}, + "value":{"shape":"JsonValue"} + } + }, + "JsonKey":{ + "type":"string", + "max":100, + "min":1 + }, + "JsonValue":{ + "type":"string", + "max":100, + "min":1 + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -2537,6 +2568,12 @@ "tls":{"shape":"ListenerTls"} } }, + "ListenerPort":{ + "type":"integer", + "box":true, + "max":65535, + "min":1 + }, "ListenerTimeout":{ "type":"structure", "members":{ @@ -2627,6 +2664,14 @@ "accessLog":{"shape":"AccessLog"} } }, + "LoggingFormat":{ + "type":"structure", + "members":{ + "json":{"shape":"JsonFormat"}, + "text":{"shape":"TextFormat"} + }, + "union":true + }, "Long":{ "type":"long", "box":true @@ -3048,6 +3093,7 @@ "required":["action"], "members":{ "action":{"shape":"TcpRouteAction"}, + "match":{"shape":"TcpRouteMatch"}, "timeout":{"shape":"TcpTimeout"} } }, @@ -3058,12 +3104,23 @@ "weightedTargets":{"shape":"WeightedTargets"} } }, + "TcpRouteMatch":{ + "type":"structure", + "members":{ + "port":{"shape":"ListenerPort"} + } + }, "TcpTimeout":{ "type":"structure", "members":{ "idle":{"shape":"Duration"} } }, + "TextFormat":{ + "type":"string", + "max":1000, + "min":1 + }, "Timestamp":{"type":"timestamp"}, "TlsValidationContext":{ "type":"structure", @@ -3486,6 +3543,7 @@ "type":"structure", "required":["path"], "members":{ + "format":{"shape":"LoggingFormat"}, "path":{"shape":"FilePath"} } }, @@ -4038,6 +4096,7 @@ "weight" ], "members":{ + "port":{"shape":"ListenerPort"}, "virtualNode":{"shape":"ResourceName"}, "weight":{"shape":"PercentInt"} } diff --git a/models/apis/appmesh/2019-01-25/docs-2.json b/models/apis/appmesh/2019-01-25/docs-2.json index 60456c0162f..a6a694a873c 100644 --- a/models/apis/appmesh/2019-01-25/docs-2.json +++ b/models/apis/appmesh/2019-01-25/docs-2.json @@ -926,11 +926,35 @@ "IpPreference": { "base": null, "refs": { - "AwsCloudMapServiceDiscovery$ipPreference": "

The IP version to use to control traffic within the mesh.

", - "DnsServiceDiscovery$ipPreference": "

The IP version to use to control traffic within the mesh.

", + "AwsCloudMapServiceDiscovery$ipPreference": "

The preferred IP version that this virtual node uses. Setting the IP preference on the virtual node only overrides the IP preference set for the mesh on this specific node.

", + "DnsServiceDiscovery$ipPreference": "

The preferred IP version that this virtual node uses. Setting the IP preference on the virtual node only overrides the IP preference set for the mesh on this specific node.

", "MeshServiceDiscovery$ipPreference": "

The IP version to use to control traffic within the mesh.

" } }, + "JsonFormat": { + "base": null, + "refs": { + "LoggingFormat$json": "

" + } + }, + "JsonFormatRef": { + "base": "

An object that represents the key value pairs for the JSON.

", + "refs": { + "JsonFormat$member": null + } + }, + "JsonKey": { + "base": null, + "refs": { + "JsonFormatRef$key": "

The specified key for the JSON.

" + } + }, + "JsonValue": { + "base": null, + "refs": { + "JsonFormatRef$value": "

The specified value for the JSON.

" + } + }, "LimitExceededException": { "base": "

You have exceeded a service limit for your account. For more information, see Service Limits in the App Mesh User Guide.

", "refs": { @@ -1064,6 +1088,18 @@ "Listeners$member": null } }, + "ListenerPort": { + "base": null, + "refs": { + "GatewayRouteTarget$port": "

The port number of the gateway route target.

", + "GrpcGatewayRouteMatch$port": "

The port number to match from the request.

", + "GrpcRouteMatch$port": "

The port number to match on.

", + "HttpGatewayRouteMatch$port": "

The port number to match on.

", + "HttpRouteMatch$port": "

The port number to match on.

", + "TcpRouteMatch$port": "

The port number to match on.

", + "WeightedTarget$port": "

The targeted port of the weighted object.

" + } + }, "ListenerTimeout": { "base": "

An object that represents timeouts for different protocols.

", "refs": { @@ -1132,6 +1168,13 @@ "VirtualNodeSpec$logging": "

The inbound and outbound access logging information for the virtual node.

" } }, + "LoggingFormat": { + "base": "

An object that represents the format for the logs.

", + "refs": { + "FileAccessLog$format": "

The specified format for the logs. The format is either json_format or text_format.

", + "VirtualGatewayFileAccessLog$format": "

The specified format for the virtual gateway access logs. It can be either json_format or text_format.

" + } + }, "Long": { "base": null, "refs": { @@ -1581,7 +1624,7 @@ "base": "

An object that represents the subject alternative names secured by the certificate.

", "refs": { "ListenerTlsValidationContext$subjectAlternativeNames": "

A reference to an object that represents the SANs for a listener's Transport Layer Security (TLS) validation context.

", - "TlsValidationContext$subjectAlternativeNames": "

A reference to an object that represents the SANs for a Transport Layer Security (TLS) validation context.

", + "TlsValidationContext$subjectAlternativeNames": "

A reference to an object that represents the SANs for a Transport Layer Security (TLS) validation context. If you don't specify SANs on the terminating mesh endpoint, the Envoy proxy for that node doesn't verify the SAN on a peer client certificate. If you don't specify SANs on the originating mesh endpoint, the SAN on the certificate provided by the terminating endpoint must match the mesh endpoint service discovery configuration. Since SPIRE vended certificates have a SPIFFE ID as a name, you must set the SAN since the name doesn't match the service discovery name.

", "VirtualGatewayListenerTlsValidationContext$subjectAlternativeNames": "

A reference to an object that represents the SANs for a virtual gateway listener's Transport Layer Security (TLS) validation context.

", "VirtualGatewayTlsValidationContext$subjectAlternativeNames": "

A reference to an object that represents the SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context.

" } @@ -1672,6 +1715,12 @@ "TcpRoute$action": "

The action to take if a match is determined.

" } }, + "TcpRouteMatch": { + "base": "

An object representing the TCP route to match.

", + "refs": { + "TcpRoute$match": "

An object that represents the criteria for determining a request match.

" + } + }, "TcpTimeout": { "base": "

An object that represents types of timeouts.

", "refs": { @@ -1679,6 +1728,12 @@ "TcpRoute$timeout": "

An object that represents types of timeouts.

" } }, + "TextFormat": { + "base": null, + "refs": { + "LoggingFormat$text": "

" + } + }, "Timestamp": { "base": null, "refs": { diff --git a/models/apis/connectcampaigns/2021-01-30/api-2.json b/models/apis/connectcampaigns/2021-01-30/api-2.json index e454f385393..afe00e1cdd2 100644 --- a/models/apis/connectcampaigns/2021-01-30/api-2.json +++ b/models/apis/connectcampaigns/2021-01-30/api-2.json @@ -111,6 +111,7 @@ "errors":[ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ] @@ -207,6 +208,7 @@ "errors":[ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"}, {"shape":"InvalidCampaignStateException"}, {"shape":"AccessDeniedException"}, @@ -244,6 +246,7 @@ "errors":[ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"}, {"shape":"InvalidCampaignStateException"}, {"shape":"AccessDeniedException"}, @@ -261,6 +264,7 @@ "errors":[ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"}, {"shape":"InvalidCampaignStateException"}, {"shape":"AccessDeniedException"}, @@ -297,6 +301,7 @@ "errors":[ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"}, {"shape":"InvalidCampaignStateException"}, {"shape":"AccessDeniedException"}, diff --git a/models/apis/kendra/2019-02-03/api-2.json b/models/apis/kendra/2019-02-03/api-2.json index 59ae6823832..4be223264ea 100644 --- a/models/apis/kendra/2019-02-03/api-2.json +++ b/models/apis/kendra/2019-02-03/api-2.json @@ -1,1403 +1,2515 @@ { - "version":"2.0", - "metadata":{ - "apiVersion":"2019-02-03", - "endpointPrefix":"kendra", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"kendra", - "serviceFullName":"AWSKendraFrontendService", - "serviceId":"kendra", - "signatureVersion":"v4", - "signingName":"kendra", - "targetPrefix":"AWSKendraFrontendService", - "uid":"kendra-2019-02-03" + "metadata": { + "apiVersion": "2019-02-03", + "endpointPrefix": "kendra", + "jsonVersion": "1.1", + "protocol": "json", + "serviceAbbreviation": "kendra", + "serviceFullName": "AWSKendraFrontendService", + "serviceId": "kendra", + "signatureVersion": "v4", + "signingName": "kendra", + "targetPrefix": "AWSKendraFrontendService", + "uid": "kendra-2019-02-03" }, - "operations":{ - "AssociateEntitiesToExperience":{ - "name":"AssociateEntitiesToExperience", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateEntitiesToExperienceRequest"}, - "output":{"shape":"AssociateEntitiesToExperienceResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "AssociatePersonasToEntities":{ - "name":"AssociatePersonasToEntities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociatePersonasToEntitiesRequest"}, - "output":{"shape":"AssociatePersonasToEntitiesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "BatchDeleteDocument":{ - "name":"BatchDeleteDocument", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDeleteDocumentRequest"}, - "output":{"shape":"BatchDeleteDocumentResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "BatchGetDocumentStatus":{ - "name":"BatchGetDocumentStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetDocumentStatusRequest"}, - "output":{"shape":"BatchGetDocumentStatusResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "BatchPutDocument":{ - "name":"BatchPutDocument", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchPutDocumentRequest"}, - "output":{"shape":"BatchPutDocumentResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"InternalServerException"} - ] - }, - "ClearQuerySuggestions":{ - "name":"ClearQuerySuggestions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ClearQuerySuggestionsRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "CreateAccessControlConfiguration":{ - "name":"CreateAccessControlConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAccessControlConfigurationRequest"}, - "output":{"shape":"CreateAccessControlConfigurationResponse"}, - "errors":[ - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"} - ] - }, - "CreateDataSource":{ - "name":"CreateDataSource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDataSourceRequest"}, - "output":{"shape":"CreateDataSourceResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "CreateExperience":{ - "name":"CreateExperience", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateExperienceRequest"}, - "output":{"shape":"CreateExperienceResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "CreateFaq":{ - "name":"CreateFaq", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFaqRequest"}, - "output":{"shape":"CreateFaqResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "CreateIndex":{ - "name":"CreateIndex", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateIndexRequest"}, - "output":{"shape":"CreateIndexResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceAlreadyExistException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServerException"} - ] - }, - "CreateQuerySuggestionsBlockList":{ - "name":"CreateQuerySuggestionsBlockList", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateQuerySuggestionsBlockListRequest"}, - "output":{"shape":"CreateQuerySuggestionsBlockListResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServerException"} - ] - }, - "CreateThesaurus":{ - "name":"CreateThesaurus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateThesaurusRequest"}, - "output":{"shape":"CreateThesaurusResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DeleteAccessControlConfiguration":{ - "name":"DeleteAccessControlConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAccessControlConfigurationRequest"}, - "output":{"shape":"DeleteAccessControlConfigurationResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DeleteDataSource":{ - "name":"DeleteDataSource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDataSourceRequest"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServerException"} - ] - }, - "DeleteExperience":{ - "name":"DeleteExperience", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteExperienceRequest"}, - "output":{"shape":"DeleteExperienceResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServerException"} - ] - }, - "DeleteFaq":{ - "name":"DeleteFaq", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFaqRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DeleteIndex":{ - "name":"DeleteIndex", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIndexRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DeletePrincipalMapping":{ - "name":"DeletePrincipalMapping", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePrincipalMappingRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DeleteQuerySuggestionsBlockList":{ - "name":"DeleteQuerySuggestionsBlockList", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteQuerySuggestionsBlockListRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServerException"} - ] - }, - "DeleteThesaurus":{ - "name":"DeleteThesaurus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteThesaurusRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DescribeAccessControlConfiguration":{ - "name":"DescribeAccessControlConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccessControlConfigurationRequest"}, - "output":{"shape":"DescribeAccessControlConfigurationResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DescribeDataSource":{ - "name":"DescribeDataSource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDataSourceRequest"}, - "output":{"shape":"DescribeDataSourceResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DescribeExperience":{ - "name":"DescribeExperience", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExperienceRequest"}, - "output":{"shape":"DescribeExperienceResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DescribeFaq":{ - "name":"DescribeFaq", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFaqRequest"}, - "output":{"shape":"DescribeFaqResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DescribeIndex":{ - "name":"DescribeIndex", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIndexRequest"}, - "output":{"shape":"DescribeIndexResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DescribePrincipalMapping":{ - "name":"DescribePrincipalMapping", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrincipalMappingRequest"}, - "output":{"shape":"DescribePrincipalMappingResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DescribeQuerySuggestionsBlockList":{ - "name":"DescribeQuerySuggestionsBlockList", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeQuerySuggestionsBlockListRequest"}, - "output":{"shape":"DescribeQuerySuggestionsBlockListResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DescribeQuerySuggestionsConfig":{ - "name":"DescribeQuerySuggestionsConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeQuerySuggestionsConfigRequest"}, - "output":{"shape":"DescribeQuerySuggestionsConfigResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DescribeThesaurus":{ - "name":"DescribeThesaurus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeThesaurusRequest"}, - "output":{"shape":"DescribeThesaurusResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DisassociateEntitiesFromExperience":{ - "name":"DisassociateEntitiesFromExperience", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateEntitiesFromExperienceRequest"}, - "output":{"shape":"DisassociateEntitiesFromExperienceResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "DisassociatePersonasFromEntities":{ - "name":"DisassociatePersonasFromEntities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociatePersonasFromEntitiesRequest"}, - "output":{"shape":"DisassociatePersonasFromEntitiesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "GetQuerySuggestions":{ - "name":"GetQuerySuggestions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetQuerySuggestionsRequest"}, - "output":{"shape":"GetQuerySuggestionsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServerException"} - ] - }, - "GetSnapshots":{ - "name":"GetSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSnapshotsRequest"}, - "output":{"shape":"GetSnapshotsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "ListAccessControlConfigurations":{ - "name":"ListAccessControlConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAccessControlConfigurationsRequest"}, - "output":{"shape":"ListAccessControlConfigurationsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "ListDataSourceSyncJobs":{ - "name":"ListDataSourceSyncJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDataSourceSyncJobsRequest"}, - "output":{"shape":"ListDataSourceSyncJobsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServerException"} - ] - }, - "ListDataSources":{ - "name":"ListDataSources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDataSourcesRequest"}, - "output":{"shape":"ListDataSourcesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServerException"} - ] - }, - "ListEntityPersonas":{ - "name":"ListEntityPersonas", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListEntityPersonasRequest"}, - "output":{"shape":"ListEntityPersonasResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServerException"} - ] - }, - "ListExperienceEntities":{ - "name":"ListExperienceEntities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListExperienceEntitiesRequest"}, - "output":{"shape":"ListExperienceEntitiesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServerException"} - ] - }, - "ListExperiences":{ - "name":"ListExperiences", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListExperiencesRequest"}, - "output":{"shape":"ListExperiencesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServerException"} - ] - }, - "ListFaqs":{ - "name":"ListFaqs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListFaqsRequest"}, - "output":{"shape":"ListFaqsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "ListGroupsOlderThanOrderingId":{ - "name":"ListGroupsOlderThanOrderingId", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGroupsOlderThanOrderingIdRequest"}, - "output":{"shape":"ListGroupsOlderThanOrderingIdResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServerException"} - ] - }, - "ListIndices":{ - "name":"ListIndices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListIndicesRequest"}, - "output":{"shape":"ListIndicesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "ListQuerySuggestionsBlockLists":{ - "name":"ListQuerySuggestionsBlockLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListQuerySuggestionsBlockListsRequest"}, - "output":{"shape":"ListQuerySuggestionsBlockListsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "ListThesauri":{ - "name":"ListThesauri", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListThesauriRequest"}, - "output":{"shape":"ListThesauriResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "PutPrincipalMapping":{ - "name":"PutPrincipalMapping", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutPrincipalMappingRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"InternalServerException"} - ] - }, - "Query":{ - "name":"Query", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"QueryRequest"}, - "output":{"shape":"QueryResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"InternalServerException"} - ] - }, - "StartDataSourceSyncJob":{ - "name":"StartDataSourceSyncJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartDataSourceSyncJobRequest"}, - "output":{"shape":"StartDataSourceSyncJobResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServerException"} - ] - }, - "StopDataSourceSyncJob":{ - "name":"StopDataSourceSyncJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopDataSourceSyncJobRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "SubmitFeedback":{ - "name":"SubmitFeedback", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SubmitFeedbackRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceUnavailableException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagResourceRequest"}, - "output":{"shape":"UntagResourceResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "UpdateAccessControlConfiguration":{ - "name":"UpdateAccessControlConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAccessControlConfigurationRequest"}, - "output":{"shape":"UpdateAccessControlConfigurationResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"InternalServerException"} - ] - }, - "UpdateDataSource":{ - "name":"UpdateDataSource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDataSourceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "UpdateExperience":{ - "name":"UpdateExperience", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateExperienceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "UpdateIndex":{ - "name":"UpdateIndex", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateIndexRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ServiceQuotaExceededException"}, - {"shape":"InternalServerException"} - ] - }, - "UpdateQuerySuggestionsBlockList":{ - "name":"UpdateQuerySuggestionsBlockList", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateQuerySuggestionsBlockListRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServerException"} - ] - }, - "UpdateQuerySuggestionsConfig":{ - "name":"UpdateQuerySuggestionsConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateQuerySuggestionsConfigRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerException"} - ] - }, - "UpdateThesaurus":{ - "name":"UpdateThesaurus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateThesaurusRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServerException"} - ] + "operations": { + "AssociateEntitiesToExperience": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ResourceAlreadyExistException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "AssociateEntitiesToExperienceRequest" + }, + "name": "AssociateEntitiesToExperience", + "output": { + "shape": "AssociateEntitiesToExperienceResponse" + } + }, + "AssociatePersonasToEntities": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ResourceAlreadyExistException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "AssociatePersonasToEntitiesRequest" + }, + "name": "AssociatePersonasToEntities", + "output": { + "shape": "AssociatePersonasToEntitiesResponse" + } + }, + "BatchDeleteDocument": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "BatchDeleteDocumentRequest" + }, + "name": "BatchDeleteDocument", + "output": { + "shape": "BatchDeleteDocumentResponse" + } + }, + "BatchGetDocumentStatus": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "BatchGetDocumentStatusRequest" + }, + "name": "BatchGetDocumentStatus", + "output": { + "shape": "BatchGetDocumentStatusResponse" + } + }, + "BatchPutDocument": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "BatchPutDocumentRequest" + }, + "name": "BatchPutDocument", + "output": { + "shape": "BatchPutDocumentResponse" + } + }, + "ClearQuerySuggestions": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ClearQuerySuggestionsRequest" + }, + "name": "ClearQuerySuggestions" + }, + "CreateAccessControlConfiguration": { + "errors": [ + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "CreateAccessControlConfigurationRequest" + }, + "name": "CreateAccessControlConfiguration", + "output": { + "shape": "CreateAccessControlConfigurationResponse" + } + }, + "CreateDataSource": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ResourceAlreadyExistException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "CreateDataSourceRequest" + }, + "name": "CreateDataSource", + "output": { + "shape": "CreateDataSourceResponse" + } + }, + "CreateExperience": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "CreateExperienceRequest" + }, + "name": "CreateExperience", + "output": { + "shape": "CreateExperienceResponse" + } + }, + "CreateFaq": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "CreateFaqRequest" + }, + "name": "CreateFaq", + "output": { + "shape": "CreateFaqResponse" + } + }, + "CreateIndex": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceAlreadyExistException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "CreateIndexRequest" + }, + "name": "CreateIndex", + "output": { + "shape": "CreateIndexResponse" + } + }, + "CreateQuerySuggestionsBlockList": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "CreateQuerySuggestionsBlockListRequest" + }, + "name": "CreateQuerySuggestionsBlockList", + "output": { + "shape": "CreateQuerySuggestionsBlockListResponse" + } + }, + "CreateThesaurus": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "CreateThesaurusRequest" + }, + "name": "CreateThesaurus", + "output": { + "shape": "CreateThesaurusResponse" + } + }, + "DeleteAccessControlConfiguration": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DeleteAccessControlConfigurationRequest" + }, + "name": "DeleteAccessControlConfiguration", + "output": { + "shape": "DeleteAccessControlConfigurationResponse" + } + }, + "DeleteDataSource": { + "errors": [ + { + "shape": "AccessDeniedException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DeleteDataSourceRequest" + }, + "name": "DeleteDataSource" + }, + "DeleteExperience": { + "errors": [ + { + "shape": "AccessDeniedException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DeleteExperienceRequest" + }, + "name": "DeleteExperience", + "output": { + "shape": "DeleteExperienceResponse" + } + }, + "DeleteFaq": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DeleteFaqRequest" + }, + "name": "DeleteFaq" + }, + "DeleteIndex": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DeleteIndexRequest" + }, + "name": "DeleteIndex" + }, + "DeletePrincipalMapping": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DeletePrincipalMappingRequest" + }, + "name": "DeletePrincipalMapping" + }, + "DeleteQuerySuggestionsBlockList": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DeleteQuerySuggestionsBlockListRequest" + }, + "name": "DeleteQuerySuggestionsBlockList" + }, + "DeleteThesaurus": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DeleteThesaurusRequest" + }, + "name": "DeleteThesaurus" + }, + "DescribeAccessControlConfiguration": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeAccessControlConfigurationRequest" + }, + "name": "DescribeAccessControlConfiguration", + "output": { + "shape": "DescribeAccessControlConfigurationResponse" + } + }, + "DescribeDataSource": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeDataSourceRequest" + }, + "name": "DescribeDataSource", + "output": { + "shape": "DescribeDataSourceResponse" + } + }, + "DescribeExperience": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeExperienceRequest" + }, + "name": "DescribeExperience", + "output": { + "shape": "DescribeExperienceResponse" + } + }, + "DescribeFaq": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeFaqRequest" + }, + "name": "DescribeFaq", + "output": { + "shape": "DescribeFaqResponse" + } + }, + "DescribeIndex": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeIndexRequest" + }, + "name": "DescribeIndex", + "output": { + "shape": "DescribeIndexResponse" + } + }, + "DescribePrincipalMapping": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribePrincipalMappingRequest" + }, + "name": "DescribePrincipalMapping", + "output": { + "shape": "DescribePrincipalMappingResponse" + } + }, + "DescribeQuerySuggestionsBlockList": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeQuerySuggestionsBlockListRequest" + }, + "name": "DescribeQuerySuggestionsBlockList", + "output": { + "shape": "DescribeQuerySuggestionsBlockListResponse" + } + }, + "DescribeQuerySuggestionsConfig": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeQuerySuggestionsConfigRequest" + }, + "name": "DescribeQuerySuggestionsConfig", + "output": { + "shape": "DescribeQuerySuggestionsConfigResponse" + } + }, + "DescribeThesaurus": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DescribeThesaurusRequest" + }, + "name": "DescribeThesaurus", + "output": { + "shape": "DescribeThesaurusResponse" + } + }, + "DisassociateEntitiesFromExperience": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DisassociateEntitiesFromExperienceRequest" + }, + "name": "DisassociateEntitiesFromExperience", + "output": { + "shape": "DisassociateEntitiesFromExperienceResponse" + } + }, + "DisassociatePersonasFromEntities": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "DisassociatePersonasFromEntitiesRequest" + }, + "name": "DisassociatePersonasFromEntities", + "output": { + "shape": "DisassociatePersonasFromEntitiesResponse" + } + }, + "GetQuerySuggestions": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "GetQuerySuggestionsRequest" + }, + "name": "GetQuerySuggestions", + "output": { + "shape": "GetQuerySuggestionsResponse" + } + }, + "GetSnapshots": { + "errors": [ + { + "shape": "InvalidRequestException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "GetSnapshotsRequest" + }, + "name": "GetSnapshots", + "output": { + "shape": "GetSnapshotsResponse" + } + }, + "ListAccessControlConfigurations": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListAccessControlConfigurationsRequest" + }, + "name": "ListAccessControlConfigurations", + "output": { + "shape": "ListAccessControlConfigurationsResponse" + } + }, + "ListDataSourceSyncJobs": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListDataSourceSyncJobsRequest" + }, + "name": "ListDataSourceSyncJobs", + "output": { + "shape": "ListDataSourceSyncJobsResponse" + } + }, + "ListDataSources": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListDataSourcesRequest" + }, + "name": "ListDataSources", + "output": { + "shape": "ListDataSourcesResponse" + } + }, + "ListEntityPersonas": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListEntityPersonasRequest" + }, + "name": "ListEntityPersonas", + "output": { + "shape": "ListEntityPersonasResponse" + } + }, + "ListExperienceEntities": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListExperienceEntitiesRequest" + }, + "name": "ListExperienceEntities", + "output": { + "shape": "ListExperienceEntitiesResponse" + } + }, + "ListExperiences": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListExperiencesRequest" + }, + "name": "ListExperiences", + "output": { + "shape": "ListExperiencesResponse" + } + }, + "ListFaqs": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListFaqsRequest" + }, + "name": "ListFaqs", + "output": { + "shape": "ListFaqsResponse" + } + }, + "ListGroupsOlderThanOrderingId": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListGroupsOlderThanOrderingIdRequest" + }, + "name": "ListGroupsOlderThanOrderingId", + "output": { + "shape": "ListGroupsOlderThanOrderingIdResponse" + } + }, + "ListIndices": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListIndicesRequest" + }, + "name": "ListIndices", + "output": { + "shape": "ListIndicesResponse" + } + }, + "ListQuerySuggestionsBlockLists": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListQuerySuggestionsBlockListsRequest" + }, + "name": "ListQuerySuggestionsBlockLists", + "output": { + "shape": "ListQuerySuggestionsBlockListsResponse" + } + }, + "ListTagsForResource": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceUnavailableException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "name": "ListTagsForResource", + "output": { + "shape": "ListTagsForResourceResponse" + } + }, + "ListThesauri": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "ListThesauriRequest" + }, + "name": "ListThesauri", + "output": { + "shape": "ListThesauriResponse" + } + }, + "PutPrincipalMapping": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "PutPrincipalMappingRequest" + }, + "name": "PutPrincipalMapping" + }, + "Query": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "QueryRequest" + }, + "name": "Query", + "output": { + "shape": "QueryResult" + } + }, + "StartDataSourceSyncJob": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "StartDataSourceSyncJobRequest" + }, + "name": "StartDataSourceSyncJob", + "output": { + "shape": "StartDataSourceSyncJobResponse" + } + }, + "StopDataSourceSyncJob": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "StopDataSourceSyncJobRequest" + }, + "name": "StopDataSourceSyncJob" + }, + "SubmitFeedback": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceUnavailableException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "SubmitFeedbackRequest" + }, + "name": "SubmitFeedback" + }, + "TagResource": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceUnavailableException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "TagResourceRequest" + }, + "name": "TagResource", + "output": { + "shape": "TagResourceResponse" + } + }, + "UntagResource": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceUnavailableException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "UntagResourceRequest" + }, + "name": "UntagResource", + "output": { + "shape": "UntagResourceResponse" + } + }, + "UpdateAccessControlConfiguration": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "UpdateAccessControlConfigurationRequest" + }, + "name": "UpdateAccessControlConfiguration", + "output": { + "shape": "UpdateAccessControlConfigurationResponse" + } + }, + "UpdateDataSource": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "UpdateDataSourceRequest" + }, + "name": "UpdateDataSource" + }, + "UpdateExperience": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "UpdateExperienceRequest" + }, + "name": "UpdateExperience" + }, + "UpdateIndex": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "UpdateIndexRequest" + }, + "name": "UpdateIndex" + }, + "UpdateQuerySuggestionsBlockList": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "UpdateQuerySuggestionsBlockListRequest" + }, + "name": "UpdateQuerySuggestionsBlockList" + }, + "UpdateQuerySuggestionsConfig": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "UpdateQuerySuggestionsConfigRequest" + }, + "name": "UpdateQuerySuggestionsConfig" + }, + "UpdateThesaurus": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "UpdateThesaurusRequest" + }, + "name": "UpdateThesaurus" } }, - "shapes":{ - "AccessControlConfigurationId":{ - "type":"string", - "max":36, - "min":1, - "pattern":"[a-zA-Z0-9-]+" - }, - "AccessControlConfigurationName":{ - "type":"string", - "max":200, - "min":1, - "pattern":"[\\S\\s]*" - }, - "AccessControlConfigurationSummary":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{"shape":"AccessControlConfigurationId"} - } + "shapes": { + "AccessControlConfigurationId": { + "max": 36, + "min": 1, + "pattern": "[a-zA-Z0-9-]+", + "type": "string" + }, + "AccessControlConfigurationName": { + "max": 200, + "min": 1, + "pattern": "[\\S\\s]*", + "type": "string" + }, + "AccessControlConfigurationSummary": { + "members": { + "Id": { + "shape": "AccessControlConfigurationId" + } + }, + "required": [ + "Id" + ], + "type": "structure" }, - "AccessControlConfigurationSummaryList":{ - "type":"list", - "member":{"shape":"AccessControlConfigurationSummary"} + "AccessControlConfigurationSummaryList": { + "member": { + "shape": "AccessControlConfigurationSummary" + }, + "type": "list" }, - "AccessControlListConfiguration":{ - "type":"structure", - "members":{ - "KeyPath":{"shape":"S3ObjectKey"} - } + "AccessControlListConfiguration": { + "members": { + "KeyPath": { + "shape": "S3ObjectKey" + } + }, + "type": "structure" }, - "AccessDeniedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} + "AccessDeniedException": { + "exception": true, + "members": { + "Message": { + "shape": "ErrorMessage" + } }, - "exception":true + "type": "structure" }, - "AclConfiguration":{ - "type":"structure", - "required":["AllowedGroupsColumnName"], - "members":{ - "AllowedGroupsColumnName":{"shape":"ColumnName"} - } + "AclConfiguration": { + "members": { + "AllowedGroupsColumnName": { + "shape": "ColumnName" + } + }, + "required": [ + "AllowedGroupsColumnName" + ], + "type": "structure" }, - "AdditionalResultAttribute":{ - "type":"structure", - "required":[ + "AdditionalResultAttribute": { + "members": { + "Key": { + "shape": "String" + }, + "Value": { + "shape": "AdditionalResultAttributeValue" + }, + "ValueType": { + "shape": "AdditionalResultAttributeValueType" + } + }, + "required": [ "Key", "ValueType", "Value" ], - "members":{ - "Key":{"shape":"String"}, - "ValueType":{"shape":"AdditionalResultAttributeValueType"}, - "Value":{"shape":"AdditionalResultAttributeValue"} - } + "type": "structure" }, - "AdditionalResultAttributeList":{ - "type":"list", - "member":{"shape":"AdditionalResultAttribute"} + "AdditionalResultAttributeList": { + "member": { + "shape": "AdditionalResultAttribute" + }, + "type": "list" }, - "AdditionalResultAttributeValue":{ - "type":"structure", - "members":{ - "TextWithHighlightsValue":{"shape":"TextWithHighlights"} - } + "AdditionalResultAttributeValue": { + "members": { + "TextWithHighlightsValue": { + "shape": "TextWithHighlights" + } + }, + "type": "structure" }, - "AdditionalResultAttributeValueType":{ - "type":"string", - "enum":["TEXT_WITH_HIGHLIGHTS_VALUE"] + "AdditionalResultAttributeValueType": { + "enum": [ + "TEXT_WITH_HIGHLIGHTS_VALUE" + ], + "type": "string" }, - "AlfrescoConfiguration":{ - "type":"structure", - "required":[ + "AlfrescoConfiguration": { + "members": { + "BlogFieldMappings": { + "shape": "DataSourceToIndexFieldMappingList" + }, + "CrawlComments": { + "shape": "Boolean" + }, + "CrawlSystemFolders": { + "shape": "Boolean" + }, + "DocumentLibraryFieldMappings": { + "shape": "DataSourceToIndexFieldMappingList" + }, + "EntityFilter": { + "shape": "EntityFilter" + }, + "ExclusionPatterns": { + "shape": "DataSourceInclusionsExclusionsStrings" + }, + "InclusionPatterns": { + "shape": "DataSourceInclusionsExclusionsStrings" + }, + "SecretArn": { + "shape": "SecretArn" + }, + "SiteId": { + "shape": "SiteId" + }, + "SiteUrl": { + "shape": "SiteUrl" + }, + "SslCertificateS3Path": { + "shape": "S3Path" + }, + "VpcConfiguration": { + "shape": "DataSourceVpcConfiguration" + }, + "WikiFieldMappings": { + "shape": "DataSourceToIndexFieldMappingList" + } + }, + "required": [ "SiteUrl", "SiteId", "SecretArn", "SslCertificateS3Path" ], - "members":{ - "SiteUrl":{"shape":"SiteUrl"}, - "SiteId":{"shape":"SiteId"}, - "SecretArn":{"shape":"SecretArn"}, - "SslCertificateS3Path":{"shape":"S3Path"}, - "CrawlSystemFolders":{"shape":"Boolean"}, - "CrawlComments":{"shape":"Boolean"}, - "EntityFilter":{"shape":"EntityFilter"}, - "DocumentLibraryFieldMappings":{"shape":"DataSourceToIndexFieldMappingList"}, - "BlogFieldMappings":{"shape":"DataSourceToIndexFieldMappingList"}, - "WikiFieldMappings":{"shape":"DataSourceToIndexFieldMappingList"}, - "InclusionPatterns":{"shape":"DataSourceInclusionsExclusionsStrings"}, - "ExclusionPatterns":{"shape":"DataSourceInclusionsExclusionsStrings"}, - "VpcConfiguration":{"shape":"DataSourceVpcConfiguration"} - } + "type": "structure" }, - "AlfrescoEntity":{ - "type":"string", - "enum":[ + "AlfrescoEntity": { + "enum": [ "wiki", "blog", "documentLibrary" - ] - }, - "AmazonResourceName":{ - "type":"string", - "max":1011, - "min":1 - }, - "AssociateEntitiesToExperienceFailedEntityList":{ - "type":"list", - "member":{"shape":"FailedEntity"}, - "max":20, - "min":1 - }, - "AssociateEntitiesToExperienceRequest":{ - "type":"structure", - "required":[ + ], + "type": "string" + }, + "AmazonResourceName": { + "max": 1011, + "min": 1, + "type": "string" + }, + "AssociateEntitiesToExperienceFailedEntityList": { + "max": 20, + "member": { + "shape": "FailedEntity" + }, + "min": 1, + "type": "list" + }, + "AssociateEntitiesToExperienceRequest": { + "members": { + "EntityList": { + "shape": "AssociateEntityList" + }, + "Id": { + "shape": "ExperienceId" + }, + "IndexId": { + "shape": "IndexId" + } + }, + "required": [ "Id", "IndexId", "EntityList" ], - "members":{ - "Id":{"shape":"ExperienceId"}, - "IndexId":{"shape":"IndexId"}, - "EntityList":{"shape":"AssociateEntityList"} - } + "type": "structure" }, - "AssociateEntitiesToExperienceResponse":{ - "type":"structure", - "members":{ - "FailedEntityList":{"shape":"AssociateEntitiesToExperienceFailedEntityList"} - } + "AssociateEntitiesToExperienceResponse": { + "members": { + "FailedEntityList": { + "shape": "AssociateEntitiesToExperienceFailedEntityList" + } + }, + "type": "structure" }, - "AssociateEntityList":{ - "type":"list", - "member":{"shape":"EntityConfiguration"}, - "max":20, - "min":1 + "AssociateEntityList": { + "max": 20, + "member": { + "shape": "EntityConfiguration" + }, + "min": 1, + "type": "list" }, - "AssociatePersonasToEntitiesRequest":{ - "type":"structure", - "required":[ + "AssociatePersonasToEntitiesRequest": { + "members": { + "Id": { + "shape": "ExperienceId" + }, + "IndexId": { + "shape": "IndexId" + }, + "Personas": { + "shape": "EntityPersonaConfigurationList" + } + }, + "required": [ "Id", "IndexId", "Personas" ], - "members":{ - "Id":{"shape":"ExperienceId"}, - "IndexId":{"shape":"IndexId"}, - "Personas":{"shape":"EntityPersonaConfigurationList"} - } + "type": "structure" }, - "AssociatePersonasToEntitiesResponse":{ - "type":"structure", - "members":{ - "FailedEntityList":{"shape":"FailedEntityList"} - } + "AssociatePersonasToEntitiesResponse": { + "members": { + "FailedEntityList": { + "shape": "FailedEntityList" + } + }, + "type": "structure" }, - "AttributeFilter":{ - "type":"structure", - "members":{ - "AndAllFilters":{"shape":"AttributeFilterList"}, - "OrAllFilters":{"shape":"AttributeFilterList"}, - "NotFilter":{"shape":"AttributeFilter"}, - "EqualsTo":{"shape":"DocumentAttribute"}, - "ContainsAll":{"shape":"DocumentAttribute"}, - "ContainsAny":{"shape":"DocumentAttribute"}, - "GreaterThan":{"shape":"DocumentAttribute"}, - "GreaterThanOrEquals":{"shape":"DocumentAttribute"}, - "LessThan":{"shape":"DocumentAttribute"}, - "LessThanOrEquals":{"shape":"DocumentAttribute"} - } + "AttributeFilter": { + "members": { + "AndAllFilters": { + "shape": "AttributeFilterList" + }, + "ContainsAll": { + "shape": "DocumentAttribute" + }, + "ContainsAny": { + "shape": "DocumentAttribute" + }, + "EqualsTo": { + "shape": "DocumentAttribute" + }, + "GreaterThan": { + "shape": "DocumentAttribute" + }, + "GreaterThanOrEquals": { + "shape": "DocumentAttribute" + }, + "LessThan": { + "shape": "DocumentAttribute" + }, + "LessThanOrEquals": { + "shape": "DocumentAttribute" + }, + "NotFilter": { + "shape": "AttributeFilter" + }, + "OrAllFilters": { + "shape": "AttributeFilterList" + } + }, + "type": "structure" }, - "AttributeFilterList":{ - "type":"list", - "member":{"shape":"AttributeFilter"} + "AttributeFilterList": { + "member": { + "shape": "AttributeFilter" + }, + "type": "list" }, - "AuthenticationConfiguration":{ - "type":"structure", - "members":{ - "BasicAuthentication":{"shape":"BasicAuthenticationConfigurationList"} - } + "AuthenticationConfiguration": { + "members": { + "BasicAuthentication": { + "shape": "BasicAuthenticationConfigurationList" + } + }, + "type": "structure" }, - "BasicAuthenticationConfiguration":{ - "type":"structure", - "required":[ + "BasicAuthenticationConfiguration": { + "members": { + "Credentials": { + "shape": "SecretArn" + }, + "Host": { + "shape": "Host" + }, + "Port": { + "shape": "Port" + } + }, + "required": [ "Host", "Port", "Credentials" ], - "members":{ - "Host":{"shape":"Host"}, - "Port":{"shape":"Port"}, - "Credentials":{"shape":"SecretArn"} - } + "type": "structure" }, - "BasicAuthenticationConfigurationList":{ - "type":"list", - "member":{"shape":"BasicAuthenticationConfiguration"}, - "max":10, - "min":0 + "BasicAuthenticationConfigurationList": { + "max": 10, + "member": { + "shape": "BasicAuthenticationConfiguration" + }, + "min": 0, + "type": "list" }, - "BatchDeleteDocumentRequest":{ - "type":"structure", - "required":[ + "BatchDeleteDocumentRequest": { + "members": { + "DataSourceSyncJobMetricTarget": { + "shape": "DataSourceSyncJobMetricTarget" + }, + "DocumentIdList": { + "shape": "DocumentIdList" + }, + "IndexId": { + "shape": "IndexId" + } + }, + "required": [ "IndexId", "DocumentIdList" ], - "members":{ - "IndexId":{"shape":"IndexId"}, - "DocumentIdList":{"shape":"DocumentIdList"}, - "DataSourceSyncJobMetricTarget":{"shape":"DataSourceSyncJobMetricTarget"} - } + "type": "structure" }, - "BatchDeleteDocumentResponse":{ - "type":"structure", - "members":{ - "FailedDocuments":{"shape":"BatchDeleteDocumentResponseFailedDocuments"} - } + "BatchDeleteDocumentResponse": { + "members": { + "FailedDocuments": { + "shape": "BatchDeleteDocumentResponseFailedDocuments" + } + }, + "type": "structure" }, - "BatchDeleteDocumentResponseFailedDocument":{ - "type":"structure", - "members":{ - "Id":{"shape":"DocumentId"}, - "ErrorCode":{"shape":"ErrorCode"}, - "ErrorMessage":{"shape":"ErrorMessage"} - } + "BatchDeleteDocumentResponseFailedDocument": { + "members": { + "ErrorCode": { + "shape": "ErrorCode" + }, + "ErrorMessage": { + "shape": "ErrorMessage" + }, + "Id": { + "shape": "DocumentId" + } + }, + "type": "structure" }, - "BatchDeleteDocumentResponseFailedDocuments":{ - "type":"list", - "member":{"shape":"BatchDeleteDocumentResponseFailedDocument"} + "BatchDeleteDocumentResponseFailedDocuments": { + "member": { + "shape": "BatchDeleteDocumentResponseFailedDocument" + }, + "type": "list" }, - "BatchGetDocumentStatusRequest":{ - "type":"structure", - "required":[ + "BatchGetDocumentStatusRequest": { + "members": { + "DocumentInfoList": { + "shape": "DocumentInfoList" + }, + "IndexId": { + "shape": "IndexId" + } + }, + "required": [ "IndexId", "DocumentInfoList" ], - "members":{ - "IndexId":{"shape":"IndexId"}, - "DocumentInfoList":{"shape":"DocumentInfoList"} - } + "type": "structure" }, - "BatchGetDocumentStatusResponse":{ - "type":"structure", - "members":{ - "Errors":{"shape":"BatchGetDocumentStatusResponseErrors"}, - "DocumentStatusList":{"shape":"DocumentStatusList"} - } + "BatchGetDocumentStatusResponse": { + "members": { + "DocumentStatusList": { + "shape": "DocumentStatusList" + }, + "Errors": { + "shape": "BatchGetDocumentStatusResponseErrors" + } + }, + "type": "structure" }, - "BatchGetDocumentStatusResponseError":{ - "type":"structure", - "members":{ - "DocumentId":{"shape":"DocumentId"}, - "ErrorCode":{"shape":"ErrorCode"}, - "ErrorMessage":{"shape":"ErrorMessage"} - } + "BatchGetDocumentStatusResponseError": { + "members": { + "DocumentId": { + "shape": "DocumentId" + }, + "ErrorCode": { + "shape": "ErrorCode" + }, + "ErrorMessage": { + "shape": "ErrorMessage" + } + }, + "type": "structure" }, - "BatchGetDocumentStatusResponseErrors":{ - "type":"list", - "member":{"shape":"BatchGetDocumentStatusResponseError"} + "BatchGetDocumentStatusResponseErrors": { + "member": { + "shape": "BatchGetDocumentStatusResponseError" + }, + "type": "list" }, - "BatchPutDocumentRequest":{ - "type":"structure", - "required":[ + "BatchPutDocumentRequest": { + "members": { + "CustomDocumentEnrichmentConfiguration": { + "shape": "CustomDocumentEnrichmentConfiguration" + }, + "Documents": { + "shape": "DocumentList" + }, + "IndexId": { + "shape": "IndexId" + }, + "RoleArn": { + "shape": "RoleArn" + } + }, + "required": [ "IndexId", "Documents" ], - "members":{ - "IndexId":{"shape":"IndexId"}, - "RoleArn":{"shape":"RoleArn"}, - "Documents":{"shape":"DocumentList"}, - "CustomDocumentEnrichmentConfiguration":{"shape":"CustomDocumentEnrichmentConfiguration"} - } + "type": "structure" }, - "BatchPutDocumentResponse":{ - "type":"structure", - "members":{ - "FailedDocuments":{"shape":"BatchPutDocumentResponseFailedDocuments"} - } + "BatchPutDocumentResponse": { + "members": { + "FailedDocuments": { + "shape": "BatchPutDocumentResponseFailedDocuments" + } + }, + "type": "structure" }, - "BatchPutDocumentResponseFailedDocument":{ - "type":"structure", - "members":{ - "Id":{"shape":"DocumentId"}, - "ErrorCode":{"shape":"ErrorCode"}, - "ErrorMessage":{"shape":"ErrorMessage"} - } + "BatchPutDocumentResponseFailedDocument": { + "members": { + "ErrorCode": { + "shape": "ErrorCode" + }, + "ErrorMessage": { + "shape": "ErrorMessage" + }, + "Id": { + "shape": "DocumentId" + } + }, + "type": "structure" + }, + "BatchPutDocumentResponseFailedDocuments": { + "member": { + "shape": "BatchPutDocumentResponseFailedDocument" + }, + "type": "list" }, - "BatchPutDocumentResponseFailedDocuments":{ - "type":"list", - "member":{"shape":"BatchPutDocumentResponseFailedDocument"} + "Blob": { + "type": "blob" }, - "Blob":{"type":"blob"}, - "Boolean":{"type":"boolean"}, - "BoxConfiguration":{ - "type":"structure", - "required":[ + "Boolean": { + "type": "boolean" + }, + "BoxConfiguration": { + "members": { + "CommentFieldMappings": { + "shape": "DataSourceToIndexFieldMappingList" + }, + "CrawlComments": { + "shape": "Boolean" + }, + "CrawlTasks": { + "shape": "Boolean" + }, + "CrawlWebLinks": { + "shape": "Boolean" + }, + "EnterpriseId": { + "shape": "EnterpriseId" + }, + "ExclusionPatterns": { + "shape": "DataSourceInclusionsExclusionsStrings" + }, + "FileFieldMappings": { + "shape": "DataSourceToIndexFieldMappingList" + }, + "InclusionPatterns": { + "shape": "DataSourceInclusionsExclusionsStrings" + }, + "SecretArn": { + "shape": "SecretArn" + }, + "TaskFieldMappings": { + "shape": "DataSourceToIndexFieldMappingList" + }, + "UseChangeLog": { + "shape": "Boolean" + }, + "VpcConfiguration": { + "shape": "DataSourceVpcConfiguration" + }, + "WebLinkFieldMappings": { + "shape": "DataSourceToIndexFieldMappingList" + } + }, + "required": [ "EnterpriseId", "SecretArn" ], - "members":{ - "EnterpriseId":{"shape":"EnterpriseId"}, - "SecretArn":{"shape":"SecretArn"}, - "UseChangeLog":{"shape":"Boolean"}, - "CrawlComments":{"shape":"Boolean"}, - "CrawlTasks":{"shape":"Boolean"}, - "CrawlWebLinks":{"shape":"Boolean"}, - "FileFieldMappings":{"shape":"DataSourceToIndexFieldMappingList"}, - "TaskFieldMappings":{"shape":"DataSourceToIndexFieldMappingList"}, - "CommentFieldMappings":{"shape":"DataSourceToIndexFieldMappingList"}, - "WebLinkFieldMappings":{"shape":"DataSourceToIndexFieldMappingList"}, - "InclusionPatterns":{"shape":"DataSourceInclusionsExclusionsStrings"}, - "ExclusionPatterns":{"shape":"DataSourceInclusionsExclusionsStrings"}, - "VpcConfiguration":{"shape":"DataSourceVpcConfiguration"} - } + "type": "structure" }, - "CapacityUnitsConfiguration":{ - "type":"structure", - "required":[ + "CapacityUnitsConfiguration": { + "members": { + "QueryCapacityUnits": { + "shape": "QueryCapacityUnit" + }, + "StorageCapacityUnits": { + "shape": "StorageCapacityUnit" + } + }, + "required": [ "StorageCapacityUnits", "QueryCapacityUnits" ], - "members":{ - "StorageCapacityUnits":{"shape":"StorageCapacityUnit"}, - "QueryCapacityUnits":{"shape":"QueryCapacityUnit"} - } + "type": "structure" }, - "ChangeDetectingColumns":{ - "type":"list", - "member":{"shape":"ColumnName"}, - "max":5, - "min":1 - }, - "ClaimRegex":{ - "type":"string", - "max":100, - "min":1, - "pattern":"^\\P{C}*$" - }, - "ClearQuerySuggestionsRequest":{ - "type":"structure", - "required":["IndexId"], - "members":{ - "IndexId":{"shape":"IndexId"} - } + "ChangeDetectingColumns": { + "max": 5, + "member": { + "shape": "ColumnName" + }, + "min": 1, + "type": "list" + }, + "ClaimRegex": { + "max": 100, + "min": 1, + "pattern": "^\\P{C}*$", + "type": "string" + }, + "ClearQuerySuggestionsRequest": { + "members": { + "IndexId": { + "shape": "IndexId" + } + }, + "required": [ + "IndexId" + ], + "type": "structure" }, - "ClickFeedback":{ - "type":"structure", - "required":[ + "ClickFeedback": { + "members": { + "ClickTime": { + "shape": "Timestamp" + }, + "ResultId": { + "shape": "ResultId" + } + }, + "required": [ "ResultId", "ClickTime" ], - "members":{ - "ResultId":{"shape":"ResultId"}, - "ClickTime":{"shape":"Timestamp"} - } + "type": "structure" }, - "ClickFeedbackList":{ - "type":"list", - "member":{"shape":"ClickFeedback"} + "ClickFeedbackList": { + "member": { + "shape": "ClickFeedback" + }, + "type": "list" }, - "ClientTokenName":{ - "type":"string", - "max":100, - "min":1 + "ClientTokenName": { + "max": 100, + "min": 1, + "type": "string" }, - "ColumnConfiguration":{ - "type":"structure", - "required":[ + "ColumnConfiguration": { + "members": { + "ChangeDetectingColumns": { + "shape": "ChangeDetectingColumns" + }, + "DocumentDataColumnName": { + "shape": "ColumnName" + }, + "DocumentIdColumnName": { + "shape": "ColumnName" + }, + "DocumentTitleColumnName": { + "shape": "ColumnName" + }, + "FieldMappings": { + "shape": "DataSourceToIndexFieldMappingList" + } + }, + "required": [ "DocumentIdColumnName", "DocumentDataColumnName", "ChangeDetectingColumns" ], - "members":{ - "DocumentIdColumnName":{"shape":"ColumnName"}, - "DocumentDataColumnName":{"shape":"ColumnName"}, - "DocumentTitleColumnName":{"shape":"ColumnName"}, - "FieldMappings":{"shape":"DataSourceToIndexFieldMappingList"}, - "ChangeDetectingColumns":{"shape":"ChangeDetectingColumns"} - } + "type": "structure" }, - "ColumnName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + "ColumnName": { + "max": 100, + "min": 1, + "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$", + "type": "string" }, - "ConditionOperator":{ - "type":"string", - "enum":[ + "ConditionOperator": { + "enum": [ "GreaterThan", "GreaterThanOrEquals", "LessThan", @@ -1409,31 +2521,39 @@ "Exists", "NotExists", "BeginsWith" - ] + ], + "type": "string" }, - "ConflictException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} + "ConflictException": { + "exception": true, + "members": { + "Message": { + "shape": "ErrorMessage" + } }, - "exception":true + "type": "structure" }, - "ConfluenceAttachmentConfiguration":{ - "type":"structure", - "members":{ - "CrawlAttachments":{"shape":"Boolean"}, - "AttachmentFieldMappings":{"shape":"ConfluenceAttachmentFieldMappingsList"} - } + "ConfluenceAttachmentConfiguration": { + "members": { + "AttachmentFieldMappings": { + "shape": "ConfluenceAttachmentFieldMappingsList" + }, + "CrawlAttachments": { + "shape": "Boolean" + } + }, + "type": "structure" }, - "ConfluenceAttachmentFieldMappingsList":{ - "type":"list", - "member":{"shape":"ConfluenceAttachmentToIndexFieldMapping"}, - "max":11, - "min":1 + "ConfluenceAttachmentFieldMappingsList": { + "max": 11, + "member": { + "shape": "ConfluenceAttachmentToIndexFieldMapping" + }, + "min": 1, + "type": "list" }, - "ConfluenceAttachmentFieldName":{ - "type":"string", - "enum":[ + "ConfluenceAttachmentFieldName": { + "enum": [ "AUTHOR", "CONTENT_TYPE", "CREATED_DATE", @@ -1445,31 +2565,41 @@ "SPACE_NAME", "URL", "VERSION" - ] - }, - "ConfluenceAttachmentToIndexFieldMapping":{ - "type":"structure", - "members":{ - "DataSourceFieldName":{"shape":"ConfluenceAttachmentFieldName"}, - "DateFieldFormat":{"shape":"DataSourceDateFieldFormat"}, - "IndexFieldName":{"shape":"IndexFieldName"} - } + ], + "type": "string" }, - "ConfluenceBlogConfiguration":{ - "type":"structure", - "members":{ - "BlogFieldMappings":{"shape":"ConfluenceBlogFieldMappingsList"} - } + "ConfluenceAttachmentToIndexFieldMapping": { + "members": { + "DataSourceFieldName": { + "shape": "ConfluenceAttachmentFieldName" + }, + "DateFieldFormat": { + "shape": "DataSourceDateFieldFormat" + }, + "IndexFieldName": { + "shape": "IndexFieldName" + } + }, + "type": "structure" }, - "ConfluenceBlogFieldMappingsList":{ - "type":"list", - "member":{"shape":"ConfluenceBlogToIndexFieldMapping"}, - "max":9, - "min":1 + "ConfluenceBlogConfiguration": { + "members": { + "BlogFieldMappings": { + "shape": "ConfluenceBlogFieldMappingsList" + } + }, + "type": "structure" + }, + "ConfluenceBlogFieldMappingsList": { + "max": 9, + "member": { + "shape": "ConfluenceBlogToIndexFieldMapping" + }, + "min": 1, + "type": "list" }, - "ConfluenceBlogFieldName":{ - "type":"string", - "enum":[ + "ConfluenceBlogFieldName": { + "enum": [ "AUTHOR", "DISPLAY_URL", "ITEM_TYPE", @@ -1479,51 +2609,84 @@ "SPACE_NAME", "URL", "VERSION" - ] - }, - "ConfluenceBlogToIndexFieldMapping":{ - "type":"structure", - "members":{ - "DataSourceFieldName":{"shape":"ConfluenceBlogFieldName"}, - "DateFieldFormat":{"shape":"DataSourceDateFieldFormat"}, - "IndexFieldName":{"shape":"IndexFieldName"} - } + ], + "type": "string" + }, + "ConfluenceBlogToIndexFieldMapping": { + "members": { + "DataSourceFieldName": { + "shape": "ConfluenceBlogFieldName" + }, + "DateFieldFormat": { + "shape": "DataSourceDateFieldFormat" + }, + "IndexFieldName": { + "shape": "IndexFieldName" + } + }, + "type": "structure" }, - "ConfluenceConfiguration":{ - "type":"structure", - "required":[ + "ConfluenceConfiguration": { + "members": { + "AttachmentConfiguration": { + "shape": "ConfluenceAttachmentConfiguration" + }, + "BlogConfiguration": { + "shape": "ConfluenceBlogConfiguration" + }, + "ExclusionPatterns": { + "shape": "DataSourceInclusionsExclusionsStrings" + }, + "InclusionPatterns": { + "shape": "DataSourceInclusionsExclusionsStrings" + }, + "PageConfiguration": { + "shape": "ConfluencePageConfiguration" + }, + "ProxyConfiguration": { + "shape": "ProxyConfiguration" + }, + "SecretArn": { + "shape": "SecretArn" + }, + "ServerUrl": { + "shape": "Url" + }, + "SpaceConfiguration": { + "shape": "ConfluenceSpaceConfiguration" + }, + "Version": { + "shape": "ConfluenceVersion" + }, + "VpcConfiguration": { + "shape": "DataSourceVpcConfiguration" + } + }, + "required": [ "ServerUrl", "SecretArn", "Version" ], - "members":{ - "ServerUrl":{"shape":"Url"}, - "SecretArn":{"shape":"SecretArn"}, - "Version":{"shape":"ConfluenceVersion"}, - "SpaceConfiguration":{"shape":"ConfluenceSpaceConfiguration"}, - "PageConfiguration":{"shape":"ConfluencePageConfiguration"}, - "BlogConfiguration":{"shape":"ConfluenceBlogConfiguration"}, - "AttachmentConfiguration":{"shape":"ConfluenceAttachmentConfiguration"}, - "VpcConfiguration":{"shape":"DataSourceVpcConfiguration"}, - "InclusionPatterns":{"shape":"DataSourceInclusionsExclusionsStrings"}, - "ExclusionPatterns":{"shape":"DataSourceInclusionsExclusionsStrings"} - } + "type": "structure" }, - "ConfluencePageConfiguration":{ - "type":"structure", - "members":{ - "PageFieldMappings":{"shape":"ConfluencePageFieldMappingsList"} - } + "ConfluencePageConfiguration": { + "members": { + "PageFieldMappings": { + "shape": "ConfluencePageFieldMappingsList" + } + }, + "type": "structure" }, - "ConfluencePageFieldMappingsList":{ - "type":"list", - "member":{"shape":"ConfluencePageToIndexFieldMapping"}, - "max":12, - "min":1 + "ConfluencePageFieldMappingsList": { + "max": 12, + "member": { + "shape": "ConfluencePageToIndexFieldMapping" + }, + "min": 1, + "type": "list" }, - "ConfluencePageFieldName":{ - "type":"string", - "enum":[ + "ConfluencePageFieldName": { + "enum": [ "AUTHOR", "CONTENT_STATUS", "CREATED_DATE", @@ -1536,471 +2699,749 @@ "SPACE_NAME", "URL", "VERSION" - ] - }, - "ConfluencePageToIndexFieldMapping":{ - "type":"structure", - "members":{ - "DataSourceFieldName":{"shape":"ConfluencePageFieldName"}, - "DateFieldFormat":{"shape":"DataSourceDateFieldFormat"}, - "IndexFieldName":{"shape":"IndexFieldName"} - } + ], + "type": "string" }, - "ConfluenceSpaceConfiguration":{ - "type":"structure", - "members":{ - "CrawlPersonalSpaces":{"shape":"Boolean"}, - "CrawlArchivedSpaces":{"shape":"Boolean"}, - "IncludeSpaces":{"shape":"ConfluenceSpaceList"}, - "ExcludeSpaces":{"shape":"ConfluenceSpaceList"}, - "SpaceFieldMappings":{"shape":"ConfluenceSpaceFieldMappingsList"} - } + "ConfluencePageToIndexFieldMapping": { + "members": { + "DataSourceFieldName": { + "shape": "ConfluencePageFieldName" + }, + "DateFieldFormat": { + "shape": "DataSourceDateFieldFormat" + }, + "IndexFieldName": { + "shape": "IndexFieldName" + } + }, + "type": "structure" + }, + "ConfluenceSpaceConfiguration": { + "members": { + "CrawlArchivedSpaces": { + "shape": "Boolean" + }, + "CrawlPersonalSpaces": { + "shape": "Boolean" + }, + "ExcludeSpaces": { + "shape": "ConfluenceSpaceList" + }, + "IncludeSpaces": { + "shape": "ConfluenceSpaceList" + }, + "SpaceFieldMappings": { + "shape": "ConfluenceSpaceFieldMappingsList" + } + }, + "type": "structure" }, - "ConfluenceSpaceFieldMappingsList":{ - "type":"list", - "member":{"shape":"ConfluenceSpaceToIndexFieldMapping"}, - "max":4, - "min":1 + "ConfluenceSpaceFieldMappingsList": { + "max": 4, + "member": { + "shape": "ConfluenceSpaceToIndexFieldMapping" + }, + "min": 1, + "type": "list" }, - "ConfluenceSpaceFieldName":{ - "type":"string", - "enum":[ + "ConfluenceSpaceFieldName": { + "enum": [ "DISPLAY_URL", "ITEM_TYPE", "SPACE_KEY", "URL" - ] - }, - "ConfluenceSpaceIdentifier":{ - "type":"string", - "max":255, - "min":1, - "pattern":"^\\P{C}*$" - }, - "ConfluenceSpaceList":{ - "type":"list", - "member":{"shape":"ConfluenceSpaceIdentifier"}, - "min":1 - }, - "ConfluenceSpaceToIndexFieldMapping":{ - "type":"structure", - "members":{ - "DataSourceFieldName":{"shape":"ConfluenceSpaceFieldName"}, - "DateFieldFormat":{"shape":"DataSourceDateFieldFormat"}, - "IndexFieldName":{"shape":"IndexFieldName"} - } + ], + "type": "string" + }, + "ConfluenceSpaceIdentifier": { + "max": 255, + "min": 1, + "pattern": "^\\P{C}*$", + "type": "string" + }, + "ConfluenceSpaceList": { + "member": { + "shape": "ConfluenceSpaceIdentifier" + }, + "min": 1, + "type": "list" }, - "ConfluenceVersion":{ - "type":"string", - "enum":[ + "ConfluenceSpaceToIndexFieldMapping": { + "members": { + "DataSourceFieldName": { + "shape": "ConfluenceSpaceFieldName" + }, + "DateFieldFormat": { + "shape": "DataSourceDateFieldFormat" + }, + "IndexFieldName": { + "shape": "IndexFieldName" + } + }, + "type": "structure" + }, + "ConfluenceVersion": { + "enum": [ "CLOUD", "SERVER" - ] + ], + "type": "string" }, - "ConnectionConfiguration":{ - "type":"structure", - "required":[ + "ConnectionConfiguration": { + "members": { + "DatabaseHost": { + "shape": "DatabaseHost" + }, + "DatabaseName": { + "shape": "DatabaseName" + }, + "DatabasePort": { + "shape": "DatabasePort" + }, + "SecretArn": { + "shape": "SecretArn" + }, + "TableName": { + "shape": "TableName" + } + }, + "required": [ "DatabaseHost", "DatabasePort", "DatabaseName", "TableName", "SecretArn" ], - "members":{ - "DatabaseHost":{"shape":"DatabaseHost"}, - "DatabasePort":{"shape":"DatabasePort"}, - "DatabaseName":{"shape":"DatabaseName"}, - "TableName":{"shape":"TableName"}, - "SecretArn":{"shape":"SecretArn"} - } + "type": "structure" }, - "ContentSourceConfiguration":{ - "type":"structure", - "members":{ - "DataSourceIds":{"shape":"DataSourceIdList"}, - "FaqIds":{"shape":"FaqIdsList"}, - "DirectPutContent":{"shape":"Boolean"} - } + "ContentSourceConfiguration": { + "members": { + "DataSourceIds": { + "shape": "DataSourceIdList" + }, + "DirectPutContent": { + "shape": "Boolean" + }, + "FaqIds": { + "shape": "FaqIdsList" + } + }, + "type": "structure" }, - "ContentType":{ - "type":"string", - "enum":[ + "ContentType": { + "enum": [ "PDF", "HTML", "MS_WORD", "PLAIN_TEXT", "PPT" - ] - }, - "Correction":{ - "type":"structure", - "members":{ - "BeginOffset":{"shape":"Integer"}, - "EndOffset":{"shape":"Integer"}, - "Term":{"shape":"String"}, - "CorrectedTerm":{"shape":"String"} - } + ], + "type": "string" + }, + "Correction": { + "members": { + "BeginOffset": { + "shape": "Integer" + }, + "CorrectedTerm": { + "shape": "String" + }, + "EndOffset": { + "shape": "Integer" + }, + "Term": { + "shape": "String" + } + }, + "type": "structure" }, - "CorrectionList":{ - "type":"list", - "member":{"shape":"Correction"} + "CorrectionList": { + "member": { + "shape": "Correction" + }, + "type": "list" }, - "CrawlDepth":{ - "type":"integer", - "max":10, - "min":0 + "CrawlDepth": { + "max": 10, + "min": 0, + "type": "integer" }, - "CreateAccessControlConfigurationRequest":{ - "type":"structure", - "required":[ + "CreateAccessControlConfigurationRequest": { + "members": { + "AccessControlList": { + "shape": "PrincipalList" + }, + "ClientToken": { + "idempotencyToken": true, + "shape": "ClientTokenName" + }, + "Description": { + "shape": "Description" + }, + "HierarchicalAccessControlList": { + "shape": "HierarchicalPrincipalList" + }, + "IndexId": { + "shape": "IndexId" + }, + "Name": { + "shape": "AccessControlConfigurationName" + } + }, + "required": [ "IndexId", "Name" ], - "members":{ - "IndexId":{"shape":"IndexId"}, - "Name":{"shape":"AccessControlConfigurationName"}, - "Description":{"shape":"Description"}, - "AccessControlList":{"shape":"PrincipalList"}, - "HierarchicalAccessControlList":{"shape":"HierarchicalPrincipalList"}, - "ClientToken":{ - "shape":"ClientTokenName", - "idempotencyToken":true - } - } + "type": "structure" }, - "CreateAccessControlConfigurationResponse":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{"shape":"AccessControlConfigurationId"} - } + "CreateAccessControlConfigurationResponse": { + "members": { + "Id": { + "shape": "AccessControlConfigurationId" + } + }, + "required": [ + "Id" + ], + "type": "structure" }, - "CreateDataSourceRequest":{ - "type":"structure", - "required":[ + "CreateDataSourceRequest": { + "members": { + "ClientToken": { + "idempotencyToken": true, + "shape": "ClientTokenName" + }, + "Configuration": { + "shape": "DataSourceConfiguration" + }, + "CustomDocumentEnrichmentConfiguration": { + "shape": "CustomDocumentEnrichmentConfiguration" + }, + "Description": { + "shape": "Description" + }, + "IndexId": { + "shape": "IndexId" + }, + "LanguageCode": { + "shape": "LanguageCode" + }, + "Name": { + "shape": "DataSourceName" + }, + "RoleArn": { + "shape": "RoleArn" + }, + "Schedule": { + "shape": "ScanSchedule" + }, + "Tags": { + "shape": "TagList" + }, + "Type": { + "shape": "DataSourceType" + }, + "VpcConfiguration": { + "shape": "DataSourceVpcConfiguration" + } + }, + "required": [ "Name", "IndexId", "Type" ], - "members":{ - "Name":{"shape":"DataSourceName"}, - "IndexId":{"shape":"IndexId"}, - "Type":{"shape":"DataSourceType"}, - "Configuration":{"shape":"DataSourceConfiguration"}, - "Description":{"shape":"Description"}, - "Schedule":{"shape":"ScanSchedule"}, - "RoleArn":{"shape":"RoleArn"}, - "Tags":{"shape":"TagList"}, - "ClientToken":{ - "shape":"ClientTokenName", - "idempotencyToken":true - }, - "LanguageCode":{"shape":"LanguageCode"}, - "CustomDocumentEnrichmentConfiguration":{"shape":"CustomDocumentEnrichmentConfiguration"} - } + "type": "structure" }, - "CreateDataSourceResponse":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{"shape":"DataSourceId"} - } + "CreateDataSourceResponse": { + "members": { + "Id": { + "shape": "DataSourceId" + } + }, + "required": [ + "Id" + ], + "type": "structure" }, - "CreateExperienceRequest":{ - "type":"structure", - "required":[ + "CreateExperienceRequest": { + "members": { + "ClientToken": { + "idempotencyToken": true, + "shape": "ClientTokenName" + }, + "Configuration": { + "shape": "ExperienceConfiguration" + }, + "Description": { + "shape": "Description" + }, + "IndexId": { + "shape": "IndexId" + }, + "Name": { + "shape": "ExperienceName" + }, + "RoleArn": { + "shape": "RoleArn" + } + }, + "required": [ "Name", "IndexId" ], - "members":{ - "Name":{"shape":"ExperienceName"}, - "IndexId":{"shape":"IndexId"}, - "RoleArn":{"shape":"RoleArn"}, - "Configuration":{"shape":"ExperienceConfiguration"}, - "Description":{"shape":"Description"}, - "ClientToken":{ - "shape":"ClientTokenName", - "idempotencyToken":true - } - } + "type": "structure" }, - "CreateExperienceResponse":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{"shape":"ExperienceId"} - } + "CreateExperienceResponse": { + "members": { + "Id": { + "shape": "ExperienceId" + } + }, + "required": [ + "Id" + ], + "type": "structure" }, - "CreateFaqRequest":{ - "type":"structure", - "required":[ + "CreateFaqRequest": { + "members": { + "ClientToken": { + "idempotencyToken": true, + "shape": "ClientTokenName" + }, + "Description": { + "shape": "Description" + }, + "FileFormat": { + "shape": "FaqFileFormat" + }, + "IndexId": { + "shape": "IndexId" + }, + "LanguageCode": { + "shape": "LanguageCode" + }, + "Name": { + "shape": "FaqName" + }, + "RoleArn": { + "shape": "RoleArn" + }, + "S3Path": { + "shape": "S3Path" + }, + "Tags": { + "shape": "TagList" + } + }, + "required": [ "IndexId", "Name", "S3Path", "RoleArn" ], - "members":{ - "IndexId":{"shape":"IndexId"}, - "Name":{"shape":"FaqName"}, - "Description":{"shape":"Description"}, - "S3Path":{"shape":"S3Path"}, - "RoleArn":{"shape":"RoleArn"}, - "Tags":{"shape":"TagList"}, - "FileFormat":{"shape":"FaqFileFormat"}, - "ClientToken":{ - "shape":"ClientTokenName", - "idempotencyToken":true - }, - "LanguageCode":{"shape":"LanguageCode"} - } + "type": "structure" }, - "CreateFaqResponse":{ - "type":"structure", - "members":{ - "Id":{"shape":"FaqId"} - } + "CreateFaqResponse": { + "members": { + "Id": { + "shape": "FaqId" + } + }, + "type": "structure" }, - "CreateIndexRequest":{ - "type":"structure", - "required":[ + "CreateIndexRequest": { + "members": { + "ClientToken": { + "idempotencyToken": true, + "shape": "ClientTokenName" + }, + "Description": { + "shape": "Description" + }, + "Edition": { + "shape": "IndexEdition" + }, + "Name": { + "shape": "IndexName" + }, + "RoleArn": { + "shape": "RoleArn" + }, + "ServerSideEncryptionConfiguration": { + "shape": "ServerSideEncryptionConfiguration" + }, + "Tags": { + "shape": "TagList" + }, + "UserContextPolicy": { + "shape": "UserContextPolicy" + }, + "UserGroupResolutionConfiguration": { + "shape": "UserGroupResolutionConfiguration" + }, + "UserTokenConfigurations": { + "shape": "UserTokenConfigurationList" + } + }, + "required": [ "Name", "RoleArn" ], - "members":{ - "Name":{"shape":"IndexName"}, - "Edition":{"shape":"IndexEdition"}, - "RoleArn":{"shape":"RoleArn"}, - "ServerSideEncryptionConfiguration":{"shape":"ServerSideEncryptionConfiguration"}, - "Description":{"shape":"Description"}, - "ClientToken":{ - "shape":"ClientTokenName", - "idempotencyToken":true - }, - "Tags":{"shape":"TagList"}, - "UserTokenConfigurations":{"shape":"UserTokenConfigurationList"}, - "UserContextPolicy":{"shape":"UserContextPolicy"}, - "UserGroupResolutionConfiguration":{"shape":"UserGroupResolutionConfiguration"} - } + "type": "structure" }, - "CreateIndexResponse":{ - "type":"structure", - "members":{ - "Id":{"shape":"IndexId"} - } + "CreateIndexResponse": { + "members": { + "Id": { + "shape": "IndexId" + } + }, + "type": "structure" }, - "CreateQuerySuggestionsBlockListRequest":{ - "type":"structure", - "required":[ + "CreateQuerySuggestionsBlockListRequest": { + "members": { + "ClientToken": { + "idempotencyToken": true, + "shape": "ClientTokenName" + }, + "Description": { + "shape": "Description" + }, + "IndexId": { + "shape": "IndexId" + }, + "Name": { + "shape": "QuerySuggestionsBlockListName" + }, + "RoleArn": { + "shape": "RoleArn" + }, + "SourceS3Path": { + "shape": "S3Path" + }, + "Tags": { + "shape": "TagList" + } + }, + "required": [ "IndexId", "Name", "SourceS3Path", "RoleArn" ], - "members":{ - "IndexId":{"shape":"IndexId"}, - "Name":{"shape":"QuerySuggestionsBlockListName"}, - "Description":{"shape":"Description"}, - "SourceS3Path":{"shape":"S3Path"}, - "ClientToken":{ - "shape":"ClientTokenName", - "idempotencyToken":true - }, - "RoleArn":{"shape":"RoleArn"}, - "Tags":{"shape":"TagList"} - } + "type": "structure" }, - "CreateQuerySuggestionsBlockListResponse":{ - "type":"structure", - "members":{ - "Id":{"shape":"QuerySuggestionsBlockListId"} - } + "CreateQuerySuggestionsBlockListResponse": { + "members": { + "Id": { + "shape": "QuerySuggestionsBlockListId" + } + }, + "type": "structure" }, - "CreateThesaurusRequest":{ - "type":"structure", - "required":[ + "CreateThesaurusRequest": { + "members": { + "ClientToken": { + "idempotencyToken": true, + "shape": "ClientTokenName" + }, + "Description": { + "shape": "Description" + }, + "IndexId": { + "shape": "IndexId" + }, + "Name": { + "shape": "ThesaurusName" + }, + "RoleArn": { + "shape": "RoleArn" + }, + "SourceS3Path": { + "shape": "S3Path" + }, + "Tags": { + "shape": "TagList" + } + }, + "required": [ "IndexId", "Name", "RoleArn", "SourceS3Path" ], - "members":{ - "IndexId":{"shape":"IndexId"}, - "Name":{"shape":"ThesaurusName"}, - "Description":{"shape":"Description"}, - "RoleArn":{"shape":"RoleArn"}, - "Tags":{"shape":"TagList"}, - "SourceS3Path":{"shape":"S3Path"}, - "ClientToken":{ - "shape":"ClientTokenName", - "idempotencyToken":true - } - } - }, - "CreateThesaurusResponse":{ - "type":"structure", - "members":{ - "Id":{"shape":"ThesaurusId"} - } + "type": "structure" }, - "CustomDocumentEnrichmentConfiguration":{ - "type":"structure", - "members":{ - "InlineConfigurations":{"shape":"InlineCustomDocumentEnrichmentConfigurationList"}, - "PreExtractionHookConfiguration":{"shape":"HookConfiguration"}, - "PostExtractionHookConfiguration":{"shape":"HookConfiguration"}, - "RoleArn":{"shape":"RoleArn"} - } + "CreateThesaurusResponse": { + "members": { + "Id": { + "shape": "ThesaurusId" + } + }, + "type": "structure" }, - "DataSourceConfiguration":{ - "type":"structure", - "members":{ - "S3Configuration":{"shape":"S3DataSourceConfiguration"}, - "SharePointConfiguration":{"shape":"SharePointConfiguration"}, - "DatabaseConfiguration":{"shape":"DatabaseConfiguration"}, - "SalesforceConfiguration":{"shape":"SalesforceConfiguration"}, - "OneDriveConfiguration":{"shape":"OneDriveConfiguration"}, - "ServiceNowConfiguration":{"shape":"ServiceNowConfiguration"}, - "ConfluenceConfiguration":{"shape":"ConfluenceConfiguration"}, - "GoogleDriveConfiguration":{"shape":"GoogleDriveConfiguration"}, - "WebCrawlerConfiguration":{"shape":"WebCrawlerConfiguration"}, - "WorkDocsConfiguration":{"shape":"WorkDocsConfiguration"}, - "FsxConfiguration":{"shape":"FsxConfiguration"}, - "SlackConfiguration":{"shape":"SlackConfiguration"}, - "BoxConfiguration":{"shape":"BoxConfiguration"}, - "QuipConfiguration":{"shape":"QuipConfiguration"}, - "JiraConfiguration":{"shape":"JiraConfiguration"}, - "GitHubConfiguration":{"shape":"GitHubConfiguration"}, - "AlfrescoConfiguration":{"shape":"AlfrescoConfiguration"} - } + "CustomDocumentEnrichmentConfiguration": { + "members": { + "InlineConfigurations": { + "shape": "InlineCustomDocumentEnrichmentConfigurationList" + }, + "PostExtractionHookConfiguration": { + "shape": "HookConfiguration" + }, + "PreExtractionHookConfiguration": { + "shape": "HookConfiguration" + }, + "RoleArn": { + "shape": "RoleArn" + } + }, + "type": "structure" }, - "DataSourceDateFieldFormat":{ - "type":"string", - "max":40, - "min":4, - "pattern":"^(?!\\s).*(?A unique name for the data source connector. A data source name can't be changed without deleting and recreating the data source connector.

", + "CreateDataSourceRequest$Name": "

A name for the data source connector.

", "DataSourceSummary$Name": "

The name of the data source.

", - "DescribeDataSourceResponse$Name": "

The name that you gave the data source when it was created.

", - "UpdateDataSourceRequest$Name": "

A new name for the data source connector. You must first delete the data source and re-create it to change the name of the data source.

" + "DescribeDataSourceResponse$Name": "

The name for the data source.

", + "UpdateDataSourceRequest$Name": "

A new name for the data source connector.

" } }, "DataSourceStatus": { @@ -908,13 +908,16 @@ "AlfrescoConfiguration$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your Alfresco. For more information, see Configuring a VPC.

", "BoxConfiguration$VpcConfiguration": "

Configuration information for an Amazon VPC to connect to your Box. For more information, see Configuring a VPC.

", "ConfluenceConfiguration$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your Confluence. For more information, see Configuring a VPC.

", + "CreateDataSourceRequest$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your data source. For more information, see Configuring a VPC.

", "DatabaseConfiguration$VpcConfiguration": null, + "DescribeDataSourceResponse$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your data source. For more information, see Configuring a VPC.

", "FsxConfiguration$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your Amazon FSx. Your Amazon FSx instance must reside inside your VPC.

", "GitHubConfiguration$VpcConfiguration": "

Configuration information of an Amazon Virtual Private Cloud to connect to your GitHub. For more information, see Configuring a VPC.

", "JiraConfiguration$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your Jira. Your Jira account must reside inside your VPC.

", "QuipConfiguration$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud (VPC) to connect to your Quip. For more information, see Configuring a VPC.

", "SharePointConfiguration$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your Microsoft SharePoint. For more information, see Configuring a VPC.

", - "SlackConfiguration$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your Slack. For more information, see Configuring a VPC.

" + "SlackConfiguration$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your Slack. For more information, see Configuring a VPC.

", + "UpdateDataSourceRequest$VpcConfiguration": "

Configuration information for an Amazon Virtual Private Cloud to connect to your data source. For more information, see Configuring a VPC.

" } }, "DatabaseConfiguration": { @@ -1673,7 +1676,7 @@ "FolderIdList": { "base": null, "refs": { - "QuipConfiguration$FolderIds": "

The identifiers of the Quip folders you want to index.

" + "QuipConfiguration$FolderIds": "

The identifiers of the Quip folders you want to index. You can find in your browser URL when you access your folder in Quip. For example, https://quip-company.com/zlLuOVNSarTL/folder-name.

" } }, "FsxConfiguration": { @@ -2574,6 +2577,8 @@ "ProxyConfiguration": { "base": "

Provides the configuration information for a web proxy to connect to website hosts.

", "refs": { + "ConfluenceConfiguration$ProxyConfiguration": "

Configuration information to connect to your Confluence URL instance via a web proxy. You can use this option for Confluence Server.

You must provide the website host name and port number. For example, the host name of https://a.example.com/page1.html is \"a.example.com\" and the port is 443, the standard port for HTTPS.

Web proxy credentials are optional and you can use them to connect to a web proxy server that requires basic authentication of user name and password. To store web proxy credentials, you use a secret in Secrets Manager.

It is recommended that you follow best security practices when configuring your web proxy. This includes setting up throttling, setting up logging and monitoring, and applying security patches on a regular basis. If you use your web proxy with multiple data sources, sync jobs that occur at the same time could strain the load on your proxy. It is recommended you prepare your proxy beforehand for any security and load requirements.

", + "SharePointConfiguration$ProxyConfiguration": "

Configuration information to connect to your Microsoft SharePoint site URLs via instance via a web proxy. You can use this option for SharePoint Server.

You must provide the website host name and port number. For example, the host name of https://a.example.com/page1.html is \"a.example.com\" and the port is 443, the standard port for HTTPS.

Web proxy credentials are optional and you can use them to connect to a web proxy server that requires basic authentication of user name and password. To store web proxy credentials, you use a secret in Secrets Manager.

It is recommended that you follow best security practices when configuring your web proxy. This includes setting up throttling, setting up logging and monitoring, and applying security patches on a regular basis. If you use your web proxy with multiple data sources, sync jobs that occur at the same time could strain the load on your proxy. It is recommended you prepare your proxy beforehand for any security and load requirements.

", "WebCrawlerConfiguration$ProxyConfiguration": "

Configuration information required to connect to your internal websites via a web proxy.

You must provide the website host name and port number. For example, the host name of https://a.example.com/page1.html is \"a.example.com\" and the port is 443, the standard port for HTTPS.

Web proxy credentials are optional and you can use them to connect to a web proxy server that requires basic authentication. To store web proxy credentials, you use a secret in Secrets Manager.

" } }, @@ -2814,7 +2819,7 @@ "S3ObjectKey": { "base": null, "refs": { - "AccessControlListConfiguration$KeyPath": "

Path to the Amazon Web Services S3 bucket that contains the ACL files.

", + "AccessControlListConfiguration$KeyPath": "

Path to the Amazon S3 bucket that contains the ACL files.

", "DocumentsMetadataConfiguration$S3Prefix": "

A prefix used to filter metadata configuration files in the Amazon Web Services S3 bucket. The S3 bucket might contain multiple metadata files. Use S3Prefix to include only the desired metadata files.

", "S3Path$Key": "

The name of the file.

" } @@ -3387,6 +3392,18 @@ "SlackConfiguration$TeamId": "

The identifier of the team in the Slack workspace. For example, T0123456789.

You can find your team ID in the URL of the main page of your Slack workspace. When you log in to Slack via a browser, you are directed to the URL of the main page. For example, https://app.slack.com/client/T0123456789/....

" } }, + "Template": { + "base": "

The template schema used for the data source.

The following links to the template schema for data sources where templates are supported:

", + "refs": { + "TemplateConfiguration$Template": "

The template schema used for the data source.

The following links to the template schema for data sources where templates are supported:

" + } + }, + "TemplateConfiguration": { + "base": "

Provides a template for the configuration information to connect to your data source.

", + "refs": { + "DataSourceConfiguration$TemplateConfiguration": "

Provides a template for the configuration information to connect to your data source.

" + } + }, "TenantDomain": { "base": null, "refs": { diff --git a/models/apis/lakeformation/2017-03-31/api-2.json b/models/apis/lakeformation/2017-03-31/api-2.json index 5c5b9c1190f..d4e8e01ff99 100644 --- a/models/apis/lakeformation/2017-03-31/api-2.json +++ b/models/apis/lakeformation/2017-03-31/api-2.json @@ -29,6 +29,22 @@ {"shape":"ConcurrentModificationException"} ] }, + "AssumeDecoratedRoleWithSAML":{ + "name":"AssumeDecoratedRoleWithSAML", + "http":{ + "method":"POST", + "requestUri":"/AssumeDecoratedRoleWithSAML" + }, + "input":{"shape":"AssumeDecoratedRoleWithSAMLRequest"}, + "output":{"shape":"AssumeDecoratedRoleWithSAMLResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"AccessDeniedException"} + ] + }, "BatchGrantPermissions":{ "name":"BatchGrantPermissions", "http":{ @@ -778,6 +794,29 @@ }, "exception":true }, + "AssumeDecoratedRoleWithSAMLRequest":{ + "type":"structure", + "required":[ + "SAMLAssertion", + "RoleArn", + "PrincipalArn" + ], + "members":{ + "SAMLAssertion":{"shape":"SAMLAssertionString"}, + "RoleArn":{"shape":"IAMRoleArn"}, + "PrincipalArn":{"shape":"IAMSAMLProviderArn"}, + "DurationSeconds":{"shape":"CredentialTimeoutDurationSecondInteger"} + } + }, + "AssumeDecoratedRoleWithSAMLResponse":{ + "type":"structure", + "members":{ + "AccessKeyId":{"shape":"AccessKeyIdString"}, + "SecretAccessKey":{"shape":"SecretAccessKeyString"}, + "SessionToken":{"shape":"SessionTokenString"}, + "Expiration":{"shape":"ExpirationTimestamp"} + } + }, "AuditContext":{ "type":"structure", "members":{ @@ -1004,7 +1043,7 @@ "DataLakePrincipalList":{ "type":"list", "member":{"shape":"DataLakePrincipal"}, - "max":10, + "max":30, "min":0 }, "DataLakePrincipalString":{ @@ -1508,6 +1547,10 @@ "type":"string", "pattern":"arn:aws:iam::[0-9]*:role/.*" }, + "IAMSAMLProviderArn":{ + "type":"string", + "pattern":"arn:aws:iam::[0-9]*:saml-provider/.*" + }, "Identifier":{ "type":"string", "max":255, @@ -2031,6 +2074,11 @@ "AllRowsWildcard":{"shape":"AllRowsWildcard"} } }, + "SAMLAssertionString":{ + "type":"string", + "max":100000, + "min":4 + }, "SearchDatabasesByLFTagsRequest":{ "type":"structure", "required":["Expression"], diff --git a/models/apis/lakeformation/2017-03-31/docs-2.json b/models/apis/lakeformation/2017-03-31/docs-2.json index e6654ee1401..9abf0648614 100644 --- a/models/apis/lakeformation/2017-03-31/docs-2.json +++ b/models/apis/lakeformation/2017-03-31/docs-2.json @@ -3,6 +3,7 @@ "service": "Lake Formation

Defines the public endpoint for the Lake Formation service.

", "operations": { "AddLFTagsToResource": "

Attaches one or more LF-tags to an existing resource.

", + "AssumeDecoratedRoleWithSAML": "

Allows a caller to assume an IAM role decorated as the SAML user specified in the SAML assertion included in the request. This decoration allows Lake Formation to enforce access policies against the SAML users and groups. This API operation requires SAML federation setup in the caller’s account as it can only be called with valid SAML assertions. Lake Formation does not scope down the permission of the assumed role. All permissions attached to the role via the SAML federation setup will be included in the role session.

This decorated role is expected to access data in Amazon S3 by getting temporary access from Lake Formation which is authorized via the virtual API GetDataAccess. Therefore, all SAML roles that can be assumed via AssumeDecoratedRoleWithSAML must at a minimum include lakeformation:GetDataAccess in their role policies. A typical IAM policy attached to such a role would look as follows:

", "BatchGrantPermissions": "

Batch operation to grant permissions to the principal.

", "BatchRevokePermissions": "

Batch operation to revoke permissions from the principal.

", "CancelTransaction": "

Attempts to cancel the specified transaction. Returns an exception if the transaction was previously committed.

", @@ -10,7 +11,7 @@ "CreateDataCellsFilter": "

Creates a data cell filter to allow one to grant access to certain columns on certain rows.

", "CreateLFTag": "

Creates an LF-tag with the specified name and values.

", "DeleteDataCellsFilter": "

Deletes a data cell filter.

", - "DeleteLFTag": "

Deletes the specified LF-tag key name. If the attribute key does not exist or the LF-tag does not exist, then the operation will not do anything. If the attribute key exists, then the operation checks if any resources are tagged with this attribute key, if yes, the API throws a 400 Exception with the message \"Delete not allowed\" as the LF-tag key is still attached with resources. You can consider untagging resources with this LF-tag key.

", + "DeleteLFTag": "

Deletes the specified LF-tag given a key name. If the input parameter tag key was not found, then the operation will throw an exception. When you delete an LF-tag, the LFTagPolicy attached to the LF-tag becomes invalid. If the deleted LF-tag was still assigned to any resource, the tag policy attach to the deleted LF-tag will no longer be applied to the resource.

", "DeleteObjectsOnCancel": "

For a specific governed table, provides a list of Amazon S3 objects that will be written during the current transaction and that can be automatically deleted if the transaction is canceled. Without this call, no Amazon S3 objects are automatically deleted when a transaction cancels.

The Glue ETL library function write_dynamic_frame.from_catalog() includes an option to automatically call DeleteObjectsOnCancel before writes. For more information, see Rolling Back Amazon S3 Writes.

", "DeregisterResource": "

Deregisters the resource as managed by the Data Catalog.

When you deregister a path, Lake Formation removes the path from the inline policy attached to your service-linked role.

", "DescribeResource": "

Retrieves the current data access role for the given resource registered in Lake Formation.

", @@ -56,6 +57,7 @@ "AccessKeyIdString": { "base": null, "refs": { + "AssumeDecoratedRoleWithSAMLResponse$AccessKeyId": "

The access key ID for the temporary credentials. (The access key consists of an access key ID and a secret key).

", "GetTemporaryGluePartitionCredentialsResponse$AccessKeyId": "

The access key ID for the temporary credentials.

", "GetTemporaryGlueTableCredentialsResponse$AccessKeyId": "

The access key ID for the temporary credentials.

" } @@ -87,6 +89,16 @@ "refs": { } }, + "AssumeDecoratedRoleWithSAMLRequest": { + "base": null, + "refs": { + } + }, + "AssumeDecoratedRoleWithSAMLResponse": { + "base": null, + "refs": { + } + }, "AuditContext": { "base": "

A structure used to include auditing information on the privileged API.

", "refs": { @@ -289,6 +301,7 @@ "CredentialTimeoutDurationSecondInteger": { "base": null, "refs": { + "AssumeDecoratedRoleWithSAMLRequest$DurationSeconds": "

The time period, between 900 and 43,200 seconds, for the timeout of the temporary credentials.

", "GetTemporaryGluePartitionCredentialsRequest$DurationSeconds": "

The time period, between 900 and 21,600 seconds, for the timeout of the temporary credentials.

", "GetTemporaryGlueTableCredentialsRequest$DurationSeconds": "

The time period, between 900 and 21,600 seconds, for the timeout of the temporary credentials.

" } @@ -489,6 +502,7 @@ "ExpirationTimestamp": { "base": null, "refs": { + "AssumeDecoratedRoleWithSAMLResponse$Expiration": "

The date and time when the temporary credentials expire.

", "GetTemporaryGluePartitionCredentialsResponse$Expiration": "

The date and time when the temporary credentials expire.

", "GetTemporaryGlueTableCredentialsResponse$Expiration": "

The date and time when the temporary credentials expire.

" } @@ -692,11 +706,18 @@ "IAMRoleArn": { "base": null, "refs": { + "AssumeDecoratedRoleWithSAMLRequest$RoleArn": "

The role that represents an IAM principal whose scope down policy allows it to call credential vending APIs such as GetTemporaryTableCredentials. The caller must also have iam:PassRole permission on this role.

", "RegisterResourceRequest$RoleArn": "

The identifier for the role that registers the resource.

", "ResourceInfo$RoleArn": "

The IAM role that registered a resource.

", "UpdateResourceRequest$RoleArn": "

The new role to use for the given resource registered in Lake Formation.

" } }, + "IAMSAMLProviderArn": { + "base": null, + "refs": { + "AssumeDecoratedRoleWithSAMLRequest$PrincipalArn": "

The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the IdP.

" + } + }, "Identifier": { "base": null, "refs": { @@ -1253,6 +1274,12 @@ "DataCellsFilter$RowFilter": "

A PartiQL predicate.

" } }, + "SAMLAssertionString": { + "base": null, + "refs": { + "AssumeDecoratedRoleWithSAMLRequest$SAMLAssertion": "

A SAML assertion consisting of an assertion statement for the user who needs temporary credentials. This must match the SAML assertion that was issued to IAM. This must be Base64 encoded.

" + } + }, "SearchDatabasesByLFTagsRequest": { "base": null, "refs": { @@ -1276,6 +1303,7 @@ "SecretAccessKeyString": { "base": null, "refs": { + "AssumeDecoratedRoleWithSAMLResponse$SecretAccessKey": "

The secret key for the temporary credentials. (The access key consists of an access key ID and a secret key).

", "GetTemporaryGluePartitionCredentialsResponse$SecretAccessKey": "

The secret key for the temporary credentials.

", "GetTemporaryGlueTableCredentialsResponse$SecretAccessKey": "

The secret key for the temporary credentials.

" } @@ -1283,6 +1311,7 @@ "SessionTokenString": { "base": null, "refs": { + "AssumeDecoratedRoleWithSAMLResponse$SessionToken": "

The session token for the temporary credentials.

", "GetTemporaryGluePartitionCredentialsResponse$SessionToken": "

The session token for the temporary credentials.

", "GetTemporaryGlueTableCredentialsResponse$SessionToken": "

The session token for the temporary credentials.

" } diff --git a/models/apis/lambda/2015-03-31/api-2.json b/models/apis/lambda/2015-03-31/api-2.json index 63b3d6635b8..fa4b7c6c64c 100644 --- a/models/apis/lambda/2015-03-31/api-2.json +++ b/models/apis/lambda/2015-03-31/api-2.json @@ -1220,6 +1220,12 @@ "SigningProfileVersionArns":{"shape":"SigningProfileVersionArns"} } }, + "AmazonManagedKafkaEventSourceConfig":{ + "type":"structure", + "members":{ + "ConsumerGroupId":{"shape":"URI"} + } + }, "Architecture":{ "type":"string", "enum":[ @@ -1407,7 +1413,9 @@ "Queues":{"shape":"Queues"}, "SourceAccessConfigurations":{"shape":"SourceAccessConfigurations"}, "SelfManagedEventSource":{"shape":"SelfManagedEventSource"}, - "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"} + "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"}, + "AmazonManagedKafkaEventSourceConfig":{"shape":"AmazonManagedKafkaEventSourceConfig"}, + "SelfManagedKafkaEventSourceConfig":{"shape":"SelfManagedKafkaEventSourceConfig"} } }, "CreateFunctionRequest":{ @@ -1827,7 +1835,9 @@ "BisectBatchOnFunctionError":{"shape":"BisectBatchOnFunctionError"}, "MaximumRetryAttempts":{"shape":"MaximumRetryAttemptsEventSourceMapping"}, "TumblingWindowInSeconds":{"shape":"TumblingWindowInSeconds"}, - "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"} + "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"}, + "AmazonManagedKafkaEventSourceConfig":{"shape":"AmazonManagedKafkaEventSourceConfig"}, + "SelfManagedKafkaEventSourceConfig":{"shape":"SelfManagedKafkaEventSourceConfig"} } }, "EventSourceMappingsList":{ @@ -3585,6 +3595,12 @@ "Endpoints":{"shape":"Endpoints"} } }, + "SelfManagedKafkaEventSourceConfig":{ + "type":"structure", + "members":{ + "ConsumerGroupId":{"shape":"URI"} + } + }, "SensitiveString":{ "type":"string", "sensitive":true diff --git a/models/apis/lambda/2015-03-31/docs-2.json b/models/apis/lambda/2015-03-31/docs-2.json index c5f48d0ea89..f4dcd1f6775 100644 --- a/models/apis/lambda/2015-03-31/docs-2.json +++ b/models/apis/lambda/2015-03-31/docs-2.json @@ -6,7 +6,7 @@ "AddPermission": "

Grants an Amazon Web Services service, account, or organization permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function. Note: Lambda does not support adding policies to version $LATEST.

To grant permission to another account, specify the account ID as the Principal. To grant permission to an organization defined in Organizations, specify the organization ID as the PrincipalOrgID. For Amazon Web Services services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For Amazon Web Services services, you can also specify the ARN of the associated resource as the SourceArn. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.

This action adds a statement to a resource-based permissions policy for the function. For more information about function policies, see Lambda Function Policies.

", "CreateAlias": "

Creates an alias for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version.

You can also map an alias to split invocation requests between two versions. Use the RoutingConfig parameter to specify a second version and the percentage of invocation requests that it receives.

", "CreateCodeSigningConfig": "

Creates a code signing configuration. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).

", - "CreateEventSourceMapping": "

Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and triggers the function.

For details about how to configure different event sources, see the following topics.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

For information about which configuration parameters apply to each event source, see the following topics.

", + "CreateEventSourceMapping": "

Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

For details about how to configure different event sources, see the following topics.

The following error handling options are available only for stream sources (DynamoDB and Kinesis):

For information about which configuration parameters apply to each event source, see the following topics.

", "CreateFunction": "

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use Amazon Web Services services, such as Amazon CloudWatch Logs for log streaming and X-Ray for request tracing.

You set the package type to Image if the deployment package is a container image. For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.

You set the package type to Zip if the deployment package is a .zip file archive. For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. The code in the deployment package must be compatible with the target instruction set architecture of the function (x86-64 or arm64). If you do not specify the architecture, the default value is x86-64.

When you create a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify the function. The State, StateReason, and StateReasonCode fields in the response from GetFunctionConfiguration indicate when the function is ready to invoke. For more information, see Function States.

A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration.

The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency).

You can use code signing if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with UpdateFunctionCode, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes set set of signing profiles, which define the trusted publishers for this function.

If another account or an Amazon Web Services service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias.

To invoke your function directly, use Invoke. To invoke your function in response to events in other Amazon Web Services services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions.

", "CreateFunctionUrlConfig": "

Creates a Lambda function URL with the specified configuration parameters. A function URL is a dedicated HTTP(S) endpoint that you can use to invoke your function.

", "DeleteAlias": "

Deletes a Lambda function alias.

", @@ -34,11 +34,11 @@ "GetLayerVersionPolicy": "

Returns the permission policy for a version of an Lambda layer. For more information, see AddLayerVersionPermission.

", "GetPolicy": "

Returns the resource-based IAM policy for a function, version, or alias.

", "GetProvisionedConcurrencyConfig": "

Retrieves the provisioned concurrency configuration for a function's alias or version.

", - "Invoke": "

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Retry Behavior.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, limit errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if executing the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action.

", + "Invoke": "

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Retry Behavior.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, limit errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if executing the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.

", "InvokeAsync": "

For asynchronous function invocation, use Invoke.

Invokes a function asynchronously.

", "ListAliases": "

Returns a list of aliases for a Lambda function.

", "ListCodeSigningConfigs": "

Returns a list of code signing configurations. A request returns up to 10,000 configurations per call. You can use the MaxItems parameter to return fewer configurations per call.

", - "ListEventSourceMappings": "

Lists event source mappings. Specify an EventSourceArn to only show event source mappings for a single event source.

", + "ListEventSourceMappings": "

Lists event source mappings. Specify an EventSourceArn to show only event source mappings for a single event source.

", "ListFunctionEventInvokeConfigs": "

Retrieves a list of configurations for asynchronous invocation for a function.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "ListFunctionUrlConfigs": "

Returns a list of Lambda function URLs for the specified function.

", "ListFunctions": "

Returns a list of Lambda functions, with the version-specific configuration of each. Lambda returns up to 50 functions per call.

Set FunctionVersion to ALL to include all published versions of each function in addition to the unpublished version.

The ListFunctions action returns a subset of the FunctionConfiguration fields. To get the additional fields (State, StateReasonCode, StateReason, LastUpdateStatus, LastUpdateStatusReason, LastUpdateStatusReasonCode) for a function or version, use GetFunction.

", @@ -60,7 +60,7 @@ "UntagResource": "

Removes tags from a function.

", "UpdateAlias": "

Updates the configuration of a Lambda function alias.

", "UpdateCodeSigningConfig": "

Update the code signing configuration. Changes to the code signing configuration take effect the next time a user tries to deploy a code package to the function.

", - "UpdateEventSourceMapping": "

Updates an event source mapping. You can change the function that Lambda invokes, or pause invocation and resume later from the same location.

For details about how to configure different event sources, see the following topics.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

For information about which configuration parameters apply to each event source, see the following topics.

", + "UpdateEventSourceMapping": "

Updates an event source mapping. You can change the function that Lambda invokes, or pause invocation and resume later from the same location.

For details about how to configure different event sources, see the following topics.

The following error handling options are available only for stream sources (DynamoDB and Kinesis):

For information about which configuration parameters apply to each event source, see the following topics.

", "UpdateFunctionCode": "

Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed by a trusted publisher. For more information, see Configuring code signing.

If the function's package type is Image, you must specify the code package in ImageUri as the URI of a container image in the Amazon ECR registry.

If the function's package type is Zip, you must specify the deployment package as a .zip file archive. Enter the Amazon S3 bucket and key of the code .zip file location. You can also provide the function code inline using the ZipFile field.

The code in the deployment package must be compatible with the target instruction set architecture of the function (x86-64 or arm64).

The function's code is locked when you publish a version. You can't modify the code of a published version, only the unpublished version.

For a function defined as a container image, Lambda resolves the image tag to an image digest. In Amazon ECR, if you update the image tag to a new image, Lambda does not automatically update the function.

", "UpdateFunctionConfiguration": "

Modify the version-specific settings of a Lambda function.

When you update a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute. During this time, you can't modify the function, but you can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode fields in the response from GetFunctionConfiguration indicate when the update is complete and the function is processing events with the new configuration. For more information, see Function States.

These settings can vary between versions of a function and are locked when you publish a version. You can't modify the configuration of a published version, only the unpublished version.

To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an account or Amazon Web Services service, use AddPermission.

", "UpdateFunctionEventInvokeConfig": "

Updates the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", @@ -173,6 +173,13 @@ "UpdateCodeSigningConfigRequest$AllowedPublishers": "

Signing profiles for this code signing configuration.

" } }, + "AmazonManagedKafkaEventSourceConfig": { + "base": "

Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.

", + "refs": { + "CreateEventSourceMappingRequest$AmazonManagedKafkaEventSourceConfig": "

Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.

", + "EventSourceMappingConfiguration$AmazonManagedKafkaEventSourceConfig": "

Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.

" + } + }, "Architecture": { "base": null, "refs": { @@ -207,9 +214,9 @@ "BatchSize": { "base": null, "refs": { - "CreateEventSourceMappingRequest$BatchSize": "

The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).

", + "CreateEventSourceMappingRequest$BatchSize": "

The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).

", "EventSourceMappingConfiguration$BatchSize": "

The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).

Default value: Varies by service. For Amazon SQS, the default is 10. For all other services, the default is 100.

Related setting: When you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

", - "UpdateEventSourceMappingRequest$BatchSize": "

The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).

" + "UpdateEventSourceMappingRequest$BatchSize": "

The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).

" } }, "BisectBatchOnFunctionError": { @@ -625,7 +632,7 @@ "EventSourcePosition": { "base": null, "refs": { - "CreateEventSourceMappingRequest$StartingPosition": "

The position in a stream from which to start reading. Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is only supported for Amazon Kinesis streams.

", + "CreateEventSourceMappingRequest$StartingPosition": "

The position in a stream from which to start reading. Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is supported only for Amazon Kinesis streams.

", "EventSourceMappingConfiguration$StartingPosition": "

The position in a stream from which to start reading. Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK stream sources. AT_TIMESTAMP is supported only for Amazon Kinesis streams.

" } }, @@ -1478,9 +1485,9 @@ "MaximumRetryAttemptsEventSourceMapping": { "base": null, "refs": { - "CreateEventSourceMappingRequest$MaximumRetryAttempts": "

(Streams only) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records will be retried until the record expires.

", + "CreateEventSourceMappingRequest$MaximumRetryAttempts": "

(Streams only) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

", "EventSourceMappingConfiguration$MaximumRetryAttempts": "

(Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.

", - "UpdateEventSourceMappingRequest$MaximumRetryAttempts": "

(Streams only) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records will be retried until the record expires.

" + "UpdateEventSourceMappingRequest$MaximumRetryAttempts": "

(Streams only) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

" } }, "MemorySize": { @@ -1818,10 +1825,17 @@ "SelfManagedEventSource": { "base": "

The self-managed Apache Kafka cluster for your event source.

", "refs": { - "CreateEventSourceMappingRequest$SelfManagedEventSource": "

The Self-Managed Apache Kafka cluster to send records.

", + "CreateEventSourceMappingRequest$SelfManagedEventSource": "

The self-managed Apache Kafka cluster to receive records from.

", "EventSourceMappingConfiguration$SelfManagedEventSource": "

The self-managed Apache Kafka cluster for your event source.

" } }, + "SelfManagedKafkaEventSourceConfig": { + "base": "

Specific configuration settings for a self-managed Apache Kafka event source.

", + "refs": { + "CreateEventSourceMappingRequest$SelfManagedKafkaEventSourceConfig": "

Specific configuration settings for a self-managed Apache Kafka event source.

", + "EventSourceMappingConfiguration$SelfManagedKafkaEventSourceConfig": "

Specific configuration settings for a self-managed Apache Kafka event source.

" + } + }, "SensitiveString": { "base": null, "refs": { @@ -1857,7 +1871,7 @@ "SourceAccessType": { "base": null, "refs": { - "SourceAccessConfiguration$Type": "

The type of authentication protocol, VPC components, or virtual host for your event source. For example: \"Type\":\"SASL_SCRAM_512_AUTH\".

" + "SourceAccessConfiguration$Type": "

The type of authentication protocol, VPC components, or virtual host for your event source. For example: \"Type\":\"SASL_SCRAM_512_AUTH\".

" } }, "SourceOwner": { @@ -2167,14 +2181,16 @@ "TumblingWindowInSeconds": { "base": null, "refs": { - "CreateEventSourceMappingRequest$TumblingWindowInSeconds": "

(Streams only) The duration in seconds of a processing window. The range is between 1 second up to 900 seconds.

", + "CreateEventSourceMappingRequest$TumblingWindowInSeconds": "

(Streams only) The duration in seconds of a processing window. The range is between 1 second and 900 seconds.

", "EventSourceMappingConfiguration$TumblingWindowInSeconds": "

(Streams only) The duration in seconds of a processing window. The range is 1–900 seconds.

", - "UpdateEventSourceMappingRequest$TumblingWindowInSeconds": "

(Streams only) The duration in seconds of a processing window. The range is between 1 second up to 900 seconds.

" + "UpdateEventSourceMappingRequest$TumblingWindowInSeconds": "

(Streams only) The duration in seconds of a processing window. The range is between 1 second and 900 seconds.

" } }, "URI": { "base": null, "refs": { + "AmazonManagedKafkaEventSourceConfig$ConsumerGroupId": "

The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see services-msk-consumer-group-id.

", + "SelfManagedKafkaEventSourceConfig$ConsumerGroupId": "

The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see services-msk-consumer-group-id.

", "SourceAccessConfiguration$URI": "

The value for your chosen configuration in Type. For example: \"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\".

" } }, diff --git a/models/apis/models.lex.v2/2020-08-07/api-2.json b/models/apis/models.lex.v2/2020-08-07/api-2.json index 71de8f65aa2..c555538d26f 100644 --- a/models/apis/models.lex.v2/2020-08-07/api-2.json +++ b/models/apis/models.lex.v2/2020-08-07/api-2.json @@ -1815,6 +1815,18 @@ "lambdaCodeHook":{"shape":"LambdaCodeHook"} } }, + "Condition":{ + "type":"structure", + "required":["expressionString"], + "members":{ + "expressionString":{"shape":"ConditionExpression"} + } + }, + "ConditionExpression":{ + "type":"string", + "max":1024, + "min":1 + }, "ConditionKey":{ "type":"string", "max":1024, @@ -1843,6 +1855,39 @@ "max":1024, "min":1 }, + "ConditionalBranch":{ + "type":"structure", + "required":[ + "name", + "condition", + "nextStep" + ], + "members":{ + "name":{"shape":"Name"}, + "condition":{"shape":"Condition"}, + "nextStep":{"shape":"DialogState"}, + "response":{"shape":"ResponseSpecification"} + } + }, + "ConditionalBranches":{ + "type":"list", + "member":{"shape":"ConditionalBranch"}, + "max":4, + "min":1 + }, + "ConditionalSpecification":{ + "type":"structure", + "required":[ + "active", + "conditionalBranches", + "defaultBranch" + ], + "members":{ + "active":{"shape":"BoxedBoolean"}, + "conditionalBranches":{"shape":"ConditionalBranches"}, + "defaultBranch":{"shape":"DefaultConditionalBranch"} + } + }, "ConfidenceThreshold":{ "type":"double", "max":1, @@ -2066,7 +2111,8 @@ "shape":"LocaleId", "location":"uri", "locationName":"localeId" - } + }, + "initialResponseSetting":{"shape":"InitialResponseSetting"} } }, "CreateIntentResponse":{ @@ -2087,7 +2133,8 @@ "botId":{"shape":"Id"}, "botVersion":{"shape":"DraftBotVersion"}, "localeId":{"shape":"LocaleId"}, - "creationDateTime":{"shape":"Timestamp"} + "creationDateTime":{"shape":"Timestamp"}, + "initialResponseSetting":{"shape":"InitialResponseSetting"} } }, "CreateResourcePolicyRequest":{ @@ -2328,6 +2375,13 @@ "endDateTime":{"shape":"Timestamp"} } }, + "DefaultConditionalBranch":{ + "type":"structure", + "members":{ + "nextStep":{"shape":"DialogState"}, + "response":{"shape":"ResponseSpecification"} + } + }, "DeleteBotAliasRequest":{ "type":"structure", "required":[ @@ -3027,7 +3081,8 @@ "botVersion":{"shape":"DraftBotVersion"}, "localeId":{"shape":"LocaleId"}, "creationDateTime":{"shape":"Timestamp"}, - "lastUpdatedDateTime":{"shape":"Timestamp"} + "lastUpdatedDateTime":{"shape":"Timestamp"}, + "initialResponseSetting":{"shape":"InitialResponseSetting"} } }, "DescribeResourcePolicyRequest":{ @@ -3157,6 +3212,43 @@ "max":200, "min":0 }, + "DialogAction":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{"shape":"DialogActionType"}, + "slotToElicit":{"shape":"Name"}, + "suppressNextMessage":{"shape":"BoxedBoolean"} + } + }, + "DialogActionType":{ + "type":"string", + "enum":[ + "ElicitIntent", + "StartIntent", + "ElicitSlot", + "EvaluateConditional", + "InvokeDialogCodeHook", + "ConfirmIntent", + "FulfillIntent", + "CloseIntent", + "EndConversation" + ] + }, + "DialogCodeHookInvocationSetting":{ + "type":"structure", + "required":[ + "enableCodeHookInvocation", + "active", + "postCodeHookSpecification" + ], + "members":{ + "enableCodeHookInvocation":{"shape":"BoxedBoolean"}, + "active":{"shape":"BoxedBoolean"}, + "invocationLabel":{"shape":"Name"}, + "postCodeHookSpecification":{"shape":"PostDialogCodeHookInvocationSpecification"} + } + }, "DialogCodeHookSettings":{ "type":"structure", "required":["enabled"], @@ -3164,6 +3256,14 @@ "enabled":{"shape":"Boolean"} } }, + "DialogState":{ + "type":"structure", + "members":{ + "dialogAction":{"shape":"DialogAction"}, + "intent":{"shape":"IntentOverride"}, + "sessionAttributes":{"shape":"StringMap"} + } + }, "DraftBotVersion":{ "type":"string", "max":5, @@ -3177,6 +3277,14 @@ "Deny" ] }, + "ElicitationCodeHookInvocationSetting":{ + "type":"structure", + "required":["enableCodeHookInvocation"], + "members":{ + "enableCodeHookInvocation":{"shape":"BoxedBoolean"}, + "invocationLabel":{"shape":"Name"} + } + }, "EncryptionSetting":{ "type":"structure", "members":{ @@ -3298,7 +3406,8 @@ "members":{ "enabled":{"shape":"Boolean"}, "postFulfillmentStatusSpecification":{"shape":"PostFulfillmentStatusSpecification"}, - "fulfillmentUpdatesSpecification":{"shape":"FulfillmentUpdatesSpecification"} + "fulfillmentUpdatesSpecification":{"shape":"FulfillmentUpdatesSpecification"}, + "active":{"shape":"BoxedBoolean"} } }, "FulfillmentStartResponseDelay":{ @@ -3491,6 +3600,15 @@ "min":5, "pattern":"^([0-9a-zA-Z_])+$" }, + "InitialResponseSetting":{ + "type":"structure", + "members":{ + "initialResponse":{"shape":"ResponseSpecification"}, + "nextStep":{"shape":"DialogState"}, + "conditional":{"shape":"ConditionalSpecification"}, + "codeHook":{"shape":"DialogCodeHookInvocationSetting"} + } + }, "InputContext":{ "type":"structure", "required":["name"], @@ -3506,22 +3624,30 @@ }, "IntentClosingSetting":{ "type":"structure", - "required":["closingResponse"], "members":{ "closingResponse":{"shape":"ResponseSpecification"}, - "active":{"shape":"BoxedBoolean"} + "active":{"shape":"BoxedBoolean"}, + "nextStep":{"shape":"DialogState"}, + "conditional":{"shape":"ConditionalSpecification"} } }, "IntentConfirmationSetting":{ "type":"structure", - "required":[ - "promptSpecification", - "declinationResponse" - ], + "required":["promptSpecification"], "members":{ "promptSpecification":{"shape":"PromptSpecification"}, "declinationResponse":{"shape":"ResponseSpecification"}, - "active":{"shape":"BoxedBoolean"} + "active":{"shape":"BoxedBoolean"}, + "confirmationResponse":{"shape":"ResponseSpecification"}, + "confirmationNextStep":{"shape":"DialogState"}, + "confirmationConditional":{"shape":"ConditionalSpecification"}, + "declinationNextStep":{"shape":"DialogState"}, + "declinationConditional":{"shape":"ConditionalSpecification"}, + "failureResponse":{"shape":"ResponseSpecification"}, + "failureNextStep":{"shape":"DialogState"}, + "failureConditional":{"shape":"ConditionalSpecification"}, + "codeHook":{"shape":"DialogCodeHookInvocationSetting"}, + "elicitationCodeHook":{"shape":"ElicitationCodeHookInvocationSetting"} } }, "IntentFilter":{ @@ -3554,6 +3680,13 @@ "max":1, "min":1 }, + "IntentOverride":{ + "type":"structure", + "members":{ + "name":{"shape":"Name"}, + "slots":{"shape":"SlotValueOverrideMap"} + } + }, "IntentSignature":{"type":"string"}, "IntentSortAttribute":{ "type":"string", @@ -4163,6 +4296,10 @@ "min":0 }, "NextToken":{"type":"string"}, + "NonEmptyString":{ + "type":"string", + "min":1 + }, "NumericalBotVersion":{ "type":"string", "max":5, @@ -4245,12 +4382,32 @@ "type":"string", "min":2 }, + "PostDialogCodeHookInvocationSpecification":{ + "type":"structure", + "members":{ + "successResponse":{"shape":"ResponseSpecification"}, + "successNextStep":{"shape":"DialogState"}, + "successConditional":{"shape":"ConditionalSpecification"}, + "failureResponse":{"shape":"ResponseSpecification"}, + "failureNextStep":{"shape":"DialogState"}, + "failureConditional":{"shape":"ConditionalSpecification"}, + "timeoutResponse":{"shape":"ResponseSpecification"}, + "timeoutNextStep":{"shape":"DialogState"}, + "timeoutConditional":{"shape":"ConditionalSpecification"} + } + }, "PostFulfillmentStatusSpecification":{ "type":"structure", "members":{ "successResponse":{"shape":"ResponseSpecification"}, "failureResponse":{"shape":"ResponseSpecification"}, - "timeoutResponse":{"shape":"ResponseSpecification"} + "timeoutResponse":{"shape":"ResponseSpecification"}, + "successNextStep":{"shape":"DialogState"}, + "successConditional":{"shape":"ConditionalSpecification"}, + "failureNextStep":{"shape":"DialogState"}, + "failureConditional":{"shape":"ConditionalSpecification"}, + "timeoutNextStep":{"shape":"DialogState"}, + "timeoutConditional":{"shape":"ConditionalSpecification"} } }, "PreconditionFailedException":{ @@ -4537,6 +4694,19 @@ "min":60 }, "SkipResourceInUseCheck":{"type":"boolean"}, + "SlotCaptureSetting":{ + "type":"structure", + "members":{ + "captureResponse":{"shape":"ResponseSpecification"}, + "captureNextStep":{"shape":"DialogState"}, + "captureConditional":{"shape":"ConditionalSpecification"}, + "failureResponse":{"shape":"ResponseSpecification"}, + "failureNextStep":{"shape":"DialogState"}, + "failureConditional":{"shape":"ConditionalSpecification"}, + "codeHook":{"shape":"DialogCodeHookInvocationSetting"}, + "elicitationCodeHook":{"shape":"ElicitationCodeHookInvocationSetting"} + } + }, "SlotConstraint":{ "type":"string", "enum":[ @@ -4614,6 +4784,13 @@ "slotId":{"shape":"Id"} } }, + "SlotShape":{ + "type":"string", + "enum":[ + "Scalar", + "List" + ] + }, "SlotSortAttribute":{ "type":"string", "enum":[ @@ -4742,6 +4919,12 @@ "max":10000, "min":1 }, + "SlotValue":{ + "type":"structure", + "members":{ + "interpretedValue":{"shape":"NonEmptyString"} + } + }, "SlotValueElicitationSetting":{ "type":"structure", "required":["slotConstraint"], @@ -4750,9 +4933,23 @@ "slotConstraint":{"shape":"SlotConstraint"}, "promptSpecification":{"shape":"PromptSpecification"}, "sampleUtterances":{"shape":"SampleUtterancesList"}, - "waitAndContinueSpecification":{"shape":"WaitAndContinueSpecification"} + "waitAndContinueSpecification":{"shape":"WaitAndContinueSpecification"}, + "slotCaptureSetting":{"shape":"SlotCaptureSetting"} } }, + "SlotValueOverride":{ + "type":"structure", + "members":{ + "shape":{"shape":"SlotShape"}, + "value":{"shape":"SlotValue"}, + "values":{"shape":"SlotValues"} + } + }, + "SlotValueOverrideMap":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"SlotValueOverride"} + }, "SlotValueRegexFilter":{ "type":"structure", "required":["pattern"], @@ -4776,6 +4973,10 @@ "advancedRecognitionSetting":{"shape":"AdvancedRecognitionSetting"} } }, + "SlotValues":{ + "type":"list", + "member":{"shape":"SlotValueOverride"} + }, "SortOrder":{ "type":"string", "enum":[ @@ -4872,6 +5073,12 @@ "max":900, "min":1 }, + "String":{"type":"string"}, + "StringMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"String"} + }, "SynonymList":{ "type":"list", "member":{"shape":"SampleValue"}, @@ -5253,7 +5460,8 @@ "shape":"LocaleId", "location":"uri", "locationName":"localeId" - } + }, + "initialResponseSetting":{"shape":"InitialResponseSetting"} } }, "UpdateIntentResponse":{ @@ -5276,7 +5484,8 @@ "botVersion":{"shape":"DraftBotVersion"}, "localeId":{"shape":"LocaleId"}, "creationDateTime":{"shape":"Timestamp"}, - "lastUpdatedDateTime":{"shape":"Timestamp"} + "lastUpdatedDateTime":{"shape":"Timestamp"}, + "initialResponseSetting":{"shape":"InitialResponseSetting"} } }, "UpdateResourcePolicyRequest":{ diff --git a/models/apis/models.lex.v2/2020-08-07/docs-2.json b/models/apis/models.lex.v2/2020-08-07/docs-2.json index 18752f72043..9fa1798b85e 100644 --- a/models/apis/models.lex.v2/2020-08-07/docs-2.json +++ b/models/apis/models.lex.v2/2020-08-07/docs-2.json @@ -564,6 +564,12 @@ "base": null, "refs": { "AggregatedUtterancesSummary$containsDataFromDeletedResources": "

Aggregated utterance data may contain utterances from versions of your bot that have since been deleted. When the aggregated contains this kind of data, this field is set to true.

", + "ConditionalSpecification$active": "

Determines whether a conditional branch is active. When active is false, the conditions are not evaluated.

", + "DialogAction$suppressNextMessage": "

When true the next message for the intent is not used.

", + "DialogCodeHookInvocationSetting$enableCodeHookInvocation": "

Indicates whether a Lambda function should be invoked for the dialog.

", + "DialogCodeHookInvocationSetting$active": "

Determines whether a dialog code hook is used when the intent is activated.

", + "ElicitationCodeHookInvocationSetting$enableCodeHookInvocation": "

Indicates whether a Lambda function should be invoked for the dialog.

", + "FulfillmentCodeHookSettings$active": "

Determines whether the fulfillment code hook is used. When active is false, the code hook doesn't run.

", "FulfillmentStartResponseSpecification$allowInterrupt": "

Determines whether the user can interrupt the start message while it is playing.

", "FulfillmentUpdateResponseSpecification$allowInterrupt": "

Determines whether the user can interrupt an update message while it is playing.

", "FulfillmentUpdatesSpecification$active": "

Determines whether fulfillment updates are sent to the user. When this field is true, updates are sent.

If the active field is set to true, the startResponse, updateResponse, and timeoutInSeconds fields are required.

", @@ -705,6 +711,18 @@ "BotAliasLocaleSettings$codeHookSpecification": "

Specifies the Lambda function that should be used in the locale.

" } }, + "Condition": { + "base": "

Provides an expression that evaluates to true or false.

", + "refs": { + "ConditionalBranch$condition": "

Contains the expression to evaluate. If the condition is true, the branch's actions are taken.

" + } + }, + "ConditionExpression": { + "base": null, + "refs": { + "Condition$expressionString": "

The expression string that is evaluated.

" + } + }, "ConditionKey": { "base": null, "refs": { @@ -735,6 +753,36 @@ "ConditionKeyValueMap$value": null } }, + "ConditionalBranch": { + "base": "

A set of actions that Amazon Lex should run if the condition is matched.

", + "refs": { + "ConditionalBranches$member": null + } + }, + "ConditionalBranches": { + "base": null, + "refs": { + "ConditionalSpecification$conditionalBranches": "

A list of conditional branches. A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true.

" + } + }, + "ConditionalSpecification": { + "base": "

Provides a list of conditional branches. Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition.

", + "refs": { + "InitialResponseSetting$conditional": null, + "IntentClosingSetting$conditional": "

A list of conditional branches associated with the intent's closing response. These branches are executed when the nextStep attribute is set to EvalutateConditional.

", + "IntentConfirmationSetting$confirmationConditional": "

A list of conditional branches to evaluate after the intent is closed.

", + "IntentConfirmationSetting$declinationConditional": "

A list of conditional branches to evaluate after the intent is declined.

", + "IntentConfirmationSetting$failureConditional": null, + "PostDialogCodeHookInvocationSpecification$successConditional": "

A list of conditional branches to evaluate after the dialog code hook finishes successfully.

", + "PostDialogCodeHookInvocationSpecification$failureConditional": "

A list of conditional branches to evaluate after the dialog code hook throws an exception or returns with the State field of the Intent object set to Failed.

", + "PostDialogCodeHookInvocationSpecification$timeoutConditional": "

A list of conditional branches to evaluate if the code hook times out.

", + "PostFulfillmentStatusSpecification$successConditional": "

A list of conditional branches to evaluate after the fulfillment code hook finishes successfully.

", + "PostFulfillmentStatusSpecification$failureConditional": "

A list of conditional branches to evaluate after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.

", + "PostFulfillmentStatusSpecification$timeoutConditional": "

A list of conditional branches to evaluate if the fulfillment code hook times out.

", + "SlotCaptureSetting$captureConditional": "

A list of conditional branches to evaluate after the slot value is captured.

", + "SlotCaptureSetting$failureConditional": "

A list of conditional branches to evaluate when the slot value isn't captured.

" + } + }, "ConfidenceThreshold": { "base": null, "refs": { @@ -939,6 +987,12 @@ "LexTranscriptFilter$dateRangeFilter": "

The object that contains a date range filter that will be applied to the transcript. Specify this object if you want Amazon Lex to only read the files that are within the date range.

" } }, + "DefaultConditionalBranch": { + "base": "

A set of actions that Amazon Lex should run if none of the other conditions are met.

", + "refs": { + "ConditionalSpecification$defaultBranch": "

The conditional branch that should be followed when the conditions for other branches are not satisfied. A conditional branch is made up of a condition, a response and a next step.

" + } + }, "DeleteBotAliasRequest": { "base": null, "refs": { @@ -1221,6 +1275,26 @@ "UpdateSlotTypeResponse$description": "

The updated description of the slot type.

" } }, + "DialogAction": { + "base": "

Defines the action that the bot executes at runtime when the conversation reaches this step.

", + "refs": { + "DialogState$dialogAction": null + } + }, + "DialogActionType": { + "base": null, + "refs": { + "DialogAction$type": "

The action that the bot should execute.

" + } + }, + "DialogCodeHookInvocationSetting": { + "base": "

Settings that specify the dialog code hook that is called by Amazon Lex at a step of the conversation.

", + "refs": { + "InitialResponseSetting$codeHook": null, + "IntentConfirmationSetting$codeHook": "

The DialogCodeHookInvocationSetting object associated with intent's confirmation step. The dialog code hook is triggered based on these invocation settings when the confirmation next step or declination next step or failure next step is InvokeDialogCodeHook.

", + "SlotCaptureSetting$codeHook": "

Code hook called after Amazon Lex successfully captures a slot value.

" + } + }, "DialogCodeHookSettings": { "base": "

Settings that determine the Lambda function that Amazon Lex uses for processing user responses.

", "refs": { @@ -1231,6 +1305,26 @@ "UpdateIntentResponse$dialogCodeHook": "

The updated Lambda function called during each turn of the conversation with the user.

" } }, + "DialogState": { + "base": "

The current state of the conversation with the user.

", + "refs": { + "ConditionalBranch$nextStep": "

The next step in the conversation.

", + "DefaultConditionalBranch$nextStep": "

The next step in the conversation.

", + "InitialResponseSetting$nextStep": "

The next step in the conversation.

", + "IntentClosingSetting$nextStep": "

Specifies the next step that the bot executes after playing the intent's closing response.

", + "IntentConfirmationSetting$confirmationNextStep": "

Specifies the next step that the bot executes when the customer confirms the intent.

", + "IntentConfirmationSetting$declinationNextStep": "

Specifies the next step that the bot executes when the customer declines the intent.

", + "IntentConfirmationSetting$failureNextStep": "

The next step to take in the conversation if the confirmation step fails.

", + "PostDialogCodeHookInvocationSpecification$successNextStep": "

Specifics the next step the bot runs after the dialog code hook finishes successfully.

", + "PostDialogCodeHookInvocationSpecification$failureNextStep": "

Specifies the next step the bot runs after the dialog code hook throws an exception or returns with the State field of the Intent object set to Failed.

", + "PostDialogCodeHookInvocationSpecification$timeoutNextStep": "

Specifies the next step that the bot runs when the code hook times out.

", + "PostFulfillmentStatusSpecification$successNextStep": "

Specifies the next step in the conversation that Amazon Lex invokes when the fulfillment code hook completes successfully.

", + "PostFulfillmentStatusSpecification$failureNextStep": "

Specifies the next step the bot runs after the fulfillment code hook throws an exception or returns with the State field of the Intent object set to Failed.

", + "PostFulfillmentStatusSpecification$timeoutNextStep": "

Specifies the next step that the bot runs when the fulfillment code hook times out.

", + "SlotCaptureSetting$captureNextStep": "

Specifies the next step that the bot runs when the slot value is captured before the code hook times out.

", + "SlotCaptureSetting$failureNextStep": "

Specifies the next step that the bot runs when the slot value code is not recognized.

" + } + }, "DraftBotVersion": { "base": null, "refs": { @@ -1282,6 +1376,13 @@ "CreateResourcePolicyStatementRequest$effect": "

Determines whether the statement allows or denies access to the resource.

" } }, + "ElicitationCodeHookInvocationSetting": { + "base": "

Settings that specify the dialog code hook that is called by Amazon Lex between eliciting slot values.

", + "refs": { + "IntentConfirmationSetting$elicitationCodeHook": "

The DialogCodeHookInvocationSetting used when the code hook is invoked during confirmation prompt retries.

", + "SlotCaptureSetting$elicitationCodeHook": "

Code hook called when Amazon Lex doesn't capture a slot value.

" + } + }, "EncryptionSetting": { "base": "

The object representing the passwords that were used to encrypt the data related to the bot recommendation, as well as the KMS key ARN used to encrypt the associated metadata.

", "refs": { @@ -1748,6 +1849,16 @@ "ImportSummary$importedResourceId": "

The unique identifier that Amazon Lex assigned to the imported resource.

" } }, + "InitialResponseSetting": { + "base": "

Configuration setting for a response sent to the user before Amazon Lex starts eliciting slots.

", + "refs": { + "CreateIntentRequest$initialResponseSetting": "

Configuration settings for the response that is sent to the user at the beginning of a conversation, before eliciting slot values.

", + "CreateIntentResponse$initialResponseSetting": "

Configuration settings for the response that is sent to the user at the beginning of a conversation, before eliciting slot values.

", + "DescribeIntentResponse$initialResponseSetting": "

", + "UpdateIntentRequest$initialResponseSetting": "

", + "UpdateIntentResponse$initialResponseSetting": "

" + } + }, "InputContext": { "base": "

The name of a context that must be active for an intent to be selected by Amazon Lex.

", "refs": { @@ -1809,6 +1920,12 @@ "ListIntentsRequest$filters": "

Provides the specification of a filter used to limit the intents in the response to only those that match the filter specification. You can only specify one filter and only one string to filter on.

" } }, + "IntentOverride": { + "base": "

Override settings to configure the intent state.

", + "refs": { + "DialogState$intent": null + } + }, "IntentSignature": { "base": null, "refs": { @@ -2227,6 +2344,7 @@ "BotImportSpecification$botName": "

The name that Amazon Lex should use for the bot.

", "BotSummary$botName": "

The name of the bot.

", "BotVersionSummary$botName": "

The name of the bot associated with the version.

", + "ConditionalBranch$name": "

The name of the branch.

", "CreateBotAliasRequest$botAliasName": "

The alias to create. The name must be unique for the bot.

", "CreateBotAliasResponse$botAliasName": "

The name specified for the bot alias.

", "CreateBotRequest$botName": "

The name of the bot. The bot name must be unique in the account that creates the bot.

", @@ -2246,13 +2364,18 @@ "DescribeIntentResponse$intentName": "

The name specified for the intent.

", "DescribeSlotResponse$slotName": "

The name specified for the slot.

", "DescribeSlotTypeResponse$slotTypeName": "

The name specified for the slot type.

", + "DialogAction$slotToElicit": "

If the dialog action is ElicitSlot, defines the slot to elicit from the user.

", + "DialogCodeHookInvocationSetting$invocationLabel": "

A label that indicates the dialog step from which the dialog code hook is happening.

", + "ElicitationCodeHookInvocationSetting$invocationLabel": "

A label that indicates the dialog step from which the dialog code hook is happening.

", "ImportSummary$importedResourceName": "

The name that you gave the imported resource.

", "InputContext$name": "

The name of the context.

", + "IntentOverride$name": "

The name of the intent. Only required when you're switching intents.

", "IntentSummary$intentName": "

The name of the intent.

", "OutputContext$name": "

The name of the output context.

", "RecommendedIntentSummary$intentName": "

The name of a recommended intent associated with the bot recommendation.

", "SlotSummary$slotName": "

The name given to the slot.

", "SlotTypeSummary$slotTypeName": "

The name of the slot type.

", + "SlotValueOverrideMap$key": null, "UpdateBotAliasRequest$botAliasName": "

The new name to assign to the bot alias.

", "UpdateBotAliasResponse$botAliasName": "

The updated name of the bot alias.

", "UpdateBotRequest$botName": "

The new name of the bot. The name must be unique in the account that creates the bot.

", @@ -2305,6 +2428,13 @@ "ListSlotsResponse$nextToken": "

A token that indicates whether there are more results to return in a response to the ListSlots operation. If the nextToken field is present, you send the contents as the nextToken parameter of a ListSlots operation request to get the next page of results.

" } }, + "NonEmptyString": { + "base": null, + "refs": { + "SlotValue$interpretedValue": "

The value that Amazon Lex determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the resolvedValues list.

", + "StringMap$key": null + } + }, "NumericalBotVersion": { "base": null, "refs": { @@ -2401,6 +2531,12 @@ "UpdateResourcePolicyRequest$policy": "

A resource policy to add to the resource. The policy is a JSON structure that contains one or more statements that define the policy. The policy must follow the IAM syntax. For more information about the contents of a JSON policy document, see IAM JSON policy reference .

If the policy isn't valid, Amazon Lex returns a validation exception.

" } }, + "PostDialogCodeHookInvocationSpecification": { + "base": "

Specifies next steps to run after the dialog code hook finishes.

", + "refs": { + "DialogCodeHookInvocationSetting$postCodeHookSpecification": "

Contains the responses and actions that Amazon Lex takes after the Lambda function is complete.

" + } + }, "PostFulfillmentStatusSpecification": { "base": "

Provides a setting that determines whether the post-fulfillment response is sent to the user. For more information, see https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete

", "refs": { @@ -2517,11 +2653,21 @@ "ResponseSpecification": { "base": "

Specifies a list of message groups that Amazon Lex uses to respond the user input.

", "refs": { + "ConditionalBranch$response": null, + "DefaultConditionalBranch$response": null, + "InitialResponseSetting$initialResponse": null, "IntentClosingSetting$closingResponse": "

The response that Amazon Lex sends to the user when the intent is complete.

", "IntentConfirmationSetting$declinationResponse": "

When the user answers \"no\" to the question defined in promptSpecification, Amazon Lex responds with this response to acknowledge that the intent was canceled.

", + "IntentConfirmationSetting$confirmationResponse": null, + "IntentConfirmationSetting$failureResponse": null, + "PostDialogCodeHookInvocationSpecification$successResponse": null, + "PostDialogCodeHookInvocationSpecification$failureResponse": null, + "PostDialogCodeHookInvocationSpecification$timeoutResponse": null, "PostFulfillmentStatusSpecification$successResponse": null, "PostFulfillmentStatusSpecification$failureResponse": null, "PostFulfillmentStatusSpecification$timeoutResponse": null, + "SlotCaptureSetting$captureResponse": null, + "SlotCaptureSetting$failureResponse": null, "WaitAndContinueSpecification$waitingResponse": "

The response that Amazon Lex sends to indicate that the bot is waiting for the conversation to continue.

", "WaitAndContinueSpecification$continueResponse": "

The response that Amazon Lex sends to indicate that the bot is ready to continue the conversation.

" } @@ -2696,6 +2842,12 @@ "DeleteSlotTypeRequest$skipResourceInUseCheck": "

By default, the DeleteSlotType operations throws a ResourceInUseException exception if you try to delete a slot type used by a slot. Set the skipResourceInUseCheck parameter to true to skip this check and remove the slot type even if a slot uses it.

" } }, + "SlotCaptureSetting": { + "base": "

Settings used when Amazon Lex successfully captures a slot value from a user.

", + "refs": { + "SlotValueElicitationSetting$slotCaptureSetting": "

Specifies the settings that Amazon Lex uses when a slot value is successfully entered by a user.

" + } + }, "SlotConstraint": { "base": null, "refs": { @@ -2765,6 +2917,12 @@ "SlotPrioritiesList$member": null } }, + "SlotShape": { + "base": null, + "refs": { + "SlotValueOverride$shape": "

When the shape value is List, it indicates that the values field contains a list of slot values. When the value is Scalar, it indicates that the value field contains a single value.

" + } + }, "SlotSortAttribute": { "base": null, "refs": { @@ -2877,6 +3035,12 @@ "UpdateSlotTypeResponse$slotTypeValues": "

The updated values that the slot type provides.

" } }, + "SlotValue": { + "base": "

The value to set in a slot.

", + "refs": { + "SlotValueOverride$value": "

The current value of the slot.

" + } + }, "SlotValueElicitationSetting": { "base": "

Settings that you can use for eliciting a slot value.

", "refs": { @@ -2887,6 +3051,19 @@ "UpdateSlotResponse$valueElicitationSetting": "

The updated prompts that Amazon Lex sends to the user to elicit a response that provides a value for the slot.

" } }, + "SlotValueOverride": { + "base": "

The slot values that Amazon Lex uses when it sets slot values in a dialog step.

", + "refs": { + "SlotValueOverrideMap$value": null, + "SlotValues$member": null + } + }, + "SlotValueOverrideMap": { + "base": null, + "refs": { + "IntentOverride$slots": "

A map of all of the slot value overrides for the intent. The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.,

" + } + }, "SlotValueRegexFilter": { "base": "

Provides a regular expression used to validate the value of a slot.

", "refs": { @@ -2909,6 +3086,12 @@ "UpdateSlotTypeResponse$valueSelectionSetting": "

The updated strategy that Amazon Lex uses to determine which value to select from the slot type.

" } }, + "SlotValues": { + "base": null, + "refs": { + "SlotValueOverride$values": "

A list of one or more values that the user provided for the slot. For example, for a slot that elicits pizza toppings, the values might be \"pepperoni\" and \"pineapple.\"

" + } + }, "SortOrder": { "base": null, "refs": { @@ -2963,6 +3146,18 @@ "StillWaitingResponseSpecification$timeoutInSeconds": "

If Amazon Lex waits longer than this length of time for a response, it will stop sending messages.

" } }, + "String": { + "base": null, + "refs": { + "StringMap$value": null + } + }, + "StringMap": { + "base": null, + "refs": { + "DialogState$sessionAttributes": "

Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.

" + } + }, "SynonymList": { "base": null, "refs": { diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index 9c6e61f8574..1205a7df921 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -2960,7 +2960,8 @@ "EnablePerformanceInsights":{"shape":"BooleanOptional"}, "PerformanceInsightsKMSKeyId":{"shape":"String"}, "PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"}, - "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"} + "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, + "NetworkType":{"shape":"String"} } }, "CreateDBClusterParameterGroupMessage":{ @@ -3451,7 +3452,8 @@ "PerformanceInsightsEnabled":{"shape":"BooleanOptional"}, "PerformanceInsightsKMSKeyId":{"shape":"String"}, "PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"}, - "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfigurationInfo"} + "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfigurationInfo"}, + "NetworkType":{"shape":"String"} }, "wrapper":true }, @@ -6361,7 +6363,8 @@ "EnablePerformanceInsights":{"shape":"BooleanOptional"}, "PerformanceInsightsKMSKeyId":{"shape":"String"}, "PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"}, - "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"} + "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, + "NetworkType":{"shape":"String"} } }, "ModifyDBClusterParameterGroupMessage":{ @@ -7450,7 +7453,8 @@ "CopyTagsToSnapshot":{"shape":"BooleanOptional"}, "Domain":{"shape":"String"}, "DomainIAMRoleName":{"shape":"String"}, - "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"} + "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, + "NetworkType":{"shape":"String"} } }, "RestoreDBClusterFromS3Result":{ @@ -7493,7 +7497,8 @@ "StorageType":{"shape":"String"}, "Iops":{"shape":"IntegerOptional"}, "PubliclyAccessible":{"shape":"BooleanOptional"}, - "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"} + "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, + "NetworkType":{"shape":"String"} } }, "RestoreDBClusterFromSnapshotResult":{ @@ -7534,7 +7539,8 @@ "StorageType":{"shape":"String"}, "PubliclyAccessible":{"shape":"BooleanOptional"}, "Iops":{"shape":"IntegerOptional"}, - "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"} + "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, + "NetworkType":{"shape":"String"} } }, "RestoreDBClusterToPointInTimeResult":{ diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index 7ada7225390..15744785d85 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -7,7 +7,7 @@ "AddSourceIdentifierToSubscription": "

Adds a source identifier to an existing RDS event notification subscription.

", "AddTagsToResource": "

Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS.

For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources.

", "ApplyPendingMaintenanceAction": "

Applies a pending maintenance action to a resource (for example, to a DB instance).

", - "AuthorizeDBSecurityGroupIngress": "

Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).

You can't authorize ingress from an EC2 security group in one Amazon Web Services Region to an Amazon RDS DB instance in another. You can't authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

", + "AuthorizeDBSecurityGroupIngress": "

Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).

You can't authorize ingress from an EC2 security group in one Amazon Web Services Region to an Amazon RDS DB instance in another. You can't authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

", "BacktrackDBCluster": "

Backtracks a DB cluster to a specific time, without creating a new DB cluster.

For more information on backtracking, see Backtracking an Aurora DB Cluster in the Amazon Aurora User Guide.

This action applies only to Aurora MySQL DB clusters.

", "CancelExportTask": "

Cancels an export task in progress that is exporting a snapshot to Amazon S3. Any data that has already been written to the S3 bucket isn't removed.

", "CopyDBClusterParameterGroup": "

Copies the specified DB cluster parameter group.

", @@ -25,10 +25,10 @@ "CreateDBParameterGroup": "

Creates a new DB parameter group.

A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

This command doesn't apply to RDS Custom.

After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

", "CreateDBProxy": "

Creates a new DB proxy.

", "CreateDBProxyEndpoint": "

Creates a DBProxyEndpoint. Only applies to proxies that are associated with Aurora DB clusters. You can use DB proxy endpoints to specify read/write or read-only access to the DB cluster. You can also use DB proxy endpoints to access a DB proxy through a different VPC than the proxy's default VPC.

", - "CreateDBSecurityGroup": "

Creates a new DB security group. DB security groups control access to a DB instance.

A DB security group controls access to EC2-Classic DB instances that are not in a VPC.

", + "CreateDBSecurityGroup": "

Creates a new DB security group. DB security groups control access to a DB instance.

A DB security group controls access to EC2-Classic DB instances that are not in a VPC.

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

", "CreateDBSnapshot": "

Creates a snapshot of a DB instance. The source DB instance must be in the available or storage-optimization state.

", "CreateDBSubnetGroup": "

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the Amazon Web Services Region.

", - "CreateEventSubscription": "

Creates an RDS event notification subscription. This operation requires a topic Amazon Resource Name (ARN) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the type of source (SourceType) that you want to be notified of and provide a list of RDS sources (SourceIds) that triggers the events. You can also provide a list of event categories (EventCategories) for events that you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIds = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify SourceIds, you receive notice of the events for that source type for all your RDS sources. If you don't specify either the SourceType or the SourceIds, you are notified of events generated from all RDS sources belonging to your customer account.

RDS event notification is only available for unencrypted SNS topics. If you specify an encrypted SNS topic, event notifications aren't sent for the topic.

", + "CreateEventSubscription": "

Creates an RDS event notification subscription. This operation requires a topic Amazon Resource Name (ARN) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the type of source (SourceType) that you want to be notified of and provide a list of RDS sources (SourceIds) that triggers the events. You can also provide a list of event categories (EventCategories) for events that you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIds = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify SourceIds, you receive notice of the events for that source type for all your RDS sources. If you don't specify either the SourceType or the SourceIds, you are notified of events generated from all RDS sources belonging to your customer account.

For more information about subscribing to an event for RDS DB engines, see Subscribing to Amazon RDS event notification in the Amazon RDS User Guide.

For more information about subscribing to an event for Aurora DB engines, see Subscribing to Amazon RDS event notification in the Amazon Aurora User Guide.

", "CreateGlobalCluster": "

Creates an Aurora global database spread across multiple Amazon Web Services Regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

You can create a global database that is initially empty, and then add a primary cluster and a secondary cluster to it. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database.

This action applies only to Aurora DB clusters.

", "CreateOptionGroup": "

Creates a new option group. You can create up to 20 option groups.

This command doesn't apply to RDS Custom.

", "DeleteCustomDBEngineVersion": "

Deletes a custom engine version. To run this command, make sure you meet the following prerequisites:

Typically, deletion takes a few minutes.

The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the DeleteCustomDbEngineVersion event aren't logged. However, you might see calls from the API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for the DeleteCustomDbEngineVersion event.

For more information, see Deleting a CEV in the Amazon RDS User Guide.

", @@ -41,7 +41,7 @@ "DeleteDBParameterGroup": "

Deletes a specified DB parameter group. The DB parameter group to be deleted can't be associated with any DB instances.

", "DeleteDBProxy": "

Deletes an existing DB proxy.

", "DeleteDBProxyEndpoint": "

Deletes a DBProxyEndpoint. Doing so removes the ability to access the DB proxy using the endpoint that you defined. The endpoint that you delete might have provided capabilities such as read/write or read-only operations, or using a different VPC than the DB proxy's default VPC.

", - "DeleteDBSecurityGroup": "

Deletes a DB security group.

The specified DB security group must not be associated with any DB instances.

", + "DeleteDBSecurityGroup": "

Deletes a DB security group.

The specified DB security group must not be associated with any DB instances.

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

", "DeleteDBSnapshot": "

Deletes a DB snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB snapshot must be in the available state to be deleted.

", "DeleteDBSubnetGroup": "

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

", "DeleteEventSubscription": "

Deletes an RDS event notification subscription.

", @@ -67,7 +67,7 @@ "DescribeDBProxyEndpoints": "

Returns information about DB proxy endpoints.

", "DescribeDBProxyTargetGroups": "

Returns information about DB proxy target groups, represented by DBProxyTargetGroup data structures.

", "DescribeDBProxyTargets": "

Returns information about DBProxyTarget objects. This API supports pagination.

", - "DescribeDBSecurityGroups": "

Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName is specified, the list will contain only the descriptions of the specified DB security group.

", + "DescribeDBSecurityGroups": "

Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName is specified, the list will contain only the descriptions of the specified DB security group.

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

", "DescribeDBSnapshotAttributes": "

Returns a list of DB snapshot attribute names and values for a manual DB snapshot.

When sharing snapshots with other Amazon Web Services accounts, DescribeDBSnapshotAttributes returns the restore attribute and a list of IDs for the Amazon Web Services accounts that are authorized to copy or restore the manual DB snapshot. If all is included in the list of values for the restore attribute, then the manual DB snapshot is public and can be copied or restored by all Amazon Web Services accounts.

To add or remove access for an Amazon Web Services account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute API action.

", "DescribeDBSnapshots": "

Returns information about DB snapshots. This API action supports pagination.

", "DescribeDBSubnetGroups": "

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

", @@ -128,7 +128,7 @@ "RestoreDBInstanceFromDBSnapshot": "

Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with most of the source's original configuration, including the default security group and DB parameter group. By default, the new DB instance is created as a Single-AZ deployment, except when the instance is a SQL Server instance that has an option group associated with mirroring. In this case, the instance becomes a Multi-AZ deployment, not a Single-AZ deployment.

If you want to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS doesn't allow two DB instances with the same name. After you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you replace the original DB instance with the DB instance created from the snapshot.

If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterFromSnapshot.

", "RestoreDBInstanceFromS3": "

Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files. You can create a backup of your on-premises database, store it on Amazon Simple Storage Service (Amazon S3), and then restore the backup file onto a new Amazon RDS DB instance running MySQL. For more information, see Importing Data into an Amazon RDS MySQL DB Instance in the Amazon RDS User Guide.

This command doesn't apply to RDS Custom.

", "RestoreDBInstanceToPointInTime": "

Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.

The target database is created with most of the original configuration, but in a system-selected Availability Zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterToPointInTime.

", - "RevokeDBSecurityGroupIngress": "

Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC security groups. Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId).

", + "RevokeDBSecurityGroupIngress": "

Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC security groups. Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId).

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

", "StartActivityStream": "

Starts a database activity stream to monitor activity on the database. For more information, see Database Activity Streams in the Amazon Aurora User Guide.

", "StartDBCluster": "

Starts an Amazon Aurora DB cluster that was stopped using the Amazon Web Services console, the stop-db-cluster CLI command, or the StopDBCluster action.

For more information, see Stopping and Starting an Aurora Cluster in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

", "StartDBInstance": "

Starts an Amazon RDS DB instance that was stopped using the Amazon Web Services console, the stop-db-instance CLI command, or the StopDBInstance action.

For more information, see Starting an Amazon RDS DB instance That Was Previously Stopped in the Amazon RDS User Guide.

This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL. For Aurora DB clusters, use StartDBCluster instead.

", @@ -3787,6 +3787,7 @@ "CreateDBClusterMessage$StorageType": "

Specifies the storage type to be associated with the DB cluster.

This setting is required to create a Multi-AZ DB cluster.

Valid values: io1

When specified, a value for the Iops parameter is required.

Default: io1

Valid for: Multi-AZ DB clusters only

", "CreateDBClusterMessage$MonitoringRoleArn": "

The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting up and enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

Valid for: Multi-AZ DB clusters only

", "CreateDBClusterMessage$PerformanceInsightsKMSKeyId": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

If you don't specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

Valid for: Multi-AZ DB clusters only

", + "CreateDBClusterMessage$NetworkType": "

The network type of the DB cluster.

Valid values:

The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

Valid for: Aurora DB clusters only

", "CreateDBClusterParameterGroupMessage$DBClusterParameterGroupName": "

The name of the DB cluster parameter group.

Constraints:

This value is stored as a lowercase string.

", "CreateDBClusterParameterGroupMessage$DBParameterGroupFamily": "

The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.

Aurora MySQL

Example: aurora5.6, aurora-mysql5.7, aurora-mysql8.0

Aurora PostgreSQL

Example: aurora-postgresql9.6

RDS for MySQL

Example: mysql8.0

RDS for PostgreSQL

Example: postgres12

To list all of the available parameter group families for a DB engine, use the following command:

aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine <engine>

For example, to list all of the available parameter group families for the Aurora PostgreSQL DB engine, use the following command:

aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine aurora-postgresql

The output contains duplicates.

The following are the valid DB engine values:

", "CreateDBClusterParameterGroupMessage$Description": "

The description for the DB cluster parameter group.

", @@ -3887,6 +3888,7 @@ "DBCluster$StorageType": "

The storage type associated with the DB cluster.

This setting is only for non-Aurora Multi-AZ DB clusters.

", "DBCluster$MonitoringRoleArn": "

The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

This setting is only for non-Aurora Multi-AZ DB clusters.

", "DBCluster$PerformanceInsightsKMSKeyId": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

This setting is only for non-Aurora Multi-AZ DB clusters.

", + "DBCluster$NetworkType": "

The network type of the DB instance.

Valid values:

The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

This setting is only for Aurora DB clusters.

", "DBClusterBacktrack$DBClusterIdentifier": "

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

", "DBClusterBacktrack$BacktrackIdentifier": "

Contains the backtrack identifier.

", "DBClusterBacktrack$Status": "

The status of the backtrack. This property returns one of the following values:

", @@ -4286,6 +4288,7 @@ "ModifyDBClusterMessage$StorageType": "

Specifies the storage type to be associated with the DB cluster.

Valid values: io1

When specified, a value for the Iops parameter is required.

Default: io1

Valid for: Multi-AZ DB clusters only

", "ModifyDBClusterMessage$MonitoringRoleArn": "

The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

Valid for: Multi-AZ DB clusters only

", "ModifyDBClusterMessage$PerformanceInsightsKMSKeyId": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

If you don't specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

Valid for: Multi-AZ DB clusters only

", + "ModifyDBClusterMessage$NetworkType": "

The network type of the DB cluster.

Valid values:

The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

Valid for: Aurora DB clusters only

", "ModifyDBClusterParameterGroupMessage$DBClusterParameterGroupName": "

The name of the DB cluster parameter group to modify.

", "ModifyDBClusterSnapshotAttributeMessage$DBClusterSnapshotIdentifier": "

The identifier for the DB cluster snapshot to modify the attributes for.

", "ModifyDBClusterSnapshotAttributeMessage$AttributeName": "

The name of the DB cluster snapshot attribute to modify.

To manage authorization for other Amazon Web Services accounts to copy or restore a manual DB cluster snapshot, set this value to restore.

To view the list of attributes available to modify, use the DescribeDBClusterSnapshotAttributes API operation.

", @@ -4460,6 +4463,7 @@ "RestoreDBClusterFromS3Message$S3IngestionRoleArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your behalf.

", "RestoreDBClusterFromS3Message$Domain": "

Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation.

For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Kerberos Authentication in the Amazon Aurora User Guide.

", "RestoreDBClusterFromS3Message$DomainIAMRoleName": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", + "RestoreDBClusterFromS3Message$NetworkType": "

The network type of the DB cluster.

Valid values:

The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

", "RestoreDBClusterFromSnapshotMessage$DBClusterIdentifier": "

The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case-sensitive.

Constraints:

Example: my-snapshot-id

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

", "RestoreDBClusterFromSnapshotMessage$SnapshotIdentifier": "

The identifier for the DB snapshot or DB cluster snapshot to restore from.

You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.

Constraints:

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

", "RestoreDBClusterFromSnapshotMessage$Engine": "

The database engine to use for the new DB cluster.

Default: The same as source

Constraint: Must be compatible with the engine of the source

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

", @@ -4474,6 +4478,7 @@ "RestoreDBClusterFromSnapshotMessage$DomainIAMRoleName": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

Valid for: Aurora DB clusters only

", "RestoreDBClusterFromSnapshotMessage$DBClusterInstanceClass": "

The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.

For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Valid for: Multi-AZ DB clusters only

", "RestoreDBClusterFromSnapshotMessage$StorageType": "

Specifies the storage type to be associated with the each DB instance in the Multi-AZ DB cluster.

Valid values: io1

When specified, a value for the Iops parameter is required.

Default: io1

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

", + "RestoreDBClusterFromSnapshotMessage$NetworkType": "

The network type of the DB cluster.

Valid values:

The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

Valid for: Aurora DB clusters only

", "RestoreDBClusterToPointInTimeMessage$DBClusterIdentifier": "

The name of the new DB cluster to be created.

Constraints:

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

", "RestoreDBClusterToPointInTimeMessage$RestoreType": "

The type of restore to be performed. You can specify one of the following values:

Constraints: You can't specify copy-on-write if the engine version of the source DB cluster is earlier than 1.11.

If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

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

", "RestoreDBClusterToPointInTimeMessage$SourceDBClusterIdentifier": "

The identifier of the source DB cluster from which to restore.

Constraints:

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

", @@ -4486,6 +4491,7 @@ "RestoreDBClusterToPointInTimeMessage$EngineMode": "

The engine mode of the new cluster. Specify provisioned or serverless, depending on the type of the cluster you are creating. You can create an Aurora Serverless v1 clone from a provisioned cluster, or a provisioned clone from an Aurora Serverless v1 cluster. To create a clone that is an Aurora Serverless v1 cluster, the original cluster must be an Aurora Serverless v1 cluster or an encrypted provisioned cluster.

Valid for: Aurora DB clusters only

", "RestoreDBClusterToPointInTimeMessage$DBClusterInstanceClass": "

The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.

For the full list of DB instance classes, and availability for your engine, see DB instance class in the Amazon RDS User Guide.

Valid for: Multi-AZ DB clusters only

", "RestoreDBClusterToPointInTimeMessage$StorageType": "

Specifies the storage type to be associated with the each DB instance in the Multi-AZ DB cluster.

Valid values: io1

When specified, a value for the Iops parameter is required.

Default: io1

Valid for: Multi-AZ DB clusters only

", + "RestoreDBClusterToPointInTimeMessage$NetworkType": "

The network type of the DB cluster.

Valid values:

The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

Valid for: Aurora DB clusters only

", "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceIdentifier": "

Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

Constraints:

Example: my-snapshot-id

", "RestoreDBInstanceFromDBSnapshotMessage$DBSnapshotIdentifier": "

The identifier for the DB snapshot to restore from.

Constraints:

", "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceClass": "

The compute and memory capacity of the Amazon RDS DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: The same DBInstanceClass as the original DB instance.

", diff --git a/models/apis/secretsmanager/2017-10-17/docs-2.json b/models/apis/secretsmanager/2017-10-17/docs-2.json index 80d182c3da9..93e562f24d1 100644 --- a/models/apis/secretsmanager/2017-10-17/docs-2.json +++ b/models/apis/secretsmanager/2017-10-17/docs-2.json @@ -9,7 +9,7 @@ "DescribeSecret": "

Retrieves the details of a secret. It does not include the encrypted secret value. Secrets Manager only returns fields that have a value in the response.

Required permissions: secretsmanager:DescribeSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "GetRandomPassword": "

Generates a random password. We recommend that you specify the maximum length and include every character type that the system you are generating a password for can support.

Required permissions: secretsmanager:GetRandomPassword. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "GetResourcePolicy": "

Retrieves the JSON text of the resource-based policy document attached to the secret. For more information about permissions policies attached to a secret, see Permissions policies attached to a secret.

Required permissions: secretsmanager:GetResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "GetSecretValue": "

Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

We recommend that you cache your secret values by using client-side caching. Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for your applications.

Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key aws/secretsmanager, then you also need kms:Decrypt permissions for that key. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "GetSecretValue": "

Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

We recommend that you cache your secret values by using client-side caching. Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for your applications.

To retrieve the previous version of a secret, use VersionStage and specify AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage.

Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key aws/secretsmanager, then you also need kms:Decrypt permissions for that key. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "ListSecretVersionIds": "

Lists the versions of a secret. Secrets Manager uses staging labels to indicate the different versions of a secret. For more information, see Secrets Manager concepts: Versions.

To list the secrets in the account, use ListSecrets.

Required permissions: secretsmanager:ListSecretVersionIds. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "ListSecrets": "

Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account, not including secrets that are marked for deletion. To see secrets marked for deletion, use the Secrets Manager console.

ListSecrets is eventually consistent, however it might not reflect changes from the last five minutes. To get the latest information for a specific secret, use DescribeSecret.

To list the versions of a secret, use ListSecretVersionIds.

To get the secret value from SecretString or SecretBinary, call GetSecretValue.

For information about finding secrets in the console, see Find secrets in Secrets Manager.

Required permissions: secretsmanager:ListSecrets. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "PutResourcePolicy": "

Attaches a resource-based permission policy to a secret. A resource-based policy is optional. For more information, see Authentication and access control for Secrets Manager

For information about attaching a policy in the console, see Attach a permissions policy to a secret.

Required permissions: secretsmanager:PutResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", @@ -21,7 +21,7 @@ "StopReplicationToReplica": "

Removes the link between the replica secret and the primary secret and promotes the replica to a primary secret in the replica Region.

You must call this operation from the Region in which you want to promote the replica to a primary secret.

Required permissions: secretsmanager:StopReplicationToReplica. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "TagResource": "

Attaches tags to a secret. Tags consist of a key name and a value. Tags are part of the secret's metadata. They are not associated with specific versions of the secret. This operation appends tags to the existing list of tags.

The following restrictions apply to tags:

If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Required permissions: secretsmanager:TagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "UntagResource": "

Removes specific tags from a secret.

This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.

If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Required permissions: secretsmanager:UntagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "UpdateSecret": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

To change the rotation configuration of a secret, use RotateSecret instead.

We recommend you avoid calling UpdateSecret at a sustained rate of more than once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you update the secret value more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.

If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically attaches the staging label AWSCURRENT to the new version.

If you call this operation with a ClientRequestToken that matches an existing version's VersionId, the operation results in an error. You can't modify an existing version, you can only create a new version. To remove a version, remove all staging labels from it. See UpdateSecretVersionStage.

If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't use aws/secretsmanager to encrypt the secret, and you must create and use a customer managed key.

Required permissions: secretsmanager:UpdateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey and kms:Decrypt permissions on the key. For more information, see Secret encryption and decryption.

", + "UpdateSecret": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

To change the rotation configuration of a secret, use RotateSecret instead.

We recommend you avoid calling UpdateSecret at a sustained rate of more than once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you update the secret value more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.

If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically attaches the staging label AWSCURRENT to the new version.

If you call this operation with a ClientRequestToken that matches an existing version's VersionId, the operation results in an error. You can't modify an existing version, you can only create a new version. To remove a version, remove all staging labels from it. See UpdateSecretVersionStage.

Required permissions: secretsmanager:UpdateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey and kms:Decrypt permissions on the key. For more information, see Secret encryption and decryption.

", "UpdateSecretVersionStage": "

Modifies the staging labels attached to a version of a secret. Secrets Manager uses staging labels to track a version as it progresses through the secret rotation process. Each staging label can be attached to only one version at a time. To add a staging label to a version when it is already attached to another version, Secrets Manager first removes it from the other version first and then attaches it to this one. For more information about versions and staging labels, see Concepts: Version.

The staging labels that you specify in the VersionStage parameter are added to the existing list of staging labels for the version.

You can move the AWSCURRENT staging label to this version by including it in this call.

Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.

Required permissions: secretsmanager:UpdateSecretVersionStage. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "ValidateResourcePolicy": "

Validates that a resource policy does not grant a wide range of principals access to your secret. A resource-based policy is optional for secrets.

The API performs three checks when validating the policy:

Required permissions: secretsmanager:ValidateResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

" }, @@ -285,7 +285,7 @@ } }, "InvalidRequestException": { - "base": "

A parameter value is not valid for the current state of the resource.

Possible causes:

", + "base": "

A parameter value is not valid for the current state of the resource.

Possible causes:

", "refs": { } }, @@ -298,21 +298,21 @@ "KmsKeyIdType": { "base": null, "refs": { - "CreateSecretRequest$KmsKeyId": "

The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt the secret value in the secret.

To use a KMS key in a different account, use the key ARN or the alias ARN.

If you don't specify this value, then Secrets Manager uses the key aws/secretsmanager. If that key doesn't yet exist, then Secrets Manager creates it for you automatically the first time it encrypts the secret value.

If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't use aws/secretsmanager to encrypt the secret, and you must create and use a customer managed KMS key.

", - "DescribeSecretResponse$KmsKeyId": "

The ARN of the KMS key that Secrets Manager uses to encrypt the secret value. If the secret is encrypted with the Amazon Web Services managed key aws/secretsmanager, this field is omitted.

", + "CreateSecretRequest$KmsKeyId": "

The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt the secret value in the secret. An alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

To use a KMS key in a different account, use the key ARN or the alias ARN.

If you don't specify this value, then Secrets Manager uses the key aws/secretsmanager. If that key doesn't yet exist, then Secrets Manager creates it for you automatically the first time it encrypts the secret value.

If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't use aws/secretsmanager to encrypt the secret, and you must create and use a customer managed KMS key.

", + "DescribeSecretResponse$KmsKeyId": "

The key ID or alias ARN of the KMS key that Secrets Manager uses to encrypt the secret value. If the secret is encrypted with the Amazon Web Services managed key aws/secretsmanager, this field is omitted. Secrets created using the console use an KMS key ID.

", "KmsKeyIdListType$member": null, "ReplicaRegionType$KmsKeyId": "

The ARN, key ID, or alias of the KMS key to encrypt the secret. If you don't include this field, Secrets Manager uses aws/secretsmanager.

", "ReplicationStatusType$KmsKeyId": "

Can be an ARN, Key ID, or Alias.

", "SecretListEntry$KmsKeyId": "

The ARN of the KMS key that Secrets Manager uses to encrypt the secret value. If the secret is encrypted with the Amazon Web Services managed key aws/secretsmanager, this field is omitted.

", - "UpdateSecretRequest$KmsKeyId": "

The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. For more information about versions and staging labels, see Concepts: Version.

You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

" + "UpdateSecretRequest$KmsKeyId": "

The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. For more information about versions and staging labels, see Concepts: Version.

A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

" } }, "LastAccessedDateType": { "base": null, "refs": { - "DescribeSecretResponse$LastAccessedDate": "

The last date that the secret value was retrieved. This value does not include the time. This field is omitted if the secret has never been retrieved.

", - "ReplicationStatusType$LastAccessedDate": "

The date that you last accessed the secret in the Region.

", - "SecretListEntry$LastAccessedDate": "

The last date that this secret was accessed. This value is truncated to midnight of the date and therefore shows only the date, not the time.

", + "DescribeSecretResponse$LastAccessedDate": "

The date that the secret was last accessed in the Region. This field is omitted if the secret has never been retrieved in the Region.

", + "ReplicationStatusType$LastAccessedDate": "

The date that the secret was last accessed in the Region. This field is omitted if the secret has never been retrieved in the Region.

", + "SecretListEntry$LastAccessedDate": "

The date that the secret was last accessed in the Region. This field is omitted if the secret has never been retrieved in the Region.

", "SecretVersionsListEntry$LastAccessedDate": "

The date that this version of the secret was last accessed. Note that the resolution of this field is at the date level and does not include the time.

" } }, @@ -397,7 +397,7 @@ "OwningServiceType": { "base": null, "refs": { - "DescribeSecretResponse$OwningService": "

The name of the service that created this secret.

", + "DescribeSecretResponse$OwningService": "

The ID of the service that created this secret. For more information, see Secrets managed by other Amazon Web Services services.

", "SecretListEntry$OwningService": "

Returns the name of the service that created the secret.

" } }, diff --git a/service/appmesh/api.go b/service/appmesh/api.go index bcbd6e9b38d..8b6bc52f3c3 100644 --- a/service/appmesh/api.go +++ b/service/appmesh/api.go @@ -4541,7 +4541,9 @@ type AwsCloudMapServiceDiscovery struct { // will be returned. Attributes []*AwsCloudMapInstanceAttribute `locationName:"attributes" type:"list"` - // The IP version to use to control traffic within the mesh. + // The preferred IP version that this virtual node uses. Setting the IP preference + // on the virtual node only overrides the IP preference set for the mesh on + // this specific node. IpPreference *string `locationName:"ipPreference" type:"string" enum:"IpPreference"` // The name of the Cloud Map namespace to use. @@ -7836,7 +7838,9 @@ type DnsServiceDiscovery struct { // Hostname is a required field Hostname *string `locationName:"hostname" type:"string" required:"true"` - // The IP version to use to control traffic within the mesh. + // The preferred IP version that this virtual node uses. Setting the IP preference + // on the virtual node only overrides the IP preference set for the mesh on + // this specific node. IpPreference *string `locationName:"ipPreference" type:"string" enum:"IpPreference"` // Specifies the DNS response type for the virtual node. @@ -7988,6 +7992,9 @@ func (s *EgressFilter) SetType(v string) *EgressFilter { type FileAccessLog struct { _ struct{} `type:"structure"` + // The specified format for the logs. The format is either json_format or text_format. + Format *LoggingFormat `locationName:"format" type:"structure"` + // The file path to write access logs to. You can use /dev/stdout to send access // logs to standard out and configure your Envoy container to use a log driver, // such as awslogs, to export the access logs to a log storage service such @@ -8028,6 +8035,11 @@ func (s *FileAccessLog) Validate() error { if s.Path != nil && len(*s.Path) < 1 { invalidParams.Add(request.NewErrParamMinLen("Path", 1)) } + if s.Format != nil { + if err := s.Format.Validate(); err != nil { + invalidParams.AddNested("Format", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -8035,6 +8047,12 @@ func (s *FileAccessLog) Validate() error { return nil } +// SetFormat sets the Format field's value. +func (s *FileAccessLog) SetFormat(v *LoggingFormat) *FileAccessLog { + s.Format = v + return s +} + // SetPath sets the Path field's value. func (s *FileAccessLog) SetPath(v string) *FileAccessLog { s.Path = &v @@ -8535,6 +8553,9 @@ func (s *GatewayRouteStatus) SetStatus(v string) *GatewayRouteStatus { type GatewayRouteTarget struct { _ struct{} `type:"structure"` + // The port number of the gateway route target. + Port *int64 `locationName:"port" min:"1" type:"integer"` + // An object that represents a virtual service gateway route target. // // VirtualService is a required field @@ -8562,6 +8583,9 @@ func (s GatewayRouteTarget) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *GatewayRouteTarget) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GatewayRouteTarget"} + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } if s.VirtualService == nil { invalidParams.Add(request.NewErrParamRequired("VirtualService")) } @@ -8577,6 +8601,12 @@ func (s *GatewayRouteTarget) Validate() error { return nil } +// SetPort sets the Port field's value. +func (s *GatewayRouteTarget) SetPort(v int64) *GatewayRouteTarget { + s.Port = &v + return s +} + // SetVirtualService sets the VirtualService field's value. func (s *GatewayRouteTarget) SetVirtualService(v *GatewayRouteVirtualService) *GatewayRouteTarget { s.VirtualService = v @@ -8776,6 +8806,9 @@ type GrpcGatewayRouteMatch struct { // The gateway route metadata to be matched on. Metadata []*GrpcGatewayRouteMetadata `locationName:"metadata" min:"1" type:"list"` + // The port number to match from the request. + Port *int64 `locationName:"port" min:"1" type:"integer"` + // The fully qualified domain name for the service to match from the request. ServiceName *string `locationName:"serviceName" type:"string"` } @@ -8804,6 +8837,9 @@ func (s *GrpcGatewayRouteMatch) Validate() error { if s.Metadata != nil && len(s.Metadata) < 1 { invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } if s.Hostname != nil { if err := s.Hostname.Validate(); err != nil { invalidParams.AddNested("Hostname", err.(request.ErrInvalidParams)) @@ -8838,6 +8874,12 @@ func (s *GrpcGatewayRouteMatch) SetMetadata(v []*GrpcGatewayRouteMetadata) *Grpc return s } +// SetPort sets the Port field's value. +func (s *GrpcGatewayRouteMatch) SetPort(v int64) *GrpcGatewayRouteMatch { + s.Port = &v + return s +} + // SetServiceName sets the ServiceName field's value. func (s *GrpcGatewayRouteMatch) SetServiceName(v string) *GrpcGatewayRouteMatch { s.ServiceName = &v @@ -9326,6 +9368,9 @@ type GrpcRouteMatch struct { // also specify a serviceName. MethodName *string `locationName:"methodName" min:"1" type:"string"` + // The port number to match on. + Port *int64 `locationName:"port" min:"1" type:"integer"` + // The fully qualified domain name for the service to match from the request. ServiceName *string `locationName:"serviceName" type:"string"` } @@ -9357,6 +9402,9 @@ func (s *GrpcRouteMatch) Validate() error { if s.MethodName != nil && len(*s.MethodName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MethodName", 1)) } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } if s.Metadata != nil { for i, v := range s.Metadata { if v == nil { @@ -9386,6 +9434,12 @@ func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch { return s } +// SetPort sets the Port field's value. +func (s *GrpcRouteMatch) SetPort(v int64) *GrpcRouteMatch { + s.Port = &v + return s +} + // SetServiceName sets the ServiceName field's value. func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch { s.ServiceName = &v @@ -10076,6 +10130,9 @@ type HttpGatewayRouteMatch struct { // The path to match on. Path *HttpPathMatch `locationName:"path" type:"structure"` + // The port number to match on. + Port *int64 `locationName:"port" min:"1" type:"integer"` + // Specifies the path to match requests with. This parameter must always start // with /, which by itself matches all requests to the virtual service name. // You can also match for path-based routing of requests. For example, if your @@ -10111,6 +10168,9 @@ func (s *HttpGatewayRouteMatch) Validate() error { if s.Headers != nil && len(s.Headers) < 1 { invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } if s.QueryParameters != nil && len(s.QueryParameters) < 1 { invalidParams.Add(request.NewErrParamMinLen("QueryParameters", 1)) } @@ -10175,6 +10235,12 @@ func (s *HttpGatewayRouteMatch) SetPath(v *HttpPathMatch) *HttpGatewayRouteMatch return s } +// SetPort sets the Port field's value. +func (s *HttpGatewayRouteMatch) SetPort(v int64) *HttpGatewayRouteMatch { + s.Port = &v + return s +} + // SetPrefix sets the Prefix field's value. func (s *HttpGatewayRouteMatch) SetPrefix(v string) *HttpGatewayRouteMatch { s.Prefix = &v @@ -10812,6 +10878,9 @@ type HttpRouteMatch struct { // The client request path to match on. Path *HttpPathMatch `locationName:"path" type:"structure"` + // The port number to match on. + Port *int64 `locationName:"port" min:"1" type:"integer"` + // Specifies the path to match requests with. This parameter must always start // with /, which by itself matches all requests to the virtual service name. // You can also match for path-based routing of requests. For example, if your @@ -10851,6 +10920,9 @@ func (s *HttpRouteMatch) Validate() error { if s.Headers != nil && len(s.Headers) < 1 { invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } if s.QueryParameters != nil && len(s.QueryParameters) < 1 { invalidParams.Add(request.NewErrParamMinLen("QueryParameters", 1)) } @@ -10904,6 +10976,12 @@ func (s *HttpRouteMatch) SetPath(v *HttpPathMatch) *HttpRouteMatch { return s } +// SetPort sets the Port field's value. +func (s *HttpRouteMatch) SetPort(v int64) *HttpRouteMatch { + s.Port = &v + return s +} + // SetPrefix sets the Prefix field's value. func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { s.Prefix = &v @@ -11034,6 +11112,73 @@ func (s *InternalServerErrorException) RequestID() string { return s.RespMetadata.RequestID } +// An object that represents the key value pairs for the JSON. +type JsonFormatRef struct { + _ struct{} `type:"structure"` + + // The specified key for the JSON. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + // The specified value for the JSON. + // + // Value is a required field + Value *string `locationName:"value" 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 JsonFormatRef) 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 JsonFormatRef) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JsonFormatRef) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JsonFormatRef"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *JsonFormatRef) SetKey(v string) *JsonFormatRef { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *JsonFormatRef) SetValue(v string) *JsonFormatRef { + s.Value = &v + return s +} + // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. @@ -12894,6 +13039,68 @@ func (s *Logging) SetAccessLog(v *AccessLog) *Logging { return s } +// An object that represents the format for the logs. +type LoggingFormat struct { + _ struct{} `type:"structure"` + + Json []*JsonFormatRef `locationName:"json" type:"list"` + + Text *string `locationName:"text" 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 LoggingFormat) 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 LoggingFormat) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LoggingFormat) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LoggingFormat"} + if s.Text != nil && len(*s.Text) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Text", 1)) + } + if s.Json != nil { + for i, v := range s.Json { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Json", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJson sets the Json field's value. +func (s *LoggingFormat) SetJson(v []*JsonFormatRef) *LoggingFormat { + s.Json = v + return s +} + +// SetText sets the Text field's value. +func (s *LoggingFormat) SetText(v string) *LoggingFormat { + s.Text = &v + return s +} + // An object that represents the range of values to match on. The first character // of the range is included in the range, though the last character is not. // For example, if the range specified were 1-100, only values 1-99 would be @@ -14428,6 +14635,9 @@ type TcpRoute struct { // Action is a required field Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` + // An object that represents the criteria for determining a request match. + Match *TcpRouteMatch `locationName:"match" type:"structure"` + // An object that represents types of timeouts. Timeout *TcpTimeout `locationName:"timeout" type:"structure"` } @@ -14461,6 +14671,11 @@ func (s *TcpRoute) Validate() error { invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -14474,6 +14689,12 @@ func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { return s } +// SetMatch sets the Match field's value. +func (s *TcpRoute) SetMatch(v *TcpRouteMatch) *TcpRoute { + s.Match = v + return s +} + // SetTimeout sets the Timeout field's value. func (s *TcpRoute) SetTimeout(v *TcpTimeout) *TcpRoute { s.Timeout = v @@ -14541,6 +14762,51 @@ func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction return s } +// An object representing the TCP route to match. +type TcpRouteMatch struct { + _ struct{} `type:"structure"` + + // The port number to match on. + Port *int64 `locationName:"port" min:"1" 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 TcpRouteMatch) 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 TcpRouteMatch) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TcpRouteMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TcpRouteMatch"} + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPort sets the Port field's value. +func (s *TcpRouteMatch) SetPort(v int64) *TcpRouteMatch { + s.Port = &v + return s +} + // An object that represents types of timeouts. type TcpTimeout struct { _ struct{} `type:"structure"` @@ -14580,7 +14846,13 @@ type TlsValidationContext struct { _ struct{} `type:"structure"` // A reference to an object that represents the SANs for a Transport Layer Security - // (TLS) validation context. + // (TLS) validation context. If you don't specify SANs on the terminating mesh + // endpoint, the Envoy proxy for that node doesn't verify the SAN on a peer + // client certificate. If you don't specify SANs on the originating mesh endpoint, + // the SAN on the certificate provided by the terminating endpoint must match + // the mesh endpoint service discovery configuration. Since SPIRE vended certificates + // have a SPIFFE ID as a name, you must set the SAN since the name doesn't match + // the service discovery name. SubjectAlternativeNames *SubjectAlternativeNames `locationName:"subjectAlternativeNames" type:"structure"` // A reference to where to retrieve the trust chain when validating a peer’s @@ -16548,6 +16820,10 @@ func (s *VirtualGatewayData) SetVirtualGatewayName(v string) *VirtualGatewayData type VirtualGatewayFileAccessLog struct { _ struct{} `type:"structure"` + // The specified format for the virtual gateway access logs. It can be either + // json_format or text_format. + Format *LoggingFormat `locationName:"format" type:"structure"` + // The file path to write access logs to. You can use /dev/stdout to send access // logs to standard out and configure your Envoy container to use a log driver, // such as awslogs, to export the access logs to a log storage service such @@ -16585,6 +16861,11 @@ func (s *VirtualGatewayFileAccessLog) Validate() error { if s.Path != nil && len(*s.Path) < 1 { invalidParams.Add(request.NewErrParamMinLen("Path", 1)) } + if s.Format != nil { + if err := s.Format.Validate(); err != nil { + invalidParams.AddNested("Format", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -16592,6 +16873,12 @@ func (s *VirtualGatewayFileAccessLog) Validate() error { return nil } +// SetFormat sets the Format field's value. +func (s *VirtualGatewayFileAccessLog) SetFormat(v *LoggingFormat) *VirtualGatewayFileAccessLog { + s.Format = v + return s +} + // SetPath sets the Path field's value. func (s *VirtualGatewayFileAccessLog) SetPath(v string) *VirtualGatewayFileAccessLog { s.Path = &v @@ -19623,6 +19910,9 @@ func (s *VirtualServiceStatus) SetStatus(v string) *VirtualServiceStatus { type WeightedTarget struct { _ struct{} `type:"structure"` + // The targeted port of the weighted object. + Port *int64 `locationName:"port" min:"1" type:"integer"` + // The virtual node to associate with the weighted target. // // VirtualNode is a required field @@ -19655,6 +19945,9 @@ func (s WeightedTarget) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *WeightedTarget) Validate() error { invalidParams := request.ErrInvalidParams{Context: "WeightedTarget"} + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } if s.VirtualNode == nil { invalidParams.Add(request.NewErrParamRequired("VirtualNode")) } @@ -19671,6 +19964,12 @@ func (s *WeightedTarget) Validate() error { return nil } +// SetPort sets the Port field's value. +func (s *WeightedTarget) SetPort(v int64) *WeightedTarget { + s.Port = &v + return s +} + // SetVirtualNode sets the VirtualNode field's value. func (s *WeightedTarget) SetVirtualNode(v string) *WeightedTarget { s.VirtualNode = &v diff --git a/service/connectcampaigns/api.go b/service/connectcampaigns/api.go index 274bd8be5fe..c82a57e1459 100644 --- a/service/connectcampaigns/api.go +++ b/service/connectcampaigns/api.go @@ -537,6 +537,9 @@ func (c *ConnectCampaigns) GetCampaignStateRequest(input *GetCampaignStateInput) // - ResourceNotFoundException // The specified resource was not found. // +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// // - AccessDeniedException // You do not have sufficient access to perform this action. // @@ -1124,6 +1127,9 @@ func (c *ConnectCampaigns) PauseCampaignRequest(input *PauseCampaignInput) (req // - ResourceNotFoundException // The specified resource was not found. // +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. @@ -1321,6 +1327,9 @@ func (c *ConnectCampaigns) ResumeCampaignRequest(input *ResumeCampaignInput) (re // - ResourceNotFoundException // The specified resource was not found. // +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. @@ -1418,6 +1427,9 @@ func (c *ConnectCampaigns) StartCampaignRequest(input *StartCampaignInput) (req // - ResourceNotFoundException // The specified resource was not found. // +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. @@ -1610,6 +1622,9 @@ func (c *ConnectCampaigns) StopCampaignRequest(input *StopCampaignInput) (req *r // - ResourceNotFoundException // The specified resource was not found. // +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// // - ConflictException // The request could not be processed because of conflict in the current state // of the resource. diff --git a/service/kendra/api.go b/service/kendra/api.go index 60efb8011c6..93840f6ebe5 100644 --- a/service/kendra/api.go +++ b/service/kendra/api.go @@ -6319,7 +6319,7 @@ func (s *AccessControlConfigurationSummary) SetId(v string) *AccessControlConfig type AccessControlListConfiguration struct { _ struct{} `type:"structure"` - // Path to the Amazon Web Services S3 bucket that contains the ACL files. + // Path to the Amazon S3 bucket that contains the ACL files. KeyPath *string `min:"1" type:"string"` } @@ -8961,6 +8961,25 @@ type ConfluenceConfiguration struct { // Configuration information for indexing Confluence pages. PageConfiguration *ConfluencePageConfiguration `type:"structure"` + // Configuration information to connect to your Confluence URL instance via + // a web proxy. You can use this option for Confluence Server. + // + // You must provide the website host name and port number. For example, the + // host name of https://a.example.com/page1.html is "a.example.com" and the + // port is 443, the standard port for HTTPS. + // + // Web proxy credentials are optional and you can use them to connect to a web + // proxy server that requires basic authentication of user name and password. + // To store web proxy credentials, you use a secret in Secrets Manager. + // + // It is recommended that you follow best security practices when configuring + // your web proxy. This includes setting up throttling, setting up logging and + // monitoring, and applying security patches on a regular basis. If you use + // your web proxy with multiple data sources, sync jobs that occur at the same + // time could strain the load on your proxy. It is recommended you prepare your + // proxy beforehand for any security and load requirements. + ProxyConfiguration *ProxyConfiguration `type:"structure"` + // The Amazon Resource Name (ARN) of an Secrets Manager secret that contains // the user name and password required to connect to the Confluence instance. // If you use Confluence cloud, you use a generated API token as the password. @@ -9040,6 +9059,11 @@ func (s *ConfluenceConfiguration) Validate() error { invalidParams.AddNested("PageConfiguration", err.(request.ErrInvalidParams)) } } + if s.ProxyConfiguration != nil { + if err := s.ProxyConfiguration.Validate(); err != nil { + invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) + } + } if s.SpaceConfiguration != nil { if err := s.SpaceConfiguration.Validate(); err != nil { invalidParams.AddNested("SpaceConfiguration", err.(request.ErrInvalidParams)) @@ -9087,6 +9111,12 @@ func (s *ConfluenceConfiguration) SetPageConfiguration(v *ConfluencePageConfigur return s } +// SetProxyConfiguration sets the ProxyConfiguration field's value. +func (s *ConfluenceConfiguration) SetProxyConfiguration(v *ProxyConfiguration) *ConfluenceConfiguration { + s.ProxyConfiguration = v + return s +} + // SetSecretArn sets the SecretArn field's value. func (s *ConfluenceConfiguration) SetSecretArn(v string) *ConfluenceConfiguration { s.SecretArn = &v @@ -9897,8 +9927,7 @@ type CreateDataSourceInput struct { // documents in languages other than English (https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html). LanguageCode *string `min:"2" type:"string"` - // A unique name for the data source connector. A data source name can't be - // changed without deleting and recreating the data source connector. + // A name for the data source connector. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -9930,6 +9959,10 @@ type CreateDataSourceInput struct { // // Type is a required field Type *string `type:"string" required:"true" enum:"DataSourceType"` + + // Configuration information for an Amazon Virtual Private Cloud to connect + // to your data source. For more information, see Configuring a VPC (https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html). + VpcConfiguration *DataSourceVpcConfiguration `type:"structure"` } // String returns the string representation. @@ -9994,6 +10027,11 @@ func (s *CreateDataSourceInput) Validate() error { } } } + if s.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -10067,6 +10105,12 @@ func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput { return s } +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *CreateDataSourceInput) SetVpcConfiguration(v *DataSourceVpcConfiguration) *CreateDataSourceInput { + s.VpcConfiguration = v + return s +} + type CreateDataSourceOutput struct { _ struct{} `type:"structure"` @@ -11215,6 +11259,10 @@ type DataSourceConfiguration struct { // Provides the configuration information to connect to Slack as your data source. SlackConfiguration *SlackConfiguration `type:"structure"` + // Provides a template for the configuration information to connect to your + // data source. + TemplateConfiguration *TemplateConfiguration `type:"structure"` + // Provides the configuration information required for Amazon Kendra Web Crawler. WebCrawlerConfiguration *WebCrawlerConfiguration `type:"structure"` @@ -11426,6 +11474,12 @@ func (s *DataSourceConfiguration) SetSlackConfiguration(v *SlackConfiguration) * return s } +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *DataSourceConfiguration) SetTemplateConfiguration(v *TemplateConfiguration) *DataSourceConfiguration { + s.TemplateConfiguration = v + return s +} + // SetWebCrawlerConfiguration sets the WebCrawlerConfiguration field's value. func (s *DataSourceConfiguration) SetWebCrawlerConfiguration(v *WebCrawlerConfiguration) *DataSourceConfiguration { s.WebCrawlerConfiguration = v @@ -13096,7 +13150,7 @@ type DescribeDataSourceOutput struct { // other than English (https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html). LanguageCode *string `min:"2" type:"string"` - // The name that you gave the data source when it was created. + // The name for the data source. Name *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the role that enables the data source to @@ -13116,6 +13170,10 @@ type DescribeDataSourceOutput struct { // The Unix timestamp of when the data source was last updated. UpdatedAt *time.Time `type:"timestamp"` + + // Configuration information for an Amazon Virtual Private Cloud to connect + // to your data source. For more information, see Configuring a VPC (https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html). + VpcConfiguration *DataSourceVpcConfiguration `type:"structure"` } // String returns the string representation. @@ -13220,6 +13278,12 @@ func (s *DescribeDataSourceOutput) SetUpdatedAt(v time.Time) *DescribeDataSource return s } +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *DescribeDataSourceOutput) SetVpcConfiguration(v *DataSourceVpcConfiguration) *DescribeDataSourceOutput { + s.VpcConfiguration = v + return s +} + type DescribeExperienceInput struct { _ struct{} `type:"structure"` @@ -21761,7 +21825,8 @@ type QuipConfiguration struct { // takes precedence, and the file isn't included in the index. ExclusionPatterns []*string `type:"list"` - // The identifiers of the Quip folders you want to index. + // The identifiers of the Quip folders you want to index. You can find in your + // browser URL when you access your folder in Quip. For example, https://quip-company.com/zlLuOVNSarTL/folder-name. FolderIds []*string `type:"list"` // A list of regular expression patterns to include certain files in your Quip @@ -24169,6 +24234,25 @@ type SharePointConfiguration struct { // The regex applies to the display URL of the SharePoint document. InclusionPatterns []*string `type:"list"` + // Configuration information to connect to your Microsoft SharePoint site URLs + // via instance via a web proxy. You can use this option for SharePoint Server. + // + // You must provide the website host name and port number. For example, the + // host name of https://a.example.com/page1.html is "a.example.com" and the + // port is 443, the standard port for HTTPS. + // + // Web proxy credentials are optional and you can use them to connect to a web + // proxy server that requires basic authentication of user name and password. + // To store web proxy credentials, you use a secret in Secrets Manager. + // + // It is recommended that you follow best security practices when configuring + // your web proxy. This includes setting up throttling, setting up logging and + // monitoring, and applying security patches on a regular basis. If you use + // your web proxy with multiple data sources, sync jobs that occur at the same + // time could strain the load on your proxy. It is recommended you prepare your + // proxy beforehand for any security and load requirements. + ProxyConfiguration *ProxyConfiguration `type:"structure"` + // The Amazon Resource Name (ARN) of an Secrets Manager secret that contains // the user name and password required to connect to the SharePoint instance. // If you use SharePoint Server, you also need to provide the sever domain name @@ -24260,6 +24344,11 @@ func (s *SharePointConfiguration) Validate() error { } } } + if s.ProxyConfiguration != nil { + if err := s.ProxyConfiguration.Validate(); err != nil { + invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) + } + } if s.SslCertificateS3Path != nil { if err := s.SslCertificateS3Path.Validate(); err != nil { invalidParams.AddNested("SslCertificateS3Path", err.(request.ErrInvalidParams)) @@ -24319,6 +24408,12 @@ func (s *SharePointConfiguration) SetInclusionPatterns(v []*string) *SharePointC return s } +// SetProxyConfiguration sets the ProxyConfiguration field's value. +func (s *SharePointConfiguration) SetProxyConfiguration(v *ProxyConfiguration) *SharePointConfiguration { + s.ProxyConfiguration = v + return s +} + // SetSecretArn sets the SecretArn field's value. func (s *SharePointConfiguration) SetSecretArn(v string) *SharePointConfiguration { s.SecretArn = &v @@ -25591,6 +25686,30 @@ func (s TagResourceOutput) GoString() string { return s.String() } +// Provides a template for the configuration information to connect to your +// data source. +type TemplateConfiguration 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 TemplateConfiguration) 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 TemplateConfiguration) GoString() string { + return s.String() +} + // Provides information about text documents indexed in an index. type TextDocumentStatistics struct { _ struct{} `type:"structure"` @@ -26125,8 +26244,7 @@ type UpdateDataSourceInput struct { // than English (https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html). LanguageCode *string `min:"2" type:"string"` - // A new name for the data source connector. You must first delete the data - // source and re-create it to change the name of the data source. + // A new name for the data source connector. Name *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of a role with permission to access the data @@ -26135,6 +26253,10 @@ type UpdateDataSourceInput struct { // The sync schedule you want to update for the data source connector. Schedule *string `type:"string"` + + // Configuration information for an Amazon Virtual Private Cloud to connect + // to your data source. For more information, see Configuring a VPC (https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html). + VpcConfiguration *DataSourceVpcConfiguration `type:"structure"` } // String returns the string representation. @@ -26186,6 +26308,11 @@ func (s *UpdateDataSourceInput) Validate() error { invalidParams.AddNested("CustomDocumentEnrichmentConfiguration", err.(request.ErrInvalidParams)) } } + if s.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -26247,6 +26374,12 @@ func (s *UpdateDataSourceInput) SetSchedule(v string) *UpdateDataSourceInput { return s } +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *UpdateDataSourceInput) SetVpcConfiguration(v *DataSourceVpcConfiguration) *UpdateDataSourceInput { + s.VpcConfiguration = v + return s +} + type UpdateDataSourceOutput struct { _ struct{} `type:"structure"` } @@ -28263,6 +28396,9 @@ const ( // DataSourceTypeAlfresco is a DataSourceType enum value DataSourceTypeAlfresco = "ALFRESCO" + + // DataSourceTypeTemplate is a DataSourceType enum value + DataSourceTypeTemplate = "TEMPLATE" ) // DataSourceType_Values returns all elements of the DataSourceType enum @@ -28286,6 +28422,7 @@ func DataSourceType_Values() []string { DataSourceTypeJira, DataSourceTypeGithub, DataSourceTypeAlfresco, + DataSourceTypeTemplate, } } diff --git a/service/lakeformation/api.go b/service/lakeformation/api.go index 813bbf4369d..971f1699de8 100644 --- a/service/lakeformation/api.go +++ b/service/lakeformation/api.go @@ -108,6 +108,109 @@ func (c *LakeFormation) AddLFTagsToResourceWithContext(ctx aws.Context, input *A return out, req.Send() } +const opAssumeDecoratedRoleWithSAML = "AssumeDecoratedRoleWithSAML" + +// AssumeDecoratedRoleWithSAMLRequest generates a "aws/request.Request" representing the +// client's request for the AssumeDecoratedRoleWithSAML 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 AssumeDecoratedRoleWithSAML for more information on using the AssumeDecoratedRoleWithSAML +// 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 AssumeDecoratedRoleWithSAMLRequest method. +// req, resp := client.AssumeDecoratedRoleWithSAMLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AssumeDecoratedRoleWithSAML +func (c *LakeFormation) AssumeDecoratedRoleWithSAMLRequest(input *AssumeDecoratedRoleWithSAMLInput) (req *request.Request, output *AssumeDecoratedRoleWithSAMLOutput) { + op := &request.Operation{ + Name: opAssumeDecoratedRoleWithSAML, + HTTPMethod: "POST", + HTTPPath: "/AssumeDecoratedRoleWithSAML", + } + + if input == nil { + input = &AssumeDecoratedRoleWithSAMLInput{} + } + + output = &AssumeDecoratedRoleWithSAMLOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssumeDecoratedRoleWithSAML API operation for AWS Lake Formation. +// +// Allows a caller to assume an IAM role decorated as the SAML user specified +// in the SAML assertion included in the request. This decoration allows Lake +// Formation to enforce access policies against the SAML users and groups. This +// API operation requires SAML federation setup in the caller’s account as +// it can only be called with valid SAML assertions. Lake Formation does not +// scope down the permission of the assumed role. All permissions attached to +// the role via the SAML federation setup will be included in the role session. +// +// This decorated role is expected to access data in Amazon S3 by getting temporary +// access from Lake Formation which is authorized via the virtual API GetDataAccess. +// Therefore, all SAML roles that can be assumed via AssumeDecoratedRoleWithSAML +// must at a minimum include lakeformation:GetDataAccess in their role policies. +// A typical IAM policy attached to such a role would look as follows: +// +// 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 Lake Formation's +// API operation AssumeDecoratedRoleWithSAML for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// The input provided was not valid. +// +// - InternalServiceException +// An internal service error occurred. +// +// - OperationTimeoutException +// The operation timed out. +// +// - EntityNotFoundException +// A specified entity does not exist +// +// - AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AssumeDecoratedRoleWithSAML +func (c *LakeFormation) AssumeDecoratedRoleWithSAML(input *AssumeDecoratedRoleWithSAMLInput) (*AssumeDecoratedRoleWithSAMLOutput, error) { + req, out := c.AssumeDecoratedRoleWithSAMLRequest(input) + return out, req.Send() +} + +// AssumeDecoratedRoleWithSAMLWithContext is the same as AssumeDecoratedRoleWithSAML with the addition of +// the ability to pass a context and additional request options. +// +// See AssumeDecoratedRoleWithSAML 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 *LakeFormation) AssumeDecoratedRoleWithSAMLWithContext(ctx aws.Context, input *AssumeDecoratedRoleWithSAMLInput, opts ...request.Option) (*AssumeDecoratedRoleWithSAMLOutput, error) { + req, out := c.AssumeDecoratedRoleWithSAMLRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchGrantPermissions = "BatchGrantPermissions" // BatchGrantPermissionsRequest generates a "aws/request.Request" representing the @@ -799,12 +902,11 @@ func (c *LakeFormation) DeleteLFTagRequest(input *DeleteLFTagInput) (req *reques // DeleteLFTag API operation for AWS Lake Formation. // -// Deletes the specified LF-tag key name. If the attribute key does not exist -// or the LF-tag does not exist, then the operation will not do anything. If -// the attribute key exists, then the operation checks if any resources are -// tagged with this attribute key, if yes, the API throws a 400 Exception with -// the message "Delete not allowed" as the LF-tag key is still attached with -// resources. You can consider untagging resources with this LF-tag key. +// Deletes the specified LF-tag given a key name. If the input parameter tag +// key was not found, then the operation will throw an exception. When you delete +// an LF-tag, the LFTagPolicy attached to the LF-tag becomes invalid. If the +// deleted LF-tag was still assigned to any resource, the tag policy attach +// to the deleted LF-tag will no longer be applied to the resource. // // 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 @@ -5145,6 +5247,161 @@ func (s *AlreadyExistsException) RequestID() string { return s.RespMetadata.RequestID } +type AssumeDecoratedRoleWithSAMLInput struct { + _ struct{} `type:"structure"` + + // The time period, between 900 and 43,200 seconds, for the timeout of the temporary + // credentials. + DurationSeconds *int64 `min:"900" type:"integer"` + + // The Amazon Resource Name (ARN) of the SAML provider in IAM that describes + // the IdP. + // + // PrincipalArn is a required field + PrincipalArn *string `type:"string" required:"true"` + + // The role that represents an IAM principal whose scope down policy allows + // it to call credential vending APIs such as GetTemporaryTableCredentials. + // The caller must also have iam:PassRole permission on this role. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` + + // A SAML assertion consisting of an assertion statement for the user who needs + // temporary credentials. This must match the SAML assertion that was issued + // to IAM. This must be Base64 encoded. + // + // SAMLAssertion is a required field + SAMLAssertion *string `min:"4" 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 AssumeDecoratedRoleWithSAMLInput) 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 AssumeDecoratedRoleWithSAMLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssumeDecoratedRoleWithSAMLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssumeDecoratedRoleWithSAMLInput"} + if s.DurationSeconds != nil && *s.DurationSeconds < 900 { + invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) + } + if s.PrincipalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalArn")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.SAMLAssertion == nil { + invalidParams.Add(request.NewErrParamRequired("SAMLAssertion")) + } + if s.SAMLAssertion != nil && len(*s.SAMLAssertion) < 4 { + invalidParams.Add(request.NewErrParamMinLen("SAMLAssertion", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDurationSeconds sets the DurationSeconds field's value. +func (s *AssumeDecoratedRoleWithSAMLInput) SetDurationSeconds(v int64) *AssumeDecoratedRoleWithSAMLInput { + s.DurationSeconds = &v + return s +} + +// SetPrincipalArn sets the PrincipalArn field's value. +func (s *AssumeDecoratedRoleWithSAMLInput) SetPrincipalArn(v string) *AssumeDecoratedRoleWithSAMLInput { + s.PrincipalArn = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AssumeDecoratedRoleWithSAMLInput) SetRoleArn(v string) *AssumeDecoratedRoleWithSAMLInput { + s.RoleArn = &v + return s +} + +// SetSAMLAssertion sets the SAMLAssertion field's value. +func (s *AssumeDecoratedRoleWithSAMLInput) SetSAMLAssertion(v string) *AssumeDecoratedRoleWithSAMLInput { + s.SAMLAssertion = &v + return s +} + +type AssumeDecoratedRoleWithSAMLOutput struct { + _ struct{} `type:"structure"` + + // The access key ID for the temporary credentials. (The access key consists + // of an access key ID and a secret key). + AccessKeyId *string `type:"string"` + + // The date and time when the temporary credentials expire. + Expiration *time.Time `type:"timestamp"` + + // The secret key for the temporary credentials. (The access key consists of + // an access key ID and a secret key). + SecretAccessKey *string `type:"string"` + + // The session token for the temporary credentials. + SessionToken *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 AssumeDecoratedRoleWithSAMLOutput) 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 AssumeDecoratedRoleWithSAMLOutput) GoString() string { + return s.String() +} + +// SetAccessKeyId sets the AccessKeyId field's value. +func (s *AssumeDecoratedRoleWithSAMLOutput) SetAccessKeyId(v string) *AssumeDecoratedRoleWithSAMLOutput { + s.AccessKeyId = &v + return s +} + +// SetExpiration sets the Expiration field's value. +func (s *AssumeDecoratedRoleWithSAMLOutput) SetExpiration(v time.Time) *AssumeDecoratedRoleWithSAMLOutput { + s.Expiration = &v + return s +} + +// SetSecretAccessKey sets the SecretAccessKey field's value. +func (s *AssumeDecoratedRoleWithSAMLOutput) SetSecretAccessKey(v string) *AssumeDecoratedRoleWithSAMLOutput { + s.SecretAccessKey = &v + return s +} + +// SetSessionToken sets the SessionToken field's value. +func (s *AssumeDecoratedRoleWithSAMLOutput) SetSessionToken(v string) *AssumeDecoratedRoleWithSAMLOutput { + s.SessionToken = &v + return s +} + // A structure used to include auditing information on the privileged API. type AuditContext struct { _ struct{} `type:"structure"` diff --git a/service/lakeformation/lakeformationiface/interface.go b/service/lakeformation/lakeformationiface/interface.go index 9ead7559d73..94b6f27eae6 100644 --- a/service/lakeformation/lakeformationiface/interface.go +++ b/service/lakeformation/lakeformationiface/interface.go @@ -64,6 +64,10 @@ type LakeFormationAPI interface { AddLFTagsToResourceWithContext(aws.Context, *lakeformation.AddLFTagsToResourceInput, ...request.Option) (*lakeformation.AddLFTagsToResourceOutput, error) AddLFTagsToResourceRequest(*lakeformation.AddLFTagsToResourceInput) (*request.Request, *lakeformation.AddLFTagsToResourceOutput) + AssumeDecoratedRoleWithSAML(*lakeformation.AssumeDecoratedRoleWithSAMLInput) (*lakeformation.AssumeDecoratedRoleWithSAMLOutput, error) + AssumeDecoratedRoleWithSAMLWithContext(aws.Context, *lakeformation.AssumeDecoratedRoleWithSAMLInput, ...request.Option) (*lakeformation.AssumeDecoratedRoleWithSAMLOutput, error) + AssumeDecoratedRoleWithSAMLRequest(*lakeformation.AssumeDecoratedRoleWithSAMLInput) (*request.Request, *lakeformation.AssumeDecoratedRoleWithSAMLOutput) + BatchGrantPermissions(*lakeformation.BatchGrantPermissionsInput) (*lakeformation.BatchGrantPermissionsOutput, error) BatchGrantPermissionsWithContext(aws.Context, *lakeformation.BatchGrantPermissionsInput, ...request.Option) (*lakeformation.BatchGrantPermissionsOutput, error) BatchGrantPermissionsRequest(*lakeformation.BatchGrantPermissionsInput) (*request.Request, *lakeformation.BatchGrantPermissionsOutput) diff --git a/service/lambda/api.go b/service/lambda/api.go index 1e3733bdfbb..1f9855218e4 100644 --- a/service/lambda/api.go +++ b/service/lambda/api.go @@ -462,7 +462,7 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // CreateEventSourceMapping API operation for AWS Lambda. // // Creates a mapping between an event source and an Lambda function. Lambda -// reads items from the event source and triggers the function. +// reads items from the event source and invokes the function. // // For details about how to configure different event sources, see the following // topics. @@ -479,7 +479,7 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // // - Apache Kafka (https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) // -// The following error handling options are only available for stream sources +// The following error handling options are available only for stream sources // (DynamoDB and Kinesis): // // - BisectBatchOnFunctionError - If the function returns an error, split @@ -3151,7 +3151,8 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // with timeout or keep-alive settings. // // This operation requires permission for the lambda:InvokeFunction (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html) -// action. +// action. For details on how to set up permissions for cross-account invocations, +// see Granting function access to other accounts (https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html#permissions-resource-xaccountinvoke). // // 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 @@ -3714,7 +3715,7 @@ func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsIn // ListEventSourceMappings API operation for AWS Lambda. // -// Lists event source mappings. Specify an EventSourceArn to only show event +// Lists event source mappings. Specify an EventSourceArn to show only event // source mappings for a single event source. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6297,7 +6298,7 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping // // - Apache Kafka (https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) // -// The following error handling options are only available for stream sources +// The following error handling options are available only for stream sources // (DynamoDB and Kinesis): // // - BisectBatchOnFunctionError - If the function returns an error, split @@ -7495,6 +7496,55 @@ func (s *AllowedPublishers) SetSigningProfileVersionArns(v []*string) *AllowedPu return s } +// Specific configuration settings for an Amazon Managed Streaming for Apache +// Kafka (Amazon MSK) event source. +type AmazonManagedKafkaEventSourceConfig struct { + _ struct{} `type:"structure"` + + // The identifier for the Kafka consumer group to join. The consumer group ID + // must be unique among all your Kafka event sources. After creating a Kafka + // event source mapping with the consumer group ID specified, you cannot update + // this value. For more information, see services-msk-consumer-group-id. + ConsumerGroupId *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 AmazonManagedKafkaEventSourceConfig) 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 AmazonManagedKafkaEventSourceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AmazonManagedKafkaEventSourceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmazonManagedKafkaEventSourceConfig"} + if s.ConsumerGroupId != nil && len(*s.ConsumerGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConsumerGroupId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConsumerGroupId sets the ConsumerGroupId field's value. +func (s *AmazonManagedKafkaEventSourceConfig) SetConsumerGroupId(v string) *AmazonManagedKafkaEventSourceConfig { + s.ConsumerGroupId = &v + return s +} + // Details about a Code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). type CodeSigningConfig struct { _ struct{} `type:"structure"` @@ -8133,6 +8183,10 @@ func (s *CreateCodeSigningConfigOutput) SetCodeSigningConfig(v *CodeSigningConfi type CreateEventSourceMappingInput struct { _ struct{} `type:"structure"` + // Specific configuration settings for an Amazon Managed Streaming for Apache + // Kafka (Amazon MSK) event source. + AmazonManagedKafkaEventSourceConfig *AmazonManagedKafkaEventSourceConfig `type:"structure"` + // The maximum number of records in each batch that Lambda pulls from your stream // or queue and sends to your function. Lambda passes all of the records in // the batch to the function in a single call, up to the payload limit for synchronous @@ -8147,7 +8201,7 @@ type CreateEventSourceMappingInput struct { // // * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000. // - // * Self-Managed Apache Kafka - Default 100. Max 10,000. + // * Self-managed Apache Kafka - Default 100. Max 10,000. // // * Amazon MQ (ActiveMQ and RabbitMQ) - Default 100. Max 10,000. BatchSize *int64 `min:"1" type:"integer"` @@ -8219,7 +8273,7 @@ type CreateEventSourceMappingInput struct { // (Streams only) Discard records after the specified number of retries. The // default value is infinite (-1). When set to infinite (-1), failed records - // will be retried until the record expires. + // are retried until the record expires. MaximumRetryAttempts *int64 `type:"integer"` // (Streams only) The number of batches to process from each shard concurrently. @@ -8228,16 +8282,19 @@ type CreateEventSourceMappingInput struct { // (MQ) The name of the Amazon MQ broker destination queue to consume. Queues []*string `min:"1" type:"list"` - // The Self-Managed Apache Kafka cluster to send records. + // The self-managed Apache Kafka cluster to receive records from. SelfManagedEventSource *SelfManagedEventSource `type:"structure"` + // Specific configuration settings for a self-managed Apache Kafka event source. + SelfManagedKafkaEventSourceConfig *SelfManagedKafkaEventSourceConfig `type:"structure"` + // An array of authentication protocols or VPC components required to secure // your event source. SourceAccessConfigurations []*SourceAccessConfiguration `type:"list"` // The position in a stream from which to start reading. Required for Amazon // Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is - // only supported for Amazon Kinesis streams. + // supported only for Amazon Kinesis streams. StartingPosition *string `type:"string" enum:"EventSourcePosition"` // With StartingPosition set to AT_TIMESTAMP, the time from which to start reading. @@ -8247,7 +8304,7 @@ type CreateEventSourceMappingInput struct { Topics []*string `min:"1" type:"list"` // (Streams only) The duration in seconds of a processing window. The range - // is between 1 second up to 900 seconds. + // is between 1 second and 900 seconds. TumblingWindowInSeconds *int64 `type:"integer"` } @@ -8296,11 +8353,21 @@ func (s *CreateEventSourceMappingInput) Validate() error { if s.Topics != nil && len(s.Topics) < 1 { invalidParams.Add(request.NewErrParamMinLen("Topics", 1)) } + if s.AmazonManagedKafkaEventSourceConfig != nil { + if err := s.AmazonManagedKafkaEventSourceConfig.Validate(); err != nil { + invalidParams.AddNested("AmazonManagedKafkaEventSourceConfig", err.(request.ErrInvalidParams)) + } + } if s.SelfManagedEventSource != nil { if err := s.SelfManagedEventSource.Validate(); err != nil { invalidParams.AddNested("SelfManagedEventSource", err.(request.ErrInvalidParams)) } } + if s.SelfManagedKafkaEventSourceConfig != nil { + if err := s.SelfManagedKafkaEventSourceConfig.Validate(); err != nil { + invalidParams.AddNested("SelfManagedKafkaEventSourceConfig", err.(request.ErrInvalidParams)) + } + } if s.SourceAccessConfigurations != nil { for i, v := range s.SourceAccessConfigurations { if v == nil { @@ -8318,6 +8385,12 @@ func (s *CreateEventSourceMappingInput) Validate() error { return nil } +// SetAmazonManagedKafkaEventSourceConfig sets the AmazonManagedKafkaEventSourceConfig field's value. +func (s *CreateEventSourceMappingInput) SetAmazonManagedKafkaEventSourceConfig(v *AmazonManagedKafkaEventSourceConfig) *CreateEventSourceMappingInput { + s.AmazonManagedKafkaEventSourceConfig = v + return s +} + // SetBatchSize sets the BatchSize field's value. func (s *CreateEventSourceMappingInput) SetBatchSize(v int64) *CreateEventSourceMappingInput { s.BatchSize = &v @@ -8402,6 +8475,12 @@ func (s *CreateEventSourceMappingInput) SetSelfManagedEventSource(v *SelfManaged return s } +// SetSelfManagedKafkaEventSourceConfig sets the SelfManagedKafkaEventSourceConfig field's value. +func (s *CreateEventSourceMappingInput) SetSelfManagedKafkaEventSourceConfig(v *SelfManagedKafkaEventSourceConfig) *CreateEventSourceMappingInput { + s.SelfManagedKafkaEventSourceConfig = v + return s +} + // SetSourceAccessConfigurations sets the SourceAccessConfigurations field's value. func (s *CreateEventSourceMappingInput) SetSourceAccessConfigurations(v []*SourceAccessConfiguration) *CreateEventSourceMappingInput { s.SourceAccessConfigurations = v @@ -10577,6 +10656,10 @@ func (s *EphemeralStorage) SetSize(v int64) *EphemeralStorage { type EventSourceMappingConfiguration struct { _ struct{} `type:"structure"` + // Specific configuration settings for an Amazon Managed Streaming for Apache + // Kafka (Amazon MSK) event source. + AmazonManagedKafkaEventSourceConfig *AmazonManagedKafkaEventSourceConfig `type:"structure"` + // The maximum number of records in each batch that Lambda pulls from your stream // or queue and sends to your function. Lambda passes all of the records in // the batch to the function in a single call, up to the payload limit for synchronous @@ -10649,6 +10732,9 @@ type EventSourceMappingConfiguration struct { // The self-managed Apache Kafka cluster for your event source. SelfManagedEventSource *SelfManagedEventSource `type:"structure"` + // Specific configuration settings for a self-managed Apache Kafka event source. + SelfManagedKafkaEventSourceConfig *SelfManagedKafkaEventSourceConfig `type:"structure"` + // An array of the authentication protocol, VPC components, or virtual host // to secure and define your event source. SourceAccessConfigurations []*SourceAccessConfiguration `type:"list"` @@ -10698,6 +10784,12 @@ func (s EventSourceMappingConfiguration) GoString() string { return s.String() } +// SetAmazonManagedKafkaEventSourceConfig sets the AmazonManagedKafkaEventSourceConfig field's value. +func (s *EventSourceMappingConfiguration) SetAmazonManagedKafkaEventSourceConfig(v *AmazonManagedKafkaEventSourceConfig) *EventSourceMappingConfiguration { + s.AmazonManagedKafkaEventSourceConfig = v + return s +} + // SetBatchSize sets the BatchSize field's value. func (s *EventSourceMappingConfiguration) SetBatchSize(v int64) *EventSourceMappingConfiguration { s.BatchSize = &v @@ -10788,6 +10880,12 @@ func (s *EventSourceMappingConfiguration) SetSelfManagedEventSource(v *SelfManag return s } +// SetSelfManagedKafkaEventSourceConfig sets the SelfManagedKafkaEventSourceConfig field's value. +func (s *EventSourceMappingConfiguration) SetSelfManagedKafkaEventSourceConfig(v *SelfManagedKafkaEventSourceConfig) *EventSourceMappingConfiguration { + s.SelfManagedKafkaEventSourceConfig = v + return s +} + // SetSourceAccessConfigurations sets the SourceAccessConfigurations field's value. func (s *EventSourceMappingConfiguration) SetSourceAccessConfigurations(v []*SourceAccessConfiguration) *EventSourceMappingConfiguration { s.SourceAccessConfigurations = v @@ -18137,6 +18235,54 @@ func (s *SelfManagedEventSource) SetEndpoints(v map[string][]*string) *SelfManag return s } +// Specific configuration settings for a self-managed Apache Kafka event source. +type SelfManagedKafkaEventSourceConfig struct { + _ struct{} `type:"structure"` + + // The identifier for the Kafka consumer group to join. The consumer group ID + // must be unique among all your Kafka event sources. After creating a Kafka + // event source mapping with the consumer group ID specified, you cannot update + // this value. For more information, see services-msk-consumer-group-id. + ConsumerGroupId *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 SelfManagedKafkaEventSourceConfig) 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 SelfManagedKafkaEventSourceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SelfManagedKafkaEventSourceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SelfManagedKafkaEventSourceConfig"} + if s.ConsumerGroupId != nil && len(*s.ConsumerGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConsumerGroupId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConsumerGroupId sets the ConsumerGroupId field's value. +func (s *SelfManagedKafkaEventSourceConfig) SetConsumerGroupId(v string) *SelfManagedKafkaEventSourceConfig { + s.ConsumerGroupId = &v + return s +} + // The Lambda service encountered an internal error. type ServiceException struct { _ struct{} `type:"structure"` @@ -18234,7 +18380,7 @@ type SourceAccessConfiguration struct { // broker. Lambda uses this RabbitMQ host as the event source. This property // cannot be specified in an UpdateEventSourceMapping API call. // - // * CLIENT_CERTIFICATE_TLS_AUTH - (Amazon MSK, Self-managed Apache Kafka) + // * CLIENT_CERTIFICATE_TLS_AUTH - (Amazon MSK, self-managed Apache Kafka) // The Secrets Manager ARN of your secret key containing the certificate // chain (X.509 PEM), private key (PKCS#8 PEM), and private key password // (optional) used for mutual TLS authentication of your MSK/Apache Kafka @@ -18982,7 +19128,7 @@ type UpdateEventSourceMappingInput struct { // // * Amazon Managed Streaming for Apache Kafka - Default 100. Max 10,000. // - // * Self-Managed Apache Kafka - Default 100. Max 10,000. + // * Self-managed Apache Kafka - Default 100. Max 10,000. // // * Amazon MQ (ActiveMQ and RabbitMQ) - Default 100. Max 10,000. BatchSize *int64 `min:"1" type:"integer"` @@ -19041,7 +19187,7 @@ type UpdateEventSourceMappingInput struct { // (Streams only) Discard records after the specified number of retries. The // default value is infinite (-1). When set to infinite (-1), failed records - // will be retried until the record expires. + // are retried until the record expires. MaximumRetryAttempts *int64 `type:"integer"` // (Streams only) The number of batches to process from each shard concurrently. @@ -19052,7 +19198,7 @@ type UpdateEventSourceMappingInput struct { SourceAccessConfigurations []*SourceAccessConfiguration `type:"list"` // (Streams only) The duration in seconds of a processing window. The range - // is between 1 second up to 900 seconds. + // is between 1 second and 900 seconds. TumblingWindowInSeconds *int64 `type:"integer"` // The identifier of the event source mapping. diff --git a/service/lexmodelsv2/api.go b/service/lexmodelsv2/api.go index 4e2141789a6..e5ddd2364f1 100644 --- a/service/lexmodelsv2/api.go +++ b/service/lexmodelsv2/api.go @@ -9666,6 +9666,262 @@ func (s *CodeHookSpecification) SetLambdaCodeHook(v *LambdaCodeHook) *CodeHookSp return s } +// Provides an expression that evaluates to true or false. +type Condition struct { + _ struct{} `type:"structure"` + + // The expression string that is evaluated. + // + // ExpressionString is a required field + ExpressionString *string `locationName:"expressionString" 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 Condition) 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 Condition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Condition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Condition"} + if s.ExpressionString == nil { + invalidParams.Add(request.NewErrParamRequired("ExpressionString")) + } + if s.ExpressionString != nil && len(*s.ExpressionString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExpressionString", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExpressionString sets the ExpressionString field's value. +func (s *Condition) SetExpressionString(v string) *Condition { + s.ExpressionString = &v + return s +} + +// A set of actions that Amazon Lex should run if the condition is matched. +type ConditionalBranch struct { + _ struct{} `type:"structure"` + + // Contains the expression to evaluate. If the condition is true, the branch's + // actions are taken. + // + // Condition is a required field + Condition *Condition `locationName:"condition" type:"structure" required:"true"` + + // The name of the branch. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The next step in the conversation. + // + // NextStep is a required field + NextStep *DialogState `locationName:"nextStep" type:"structure" required:"true"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + Response *ResponseSpecification `locationName:"response" 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 ConditionalBranch) 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 ConditionalBranch) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConditionalBranch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConditionalBranch"} + if s.Condition == nil { + invalidParams.Add(request.NewErrParamRequired("Condition")) + } + 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.NextStep == nil { + invalidParams.Add(request.NewErrParamRequired("NextStep")) + } + if s.Condition != nil { + if err := s.Condition.Validate(); err != nil { + invalidParams.AddNested("Condition", err.(request.ErrInvalidParams)) + } + } + if s.NextStep != nil { + if err := s.NextStep.Validate(); err != nil { + invalidParams.AddNested("NextStep", err.(request.ErrInvalidParams)) + } + } + if s.Response != nil { + if err := s.Response.Validate(); err != nil { + invalidParams.AddNested("Response", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCondition sets the Condition field's value. +func (s *ConditionalBranch) SetCondition(v *Condition) *ConditionalBranch { + s.Condition = v + return s +} + +// SetName sets the Name field's value. +func (s *ConditionalBranch) SetName(v string) *ConditionalBranch { + s.Name = &v + return s +} + +// SetNextStep sets the NextStep field's value. +func (s *ConditionalBranch) SetNextStep(v *DialogState) *ConditionalBranch { + s.NextStep = v + return s +} + +// SetResponse sets the Response field's value. +func (s *ConditionalBranch) SetResponse(v *ResponseSpecification) *ConditionalBranch { + s.Response = v + return s +} + +// Provides a list of conditional branches. Branches are evaluated in the order +// that they are entered in the list. The first branch with a condition that +// evaluates to true is executed. The last branch in the list is the default +// branch. The default branch should not have any condition expression. The +// default branch is executed if no other branch has a matching condition. +type ConditionalSpecification struct { + _ struct{} `type:"structure"` + + // Determines whether a conditional branch is active. When active is false, + // the conditions are not evaluated. + // + // Active is a required field + Active *bool `locationName:"active" type:"boolean" required:"true"` + + // A list of conditional branches. A conditional branch is made up of a condition, + // a response and a next step. The response and next step are executed when + // the condition is true. + // + // ConditionalBranches is a required field + ConditionalBranches []*ConditionalBranch `locationName:"conditionalBranches" min:"1" type:"list" required:"true"` + + // The conditional branch that should be followed when the conditions for other + // branches are not satisfied. A conditional branch is made up of a condition, + // a response and a next step. + // + // DefaultBranch is a required field + DefaultBranch *DefaultConditionalBranch `locationName:"defaultBranch" 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 ConditionalSpecification) 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 ConditionalSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConditionalSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConditionalSpecification"} + if s.Active == nil { + invalidParams.Add(request.NewErrParamRequired("Active")) + } + if s.ConditionalBranches == nil { + invalidParams.Add(request.NewErrParamRequired("ConditionalBranches")) + } + if s.ConditionalBranches != nil && len(s.ConditionalBranches) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConditionalBranches", 1)) + } + if s.DefaultBranch == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultBranch")) + } + if s.ConditionalBranches != nil { + for i, v := range s.ConditionalBranches { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConditionalBranches", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DefaultBranch != nil { + if err := s.DefaultBranch.Validate(); err != nil { + invalidParams.AddNested("DefaultBranch", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActive sets the Active field's value. +func (s *ConditionalSpecification) SetActive(v bool) *ConditionalSpecification { + s.Active = &v + return s +} + +// SetConditionalBranches sets the ConditionalBranches field's value. +func (s *ConditionalSpecification) SetConditionalBranches(v []*ConditionalBranch) *ConditionalSpecification { + s.ConditionalBranches = v + return s +} + +// SetDefaultBranch sets the DefaultBranch field's value. +func (s *ConditionalSpecification) SetDefaultBranch(v *DefaultConditionalBranch) *ConditionalSpecification { + s.DefaultBranch = v + return s +} + // The action that you tried to perform couldn't be completed because the resource // is in a conflicting state. For example, deleting a bot that is in the CREATING // state. Try your request again. @@ -10962,6 +11218,10 @@ type CreateIntentInput struct { // on the customer's behalf. FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"` + // Configuration settings for the response that is sent to the user at the beginning + // of a conversation, before eliciting slot values. + InitialResponseSetting *InitialResponseSetting `locationName:"initialResponseSetting" type:"structure"` + // A list of contexts that must be active for this intent to be considered by // Amazon Lex. // @@ -11085,6 +11345,11 @@ func (s *CreateIntentInput) Validate() error { invalidParams.AddNested("FulfillmentCodeHook", err.(request.ErrInvalidParams)) } } + if s.InitialResponseSetting != nil { + if err := s.InitialResponseSetting.Validate(); err != nil { + invalidParams.AddNested("InitialResponseSetting", err.(request.ErrInvalidParams)) + } + } if s.InputContexts != nil { for i, v := range s.InputContexts { if v == nil { @@ -11167,6 +11432,12 @@ func (s *CreateIntentInput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSetting return s } +// SetInitialResponseSetting sets the InitialResponseSetting field's value. +func (s *CreateIntentInput) SetInitialResponseSetting(v *InitialResponseSetting) *CreateIntentInput { + s.InitialResponseSetting = v + return s +} + // SetInputContexts sets the InputContexts field's value. func (s *CreateIntentInput) SetInputContexts(v []*InputContext) *CreateIntentInput { s.InputContexts = v @@ -11242,6 +11513,10 @@ type CreateIntentOutput struct { // The fulfillment Lambda function specified for the intent. FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"` + // Configuration settings for the response that is sent to the user at the beginning + // of a conversation, before eliciting slot values. + InitialResponseSetting *InitialResponseSetting `locationName:"initialResponseSetting" type:"structure"` + // The list of input contexts specified for the intent. InputContexts []*InputContext `locationName:"inputContexts" type:"list"` @@ -11327,6 +11602,12 @@ func (s *CreateIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettin return s } +// SetInitialResponseSetting sets the InitialResponseSetting field's value. +func (s *CreateIntentOutput) SetInitialResponseSetting(v *InitialResponseSetting) *CreateIntentOutput { + s.InitialResponseSetting = v + return s +} + // SetInputContexts sets the InputContexts field's value. func (s *CreateIntentOutput) SetInputContexts(v []*InputContext) *CreateIntentOutput { s.InputContexts = v @@ -12751,6 +13032,69 @@ func (s *DateRangeFilter) SetStartDateTime(v time.Time) *DateRangeFilter { return s } +// A set of actions that Amazon Lex should run if none of the other conditions +// are met. +type DefaultConditionalBranch struct { + _ struct{} `type:"structure"` + + // The next step in the conversation. + NextStep *DialogState `locationName:"nextStep" type:"structure"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + Response *ResponseSpecification `locationName:"response" 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 DefaultConditionalBranch) 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 DefaultConditionalBranch) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DefaultConditionalBranch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DefaultConditionalBranch"} + if s.NextStep != nil { + if err := s.NextStep.Validate(); err != nil { + invalidParams.AddNested("NextStep", err.(request.ErrInvalidParams)) + } + } + if s.Response != nil { + if err := s.Response.Validate(); err != nil { + invalidParams.AddNested("Response", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextStep sets the NextStep field's value. +func (s *DefaultConditionalBranch) SetNextStep(v *DialogState) *DefaultConditionalBranch { + s.NextStep = v + return s +} + +// SetResponse sets the Response field's value. +func (s *DefaultConditionalBranch) SetResponse(v *ResponseSpecification) *DefaultConditionalBranch { + s.Response = v + return s +} + type DeleteBotAliasInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -15920,6 +16264,10 @@ type DescribeIntentOutput struct { // The Lambda function called when the intent is complete and ready for fulfillment. FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"` + // Configuration setting for a response sent to the user before Amazon Lex starts + // eliciting slots. + InitialResponseSetting *InitialResponseSetting `locationName:"initialResponseSetting" type:"structure"` + // A list of contexts that must be active for the intent to be considered for // sending to the user. InputContexts []*InputContext `locationName:"inputContexts" type:"list"` @@ -16014,6 +16362,12 @@ func (s *DescribeIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSett return s } +// SetInitialResponseSetting sets the InitialResponseSetting field's value. +func (s *DescribeIntentOutput) SetInitialResponseSetting(v *InitialResponseSetting) *DescribeIntentOutput { + s.InitialResponseSetting = v + return s +} + // SetInputContexts sets the InputContexts field's value. func (s *DescribeIntentOutput) SetInputContexts(v []*InputContext) *DescribeIntentOutput { s.InputContexts = v @@ -16687,15 +17041,21 @@ func (s *DescribeSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionS return s } -// Settings that determine the Lambda function that Amazon Lex uses for processing -// user responses. -type DialogCodeHookSettings struct { +// Defines the action that the bot executes at runtime when the conversation +// reaches this step. +type DialogAction struct { _ struct{} `type:"structure"` - // Enables the dialog code hook so that it processes user requests. + // If the dialog action is ElicitSlot, defines the slot to elicit from the user. + SlotToElicit *string `locationName:"slotToElicit" min:"1" type:"string"` + + // When true the next message for the intent is not used. + SuppressNextMessage *bool `locationName:"suppressNextMessage" type:"boolean"` + + // The action that the bot should execute. // - // Enabled is a required field - Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"DialogActionType"` } // String returns the string representation. @@ -16703,7 +17063,7 @@ type DialogCodeHookSettings 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 DialogCodeHookSettings) String() string { +func (s DialogAction) String() string { return awsutil.Prettify(s) } @@ -16712,15 +17072,18 @@ func (s DialogCodeHookSettings) 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 DialogCodeHookSettings) GoString() string { +func (s DialogAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DialogCodeHookSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DialogCodeHookSettings"} - if s.Enabled == nil { - invalidParams.Add(request.NewErrParamRequired("Enabled")) +func (s *DialogAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DialogAction"} + if s.SlotToElicit != nil && len(*s.SlotToElicit) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlotToElicit", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { @@ -16729,29 +17092,318 @@ func (s *DialogCodeHookSettings) Validate() error { return nil } -// SetEnabled sets the Enabled field's value. -func (s *DialogCodeHookSettings) SetEnabled(v bool) *DialogCodeHookSettings { - s.Enabled = &v +// SetSlotToElicit sets the SlotToElicit field's value. +func (s *DialogAction) SetSlotToElicit(v string) *DialogAction { + s.SlotToElicit = &v return s } -// The object representing the passwords that were used to encrypt the data -// related to the bot recommendation, as well as the KMS key ARN used to encrypt -// the associated metadata. -type EncryptionSetting struct { +// SetSuppressNextMessage sets the SuppressNextMessage field's value. +func (s *DialogAction) SetSuppressNextMessage(v bool) *DialogAction { + s.SuppressNextMessage = &v + return s +} + +// SetType sets the Type field's value. +func (s *DialogAction) SetType(v string) *DialogAction { + s.Type = &v + return s +} + +// Settings that specify the dialog code hook that is called by Amazon Lex at +// a step of the conversation. +type DialogCodeHookInvocationSetting struct { _ struct{} `type:"structure"` - // The password used to encrypt the associated transcript file. + // Determines whether a dialog code hook is used when the intent is activated. // - // AssociatedTranscriptsPassword is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by EncryptionSetting's - // String and GoString methods. - AssociatedTranscriptsPassword *string `locationName:"associatedTranscriptsPassword" type:"string" sensitive:"true"` + // Active is a required field + Active *bool `locationName:"active" type:"boolean" required:"true"` - // The password used to encrypt the recommended bot recommendation file. + // Indicates whether a Lambda function should be invoked for the dialog. // - // BotLocaleExportPassword is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by EncryptionSetting's + // EnableCodeHookInvocation is a required field + EnableCodeHookInvocation *bool `locationName:"enableCodeHookInvocation" type:"boolean" required:"true"` + + // A label that indicates the dialog step from which the dialog code hook is + // happening. + InvocationLabel *string `locationName:"invocationLabel" min:"1" type:"string"` + + // Contains the responses and actions that Amazon Lex takes after the Lambda + // function is complete. + // + // PostCodeHookSpecification is a required field + PostCodeHookSpecification *PostDialogCodeHookInvocationSpecification `locationName:"postCodeHookSpecification" 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 DialogCodeHookInvocationSetting) 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 DialogCodeHookInvocationSetting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DialogCodeHookInvocationSetting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DialogCodeHookInvocationSetting"} + if s.Active == nil { + invalidParams.Add(request.NewErrParamRequired("Active")) + } + if s.EnableCodeHookInvocation == nil { + invalidParams.Add(request.NewErrParamRequired("EnableCodeHookInvocation")) + } + if s.InvocationLabel != nil && len(*s.InvocationLabel) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InvocationLabel", 1)) + } + if s.PostCodeHookSpecification == nil { + invalidParams.Add(request.NewErrParamRequired("PostCodeHookSpecification")) + } + if s.PostCodeHookSpecification != nil { + if err := s.PostCodeHookSpecification.Validate(); err != nil { + invalidParams.AddNested("PostCodeHookSpecification", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActive sets the Active field's value. +func (s *DialogCodeHookInvocationSetting) SetActive(v bool) *DialogCodeHookInvocationSetting { + s.Active = &v + return s +} + +// SetEnableCodeHookInvocation sets the EnableCodeHookInvocation field's value. +func (s *DialogCodeHookInvocationSetting) SetEnableCodeHookInvocation(v bool) *DialogCodeHookInvocationSetting { + s.EnableCodeHookInvocation = &v + return s +} + +// SetInvocationLabel sets the InvocationLabel field's value. +func (s *DialogCodeHookInvocationSetting) SetInvocationLabel(v string) *DialogCodeHookInvocationSetting { + s.InvocationLabel = &v + return s +} + +// SetPostCodeHookSpecification sets the PostCodeHookSpecification field's value. +func (s *DialogCodeHookInvocationSetting) SetPostCodeHookSpecification(v *PostDialogCodeHookInvocationSpecification) *DialogCodeHookInvocationSetting { + s.PostCodeHookSpecification = v + return s +} + +// Settings that determine the Lambda function that Amazon Lex uses for processing +// user responses. +type DialogCodeHookSettings struct { + _ struct{} `type:"structure"` + + // Enables the dialog code hook so that it processes user requests. + // + // Enabled is a required field + Enabled *bool `locationName:"enabled" type:"boolean" 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 DialogCodeHookSettings) 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 DialogCodeHookSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DialogCodeHookSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DialogCodeHookSettings"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *DialogCodeHookSettings) SetEnabled(v bool) *DialogCodeHookSettings { + s.Enabled = &v + return s +} + +// The current state of the conversation with the user. +type DialogState struct { + _ struct{} `type:"structure"` + + // Defines the action that the bot executes at runtime when the conversation + // reaches this step. + DialogAction *DialogAction `locationName:"dialogAction" type:"structure"` + + // Override settings to configure the intent state. + Intent *IntentOverride `locationName:"intent" type:"structure"` + + // Map of key/value pairs representing session-specific context information. + // It contains application information passed between Amazon Lex and a client + // application. + SessionAttributes map[string]*string `locationName:"sessionAttributes" 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 DialogState) 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 DialogState) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DialogState) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DialogState"} + if s.DialogAction != nil { + if err := s.DialogAction.Validate(); err != nil { + invalidParams.AddNested("DialogAction", err.(request.ErrInvalidParams)) + } + } + if s.Intent != nil { + if err := s.Intent.Validate(); err != nil { + invalidParams.AddNested("Intent", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDialogAction sets the DialogAction field's value. +func (s *DialogState) SetDialogAction(v *DialogAction) *DialogState { + s.DialogAction = v + return s +} + +// SetIntent sets the Intent field's value. +func (s *DialogState) SetIntent(v *IntentOverride) *DialogState { + s.Intent = v + return s +} + +// SetSessionAttributes sets the SessionAttributes field's value. +func (s *DialogState) SetSessionAttributes(v map[string]*string) *DialogState { + s.SessionAttributes = v + return s +} + +// Settings that specify the dialog code hook that is called by Amazon Lex between +// eliciting slot values. +type ElicitationCodeHookInvocationSetting struct { + _ struct{} `type:"structure"` + + // Indicates whether a Lambda function should be invoked for the dialog. + // + // EnableCodeHookInvocation is a required field + EnableCodeHookInvocation *bool `locationName:"enableCodeHookInvocation" type:"boolean" required:"true"` + + // A label that indicates the dialog step from which the dialog code hook is + // happening. + InvocationLabel *string `locationName:"invocationLabel" 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 ElicitationCodeHookInvocationSetting) 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 ElicitationCodeHookInvocationSetting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ElicitationCodeHookInvocationSetting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ElicitationCodeHookInvocationSetting"} + if s.EnableCodeHookInvocation == nil { + invalidParams.Add(request.NewErrParamRequired("EnableCodeHookInvocation")) + } + if s.InvocationLabel != nil && len(*s.InvocationLabel) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InvocationLabel", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnableCodeHookInvocation sets the EnableCodeHookInvocation field's value. +func (s *ElicitationCodeHookInvocationSetting) SetEnableCodeHookInvocation(v bool) *ElicitationCodeHookInvocationSetting { + s.EnableCodeHookInvocation = &v + return s +} + +// SetInvocationLabel sets the InvocationLabel field's value. +func (s *ElicitationCodeHookInvocationSetting) SetInvocationLabel(v string) *ElicitationCodeHookInvocationSetting { + s.InvocationLabel = &v + return s +} + +// The object representing the passwords that were used to encrypt the data +// related to the bot recommendation, as well as the KMS key ARN used to encrypt +// the associated metadata. +type EncryptionSetting struct { + _ struct{} `type:"structure"` + + // The password used to encrypt the associated transcript file. + // + // AssociatedTranscriptsPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by EncryptionSetting's + // String and GoString methods. + AssociatedTranscriptsPassword *string `locationName:"associatedTranscriptsPassword" type:"string" sensitive:"true"` + + // The password used to encrypt the recommended bot recommendation file. + // + // BotLocaleExportPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by EncryptionSetting's // String and GoString methods. BotLocaleExportPassword *string `locationName:"botLocaleExportPassword" type:"string" sensitive:"true"` @@ -17158,6 +17810,10 @@ func (s *ExternalSourceSetting) SetGrammarSlotTypeSetting(v *GrammarSlotTypeSett type FulfillmentCodeHookSettings struct { _ struct{} `type:"structure"` + // Determines whether the fulfillment code hook is used. When active is false, + // the code hook doesn't run. + Active *bool `locationName:"active" type:"boolean"` + // Indicates whether a Lambda function should be invoked to fulfill a specific // intent. // @@ -17216,6 +17872,12 @@ func (s *FulfillmentCodeHookSettings) Validate() error { return nil } +// SetActive sets the Active field's value. +func (s *FulfillmentCodeHookSettings) SetActive(v bool) *FulfillmentCodeHookSettings { + s.Active = &v + return s +} + // SetEnabled sets the Enabled field's value. func (s *FulfillmentCodeHookSettings) SetEnabled(v bool) *FulfillmentCodeHookSettings { s.Enabled = &v @@ -18057,6 +18719,102 @@ func (s *ImportSummary) SetMergeStrategy(v string) *ImportSummary { return s } +// Configuration setting for a response sent to the user before Amazon Lex starts +// eliciting slots. +type InitialResponseSetting struct { + _ struct{} `type:"structure"` + + // Settings that specify the dialog code hook that is called by Amazon Lex at + // a step of the conversation. + CodeHook *DialogCodeHookInvocationSetting `locationName:"codeHook" type:"structure"` + + // Provides a list of conditional branches. Branches are evaluated in the order + // that they are entered in the list. The first branch with a condition that + // evaluates to true is executed. The last branch in the list is the default + // branch. The default branch should not have any condition expression. The + // default branch is executed if no other branch has a matching condition. + Conditional *ConditionalSpecification `locationName:"conditional" type:"structure"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + InitialResponse *ResponseSpecification `locationName:"initialResponse" type:"structure"` + + // The next step in the conversation. + NextStep *DialogState `locationName:"nextStep" 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 InitialResponseSetting) 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 InitialResponseSetting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InitialResponseSetting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InitialResponseSetting"} + if s.CodeHook != nil { + if err := s.CodeHook.Validate(); err != nil { + invalidParams.AddNested("CodeHook", err.(request.ErrInvalidParams)) + } + } + if s.Conditional != nil { + if err := s.Conditional.Validate(); err != nil { + invalidParams.AddNested("Conditional", err.(request.ErrInvalidParams)) + } + } + if s.InitialResponse != nil { + if err := s.InitialResponse.Validate(); err != nil { + invalidParams.AddNested("InitialResponse", err.(request.ErrInvalidParams)) + } + } + if s.NextStep != nil { + if err := s.NextStep.Validate(); err != nil { + invalidParams.AddNested("NextStep", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeHook sets the CodeHook field's value. +func (s *InitialResponseSetting) SetCodeHook(v *DialogCodeHookInvocationSetting) *InitialResponseSetting { + s.CodeHook = v + return s +} + +// SetConditional sets the Conditional field's value. +func (s *InitialResponseSetting) SetConditional(v *ConditionalSpecification) *InitialResponseSetting { + s.Conditional = v + return s +} + +// SetInitialResponse sets the InitialResponse field's value. +func (s *InitialResponseSetting) SetInitialResponse(v *ResponseSpecification) *InitialResponseSetting { + s.InitialResponse = v + return s +} + +// SetNextStep sets the NextStep field's value. +func (s *InitialResponseSetting) SetNextStep(v *DialogState) *InitialResponseSetting { + s.NextStep = v + return s +} + // The name of a context that must be active for an intent to be selected by // Amazon Lex. type InputContext struct { @@ -18119,9 +18877,15 @@ type IntentClosingSetting struct { Active *bool `locationName:"active" type:"boolean"` // The response that Amazon Lex sends to the user when the intent is complete. - // - // ClosingResponse is a required field - ClosingResponse *ResponseSpecification `locationName:"closingResponse" type:"structure" required:"true"` + ClosingResponse *ResponseSpecification `locationName:"closingResponse" type:"structure"` + + // A list of conditional branches associated with the intent's closing response. + // These branches are executed when the nextStep attribute is set to EvalutateConditional. + Conditional *ConditionalSpecification `locationName:"conditional" type:"structure"` + + // Specifies the next step that the bot executes after playing the intent's + // closing response. + NextStep *DialogState `locationName:"nextStep" type:"structure"` } // String returns the string representation. @@ -18145,14 +18909,21 @@ func (s IntentClosingSetting) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *IntentClosingSetting) Validate() error { invalidParams := request.ErrInvalidParams{Context: "IntentClosingSetting"} - if s.ClosingResponse == nil { - invalidParams.Add(request.NewErrParamRequired("ClosingResponse")) - } if s.ClosingResponse != nil { if err := s.ClosingResponse.Validate(); err != nil { invalidParams.AddNested("ClosingResponse", err.(request.ErrInvalidParams)) } } + if s.Conditional != nil { + if err := s.Conditional.Validate(); err != nil { + invalidParams.AddNested("Conditional", err.(request.ErrInvalidParams)) + } + } + if s.NextStep != nil { + if err := s.NextStep.Validate(); err != nil { + invalidParams.AddNested("NextStep", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -18172,6 +18943,18 @@ func (s *IntentClosingSetting) SetClosingResponse(v *ResponseSpecification) *Int return s } +// SetConditional sets the Conditional field's value. +func (s *IntentClosingSetting) SetConditional(v *ConditionalSpecification) *IntentClosingSetting { + s.Conditional = v + return s +} + +// SetNextStep sets the NextStep field's value. +func (s *IntentClosingSetting) SetNextStep(v *DialogState) *IntentClosingSetting { + s.NextStep = v + return s +} + // Provides a prompt for making sure that the user is ready for the intent to // be fulfilled. type IntentConfirmationSetting struct { @@ -18182,12 +18965,52 @@ type IntentConfirmationSetting struct { // active field isn't specified, the default is true. Active *bool `locationName:"active" type:"boolean"` + // The DialogCodeHookInvocationSetting object associated with intent's confirmation + // step. The dialog code hook is triggered based on these invocation settings + // when the confirmation next step or declination next step or failure next + // step is InvokeDialogCodeHook. + CodeHook *DialogCodeHookInvocationSetting `locationName:"codeHook" type:"structure"` + + // A list of conditional branches to evaluate after the intent is closed. + ConfirmationConditional *ConditionalSpecification `locationName:"confirmationConditional" type:"structure"` + + // Specifies the next step that the bot executes when the customer confirms + // the intent. + ConfirmationNextStep *DialogState `locationName:"confirmationNextStep" type:"structure"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + ConfirmationResponse *ResponseSpecification `locationName:"confirmationResponse" type:"structure"` + + // A list of conditional branches to evaluate after the intent is declined. + DeclinationConditional *ConditionalSpecification `locationName:"declinationConditional" type:"structure"` + + // Specifies the next step that the bot executes when the customer declines + // the intent. + DeclinationNextStep *DialogState `locationName:"declinationNextStep" type:"structure"` + // When the user answers "no" to the question defined in promptSpecification, // Amazon Lex responds with this response to acknowledge that the intent was // canceled. - // - // DeclinationResponse is a required field - DeclinationResponse *ResponseSpecification `locationName:"declinationResponse" type:"structure" required:"true"` + DeclinationResponse *ResponseSpecification `locationName:"declinationResponse" type:"structure"` + + // The DialogCodeHookInvocationSetting used when the code hook is invoked during + // confirmation prompt retries. + ElicitationCodeHook *ElicitationCodeHookInvocationSetting `locationName:"elicitationCodeHook" type:"structure"` + + // Provides a list of conditional branches. Branches are evaluated in the order + // that they are entered in the list. The first branch with a condition that + // evaluates to true is executed. The last branch in the list is the default + // branch. The default branch should not have any condition expression. The + // default branch is executed if no other branch has a matching condition. + FailureConditional *ConditionalSpecification `locationName:"failureConditional" type:"structure"` + + // The next step to take in the conversation if the confirmation step fails. + FailureNextStep *DialogState `locationName:"failureNextStep" type:"structure"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + FailureResponse *ResponseSpecification `locationName:"failureResponse" type:"structure"` // Prompts the user to confirm the intent. This question should have a yes or // no answer. @@ -18223,17 +19046,64 @@ func (s IntentConfirmationSetting) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *IntentConfirmationSetting) Validate() error { invalidParams := request.ErrInvalidParams{Context: "IntentConfirmationSetting"} - if s.DeclinationResponse == nil { - invalidParams.Add(request.NewErrParamRequired("DeclinationResponse")) - } if s.PromptSpecification == nil { invalidParams.Add(request.NewErrParamRequired("PromptSpecification")) } + if s.CodeHook != nil { + if err := s.CodeHook.Validate(); err != nil { + invalidParams.AddNested("CodeHook", err.(request.ErrInvalidParams)) + } + } + if s.ConfirmationConditional != nil { + if err := s.ConfirmationConditional.Validate(); err != nil { + invalidParams.AddNested("ConfirmationConditional", err.(request.ErrInvalidParams)) + } + } + if s.ConfirmationNextStep != nil { + if err := s.ConfirmationNextStep.Validate(); err != nil { + invalidParams.AddNested("ConfirmationNextStep", err.(request.ErrInvalidParams)) + } + } + if s.ConfirmationResponse != nil { + if err := s.ConfirmationResponse.Validate(); err != nil { + invalidParams.AddNested("ConfirmationResponse", err.(request.ErrInvalidParams)) + } + } + if s.DeclinationConditional != nil { + if err := s.DeclinationConditional.Validate(); err != nil { + invalidParams.AddNested("DeclinationConditional", err.(request.ErrInvalidParams)) + } + } + if s.DeclinationNextStep != nil { + if err := s.DeclinationNextStep.Validate(); err != nil { + invalidParams.AddNested("DeclinationNextStep", err.(request.ErrInvalidParams)) + } + } if s.DeclinationResponse != nil { if err := s.DeclinationResponse.Validate(); err != nil { invalidParams.AddNested("DeclinationResponse", err.(request.ErrInvalidParams)) } } + if s.ElicitationCodeHook != nil { + if err := s.ElicitationCodeHook.Validate(); err != nil { + invalidParams.AddNested("ElicitationCodeHook", err.(request.ErrInvalidParams)) + } + } + if s.FailureConditional != nil { + if err := s.FailureConditional.Validate(); err != nil { + invalidParams.AddNested("FailureConditional", err.(request.ErrInvalidParams)) + } + } + if s.FailureNextStep != nil { + if err := s.FailureNextStep.Validate(); err != nil { + invalidParams.AddNested("FailureNextStep", err.(request.ErrInvalidParams)) + } + } + if s.FailureResponse != nil { + if err := s.FailureResponse.Validate(); err != nil { + invalidParams.AddNested("FailureResponse", err.(request.ErrInvalidParams)) + } + } if s.PromptSpecification != nil { if err := s.PromptSpecification.Validate(); err != nil { invalidParams.AddNested("PromptSpecification", err.(request.ErrInvalidParams)) @@ -18252,12 +19122,72 @@ func (s *IntentConfirmationSetting) SetActive(v bool) *IntentConfirmationSetting return s } +// SetCodeHook sets the CodeHook field's value. +func (s *IntentConfirmationSetting) SetCodeHook(v *DialogCodeHookInvocationSetting) *IntentConfirmationSetting { + s.CodeHook = v + return s +} + +// SetConfirmationConditional sets the ConfirmationConditional field's value. +func (s *IntentConfirmationSetting) SetConfirmationConditional(v *ConditionalSpecification) *IntentConfirmationSetting { + s.ConfirmationConditional = v + return s +} + +// SetConfirmationNextStep sets the ConfirmationNextStep field's value. +func (s *IntentConfirmationSetting) SetConfirmationNextStep(v *DialogState) *IntentConfirmationSetting { + s.ConfirmationNextStep = v + return s +} + +// SetConfirmationResponse sets the ConfirmationResponse field's value. +func (s *IntentConfirmationSetting) SetConfirmationResponse(v *ResponseSpecification) *IntentConfirmationSetting { + s.ConfirmationResponse = v + return s +} + +// SetDeclinationConditional sets the DeclinationConditional field's value. +func (s *IntentConfirmationSetting) SetDeclinationConditional(v *ConditionalSpecification) *IntentConfirmationSetting { + s.DeclinationConditional = v + return s +} + +// SetDeclinationNextStep sets the DeclinationNextStep field's value. +func (s *IntentConfirmationSetting) SetDeclinationNextStep(v *DialogState) *IntentConfirmationSetting { + s.DeclinationNextStep = v + return s +} + // SetDeclinationResponse sets the DeclinationResponse field's value. func (s *IntentConfirmationSetting) SetDeclinationResponse(v *ResponseSpecification) *IntentConfirmationSetting { s.DeclinationResponse = v return s } +// SetElicitationCodeHook sets the ElicitationCodeHook field's value. +func (s *IntentConfirmationSetting) SetElicitationCodeHook(v *ElicitationCodeHookInvocationSetting) *IntentConfirmationSetting { + s.ElicitationCodeHook = v + return s +} + +// SetFailureConditional sets the FailureConditional field's value. +func (s *IntentConfirmationSetting) SetFailureConditional(v *ConditionalSpecification) *IntentConfirmationSetting { + s.FailureConditional = v + return s +} + +// SetFailureNextStep sets the FailureNextStep field's value. +func (s *IntentConfirmationSetting) SetFailureNextStep(v *DialogState) *IntentConfirmationSetting { + s.FailureNextStep = v + return s +} + +// SetFailureResponse sets the FailureResponse field's value. +func (s *IntentConfirmationSetting) SetFailureResponse(v *ResponseSpecification) *IntentConfirmationSetting { + s.FailureResponse = v + return s +} + // SetPromptSpecification sets the PromptSpecification field's value. func (s *IntentConfirmationSetting) SetPromptSpecification(v *PromptSpecification) *IntentConfirmationSetting { s.PromptSpecification = v @@ -18345,6 +19275,72 @@ func (s *IntentFilter) SetValues(v []*string) *IntentFilter { return s } +// Override settings to configure the intent state. +type IntentOverride struct { + _ struct{} `type:"structure"` + + // The name of the intent. Only required when you're switching intents. + Name *string `locationName:"name" min:"1" type:"string"` + + // A map of all of the slot value overrides for the intent. The name of the + // slot maps to the value of the slot. Slots that are not included in the map + // aren't overridden., + Slots map[string]*SlotValueOverride `locationName:"slots" 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 IntentOverride) 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 IntentOverride) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IntentOverride) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IntentOverride"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Slots != nil { + for i, v := range s.Slots { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Slots", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *IntentOverride) SetName(v string) *IntentOverride { + s.Name = &v + return s +} + +// SetSlots sets the Slots field's value. +func (s *IntentOverride) SetSlots(v map[string]*SlotValueOverride) *IntentOverride { + s.Slots = v + return s +} + // Specifies attributes for sorting a list of intents. type IntentSortBy struct { _ struct{} `type:"structure"` @@ -22006,15 +23002,182 @@ func (s *PlainTextMessage) Validate() error { invalidParams.Add(request.NewErrParamMinLen("Value", 1)) } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValue sets the Value field's value. +func (s *PlainTextMessage) SetValue(v string) *PlainTextMessage { + s.Value = &v + return s +} + +// Specifies next steps to run after the dialog code hook finishes. +type PostDialogCodeHookInvocationSpecification struct { + _ struct{} `type:"structure"` + + // A list of conditional branches to evaluate after the dialog code hook throws + // an exception or returns with the State field of the Intent object set to + // Failed. + FailureConditional *ConditionalSpecification `locationName:"failureConditional" type:"structure"` + + // Specifies the next step the bot runs after the dialog code hook throws an + // exception or returns with the State field of the Intent object set to Failed. + FailureNextStep *DialogState `locationName:"failureNextStep" type:"structure"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + FailureResponse *ResponseSpecification `locationName:"failureResponse" type:"structure"` + + // A list of conditional branches to evaluate after the dialog code hook finishes + // successfully. + SuccessConditional *ConditionalSpecification `locationName:"successConditional" type:"structure"` + + // Specifics the next step the bot runs after the dialog code hook finishes + // successfully. + SuccessNextStep *DialogState `locationName:"successNextStep" type:"structure"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + SuccessResponse *ResponseSpecification `locationName:"successResponse" type:"structure"` + + // A list of conditional branches to evaluate if the code hook times out. + TimeoutConditional *ConditionalSpecification `locationName:"timeoutConditional" type:"structure"` + + // Specifies the next step that the bot runs when the code hook times out. + TimeoutNextStep *DialogState `locationName:"timeoutNextStep" type:"structure"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + TimeoutResponse *ResponseSpecification `locationName:"timeoutResponse" 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 PostDialogCodeHookInvocationSpecification) 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 PostDialogCodeHookInvocationSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PostDialogCodeHookInvocationSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PostDialogCodeHookInvocationSpecification"} + if s.FailureConditional != nil { + if err := s.FailureConditional.Validate(); err != nil { + invalidParams.AddNested("FailureConditional", err.(request.ErrInvalidParams)) + } + } + if s.FailureNextStep != nil { + if err := s.FailureNextStep.Validate(); err != nil { + invalidParams.AddNested("FailureNextStep", err.(request.ErrInvalidParams)) + } + } + if s.FailureResponse != nil { + if err := s.FailureResponse.Validate(); err != nil { + invalidParams.AddNested("FailureResponse", err.(request.ErrInvalidParams)) + } + } + if s.SuccessConditional != nil { + if err := s.SuccessConditional.Validate(); err != nil { + invalidParams.AddNested("SuccessConditional", err.(request.ErrInvalidParams)) + } + } + if s.SuccessNextStep != nil { + if err := s.SuccessNextStep.Validate(); err != nil { + invalidParams.AddNested("SuccessNextStep", err.(request.ErrInvalidParams)) + } + } + if s.SuccessResponse != nil { + if err := s.SuccessResponse.Validate(); err != nil { + invalidParams.AddNested("SuccessResponse", err.(request.ErrInvalidParams)) + } + } + if s.TimeoutConditional != nil { + if err := s.TimeoutConditional.Validate(); err != nil { + invalidParams.AddNested("TimeoutConditional", err.(request.ErrInvalidParams)) + } + } + if s.TimeoutNextStep != nil { + if err := s.TimeoutNextStep.Validate(); err != nil { + invalidParams.AddNested("TimeoutNextStep", err.(request.ErrInvalidParams)) + } + } + if s.TimeoutResponse != nil { + if err := s.TimeoutResponse.Validate(); err != nil { + invalidParams.AddNested("TimeoutResponse", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFailureConditional sets the FailureConditional field's value. +func (s *PostDialogCodeHookInvocationSpecification) SetFailureConditional(v *ConditionalSpecification) *PostDialogCodeHookInvocationSpecification { + s.FailureConditional = v + return s +} + +// SetFailureNextStep sets the FailureNextStep field's value. +func (s *PostDialogCodeHookInvocationSpecification) SetFailureNextStep(v *DialogState) *PostDialogCodeHookInvocationSpecification { + s.FailureNextStep = v + return s +} + +// SetFailureResponse sets the FailureResponse field's value. +func (s *PostDialogCodeHookInvocationSpecification) SetFailureResponse(v *ResponseSpecification) *PostDialogCodeHookInvocationSpecification { + s.FailureResponse = v + return s +} + +// SetSuccessConditional sets the SuccessConditional field's value. +func (s *PostDialogCodeHookInvocationSpecification) SetSuccessConditional(v *ConditionalSpecification) *PostDialogCodeHookInvocationSpecification { + s.SuccessConditional = v + return s +} + +// SetSuccessNextStep sets the SuccessNextStep field's value. +func (s *PostDialogCodeHookInvocationSpecification) SetSuccessNextStep(v *DialogState) *PostDialogCodeHookInvocationSpecification { + s.SuccessNextStep = v + return s +} + +// SetSuccessResponse sets the SuccessResponse field's value. +func (s *PostDialogCodeHookInvocationSpecification) SetSuccessResponse(v *ResponseSpecification) *PostDialogCodeHookInvocationSpecification { + s.SuccessResponse = v + return s +} + +// SetTimeoutConditional sets the TimeoutConditional field's value. +func (s *PostDialogCodeHookInvocationSpecification) SetTimeoutConditional(v *ConditionalSpecification) *PostDialogCodeHookInvocationSpecification { + s.TimeoutConditional = v + return s } -// SetValue sets the Value field's value. -func (s *PlainTextMessage) SetValue(v string) *PlainTextMessage { - s.Value = &v +// SetTimeoutNextStep sets the TimeoutNextStep field's value. +func (s *PostDialogCodeHookInvocationSpecification) SetTimeoutNextStep(v *DialogState) *PostDialogCodeHookInvocationSpecification { + s.TimeoutNextStep = v + return s +} + +// SetTimeoutResponse sets the TimeoutResponse field's value. +func (s *PostDialogCodeHookInvocationSpecification) SetTimeoutResponse(v *ResponseSpecification) *PostDialogCodeHookInvocationSpecification { + s.TimeoutResponse = v return s } @@ -22024,14 +23187,40 @@ func (s *PlainTextMessage) SetValue(v string) *PlainTextMessage { type PostFulfillmentStatusSpecification struct { _ struct{} `type:"structure"` + // A list of conditional branches to evaluate after the fulfillment code hook + // throws an exception or returns with the State field of the Intent object + // set to Failed. + FailureConditional *ConditionalSpecification `locationName:"failureConditional" type:"structure"` + + // Specifies the next step the bot runs after the fulfillment code hook throws + // an exception or returns with the State field of the Intent object set to + // Failed. + FailureNextStep *DialogState `locationName:"failureNextStep" type:"structure"` + // Specifies a list of message groups that Amazon Lex uses to respond the user // input. FailureResponse *ResponseSpecification `locationName:"failureResponse" type:"structure"` + // A list of conditional branches to evaluate after the fulfillment code hook + // finishes successfully. + SuccessConditional *ConditionalSpecification `locationName:"successConditional" type:"structure"` + + // Specifies the next step in the conversation that Amazon Lex invokes when + // the fulfillment code hook completes successfully. + SuccessNextStep *DialogState `locationName:"successNextStep" type:"structure"` + // Specifies a list of message groups that Amazon Lex uses to respond the user // input. SuccessResponse *ResponseSpecification `locationName:"successResponse" type:"structure"` + // A list of conditional branches to evaluate if the fulfillment code hook times + // out. + TimeoutConditional *ConditionalSpecification `locationName:"timeoutConditional" type:"structure"` + + // Specifies the next step that the bot runs when the fulfillment code hook + // times out. + TimeoutNextStep *DialogState `locationName:"timeoutNextStep" type:"structure"` + // Specifies a list of message groups that Amazon Lex uses to respond the user // input. TimeoutResponse *ResponseSpecification `locationName:"timeoutResponse" type:"structure"` @@ -22058,16 +23247,46 @@ func (s PostFulfillmentStatusSpecification) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *PostFulfillmentStatusSpecification) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PostFulfillmentStatusSpecification"} + if s.FailureConditional != nil { + if err := s.FailureConditional.Validate(); err != nil { + invalidParams.AddNested("FailureConditional", err.(request.ErrInvalidParams)) + } + } + if s.FailureNextStep != nil { + if err := s.FailureNextStep.Validate(); err != nil { + invalidParams.AddNested("FailureNextStep", err.(request.ErrInvalidParams)) + } + } if s.FailureResponse != nil { if err := s.FailureResponse.Validate(); err != nil { invalidParams.AddNested("FailureResponse", err.(request.ErrInvalidParams)) } } + if s.SuccessConditional != nil { + if err := s.SuccessConditional.Validate(); err != nil { + invalidParams.AddNested("SuccessConditional", err.(request.ErrInvalidParams)) + } + } + if s.SuccessNextStep != nil { + if err := s.SuccessNextStep.Validate(); err != nil { + invalidParams.AddNested("SuccessNextStep", err.(request.ErrInvalidParams)) + } + } if s.SuccessResponse != nil { if err := s.SuccessResponse.Validate(); err != nil { invalidParams.AddNested("SuccessResponse", err.(request.ErrInvalidParams)) } } + if s.TimeoutConditional != nil { + if err := s.TimeoutConditional.Validate(); err != nil { + invalidParams.AddNested("TimeoutConditional", err.(request.ErrInvalidParams)) + } + } + if s.TimeoutNextStep != nil { + if err := s.TimeoutNextStep.Validate(); err != nil { + invalidParams.AddNested("TimeoutNextStep", err.(request.ErrInvalidParams)) + } + } if s.TimeoutResponse != nil { if err := s.TimeoutResponse.Validate(); err != nil { invalidParams.AddNested("TimeoutResponse", err.(request.ErrInvalidParams)) @@ -22080,18 +23299,54 @@ func (s *PostFulfillmentStatusSpecification) Validate() error { return nil } +// SetFailureConditional sets the FailureConditional field's value. +func (s *PostFulfillmentStatusSpecification) SetFailureConditional(v *ConditionalSpecification) *PostFulfillmentStatusSpecification { + s.FailureConditional = v + return s +} + +// SetFailureNextStep sets the FailureNextStep field's value. +func (s *PostFulfillmentStatusSpecification) SetFailureNextStep(v *DialogState) *PostFulfillmentStatusSpecification { + s.FailureNextStep = v + return s +} + // SetFailureResponse sets the FailureResponse field's value. func (s *PostFulfillmentStatusSpecification) SetFailureResponse(v *ResponseSpecification) *PostFulfillmentStatusSpecification { s.FailureResponse = v return s } +// SetSuccessConditional sets the SuccessConditional field's value. +func (s *PostFulfillmentStatusSpecification) SetSuccessConditional(v *ConditionalSpecification) *PostFulfillmentStatusSpecification { + s.SuccessConditional = v + return s +} + +// SetSuccessNextStep sets the SuccessNextStep field's value. +func (s *PostFulfillmentStatusSpecification) SetSuccessNextStep(v *DialogState) *PostFulfillmentStatusSpecification { + s.SuccessNextStep = v + return s +} + // SetSuccessResponse sets the SuccessResponse field's value. func (s *PostFulfillmentStatusSpecification) SetSuccessResponse(v *ResponseSpecification) *PostFulfillmentStatusSpecification { s.SuccessResponse = v return s } +// SetTimeoutConditional sets the TimeoutConditional field's value. +func (s *PostFulfillmentStatusSpecification) SetTimeoutConditional(v *ConditionalSpecification) *PostFulfillmentStatusSpecification { + s.TimeoutConditional = v + return s +} + +// SetTimeoutNextStep sets the TimeoutNextStep field's value. +func (s *PostFulfillmentStatusSpecification) SetTimeoutNextStep(v *DialogState) *PostFulfillmentStatusSpecification { + s.TimeoutNextStep = v + return s +} + // SetTimeoutResponse sets the TimeoutResponse field's value. func (s *PostFulfillmentStatusSpecification) SetTimeoutResponse(v *ResponseSpecification) *PostFulfillmentStatusSpecification { s.TimeoutResponse = v @@ -23306,6 +24561,155 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } +// Settings used when Amazon Lex successfully captures a slot value from a user. +type SlotCaptureSetting struct { + _ struct{} `type:"structure"` + + // A list of conditional branches to evaluate after the slot value is captured. + CaptureConditional *ConditionalSpecification `locationName:"captureConditional" type:"structure"` + + // Specifies the next step that the bot runs when the slot value is captured + // before the code hook times out. + CaptureNextStep *DialogState `locationName:"captureNextStep" type:"structure"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + CaptureResponse *ResponseSpecification `locationName:"captureResponse" type:"structure"` + + // Code hook called after Amazon Lex successfully captures a slot value. + CodeHook *DialogCodeHookInvocationSetting `locationName:"codeHook" type:"structure"` + + // Code hook called when Amazon Lex doesn't capture a slot value. + ElicitationCodeHook *ElicitationCodeHookInvocationSetting `locationName:"elicitationCodeHook" type:"structure"` + + // A list of conditional branches to evaluate when the slot value isn't captured. + FailureConditional *ConditionalSpecification `locationName:"failureConditional" type:"structure"` + + // Specifies the next step that the bot runs when the slot value code is not + // recognized. + FailureNextStep *DialogState `locationName:"failureNextStep" type:"structure"` + + // Specifies a list of message groups that Amazon Lex uses to respond the user + // input. + FailureResponse *ResponseSpecification `locationName:"failureResponse" 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 SlotCaptureSetting) 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 SlotCaptureSetting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SlotCaptureSetting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SlotCaptureSetting"} + if s.CaptureConditional != nil { + if err := s.CaptureConditional.Validate(); err != nil { + invalidParams.AddNested("CaptureConditional", err.(request.ErrInvalidParams)) + } + } + if s.CaptureNextStep != nil { + if err := s.CaptureNextStep.Validate(); err != nil { + invalidParams.AddNested("CaptureNextStep", err.(request.ErrInvalidParams)) + } + } + if s.CaptureResponse != nil { + if err := s.CaptureResponse.Validate(); err != nil { + invalidParams.AddNested("CaptureResponse", err.(request.ErrInvalidParams)) + } + } + if s.CodeHook != nil { + if err := s.CodeHook.Validate(); err != nil { + invalidParams.AddNested("CodeHook", err.(request.ErrInvalidParams)) + } + } + if s.ElicitationCodeHook != nil { + if err := s.ElicitationCodeHook.Validate(); err != nil { + invalidParams.AddNested("ElicitationCodeHook", err.(request.ErrInvalidParams)) + } + } + if s.FailureConditional != nil { + if err := s.FailureConditional.Validate(); err != nil { + invalidParams.AddNested("FailureConditional", err.(request.ErrInvalidParams)) + } + } + if s.FailureNextStep != nil { + if err := s.FailureNextStep.Validate(); err != nil { + invalidParams.AddNested("FailureNextStep", err.(request.ErrInvalidParams)) + } + } + if s.FailureResponse != nil { + if err := s.FailureResponse.Validate(); err != nil { + invalidParams.AddNested("FailureResponse", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaptureConditional sets the CaptureConditional field's value. +func (s *SlotCaptureSetting) SetCaptureConditional(v *ConditionalSpecification) *SlotCaptureSetting { + s.CaptureConditional = v + return s +} + +// SetCaptureNextStep sets the CaptureNextStep field's value. +func (s *SlotCaptureSetting) SetCaptureNextStep(v *DialogState) *SlotCaptureSetting { + s.CaptureNextStep = v + return s +} + +// SetCaptureResponse sets the CaptureResponse field's value. +func (s *SlotCaptureSetting) SetCaptureResponse(v *ResponseSpecification) *SlotCaptureSetting { + s.CaptureResponse = v + return s +} + +// SetCodeHook sets the CodeHook field's value. +func (s *SlotCaptureSetting) SetCodeHook(v *DialogCodeHookInvocationSetting) *SlotCaptureSetting { + s.CodeHook = v + return s +} + +// SetElicitationCodeHook sets the ElicitationCodeHook field's value. +func (s *SlotCaptureSetting) SetElicitationCodeHook(v *ElicitationCodeHookInvocationSetting) *SlotCaptureSetting { + s.ElicitationCodeHook = v + return s +} + +// SetFailureConditional sets the FailureConditional field's value. +func (s *SlotCaptureSetting) SetFailureConditional(v *ConditionalSpecification) *SlotCaptureSetting { + s.FailureConditional = v + return s +} + +// SetFailureNextStep sets the FailureNextStep field's value. +func (s *SlotCaptureSetting) SetFailureNextStep(v *DialogState) *SlotCaptureSetting { + s.FailureNextStep = v + return s +} + +// SetFailureResponse sets the FailureResponse field's value. +func (s *SlotCaptureSetting) SetFailureResponse(v *ResponseSpecification) *SlotCaptureSetting { + s.FailureResponse = v + return s +} + // Specifies the default value to use when a user doesn't provide a value for // a slot. type SlotDefaultValue struct { @@ -24042,6 +25446,54 @@ func (s *SlotTypeValue) SetSynonyms(v []*SampleValue) *SlotTypeValue { return s } +// The value to set in a slot. +type SlotValue struct { + _ struct{} `type:"structure"` + + // The value that Amazon Lex determines for the slot. The actual value depends + // on the setting of the value selection strategy for the bot. You can choose + // to use the value entered by the user, or you can have Amazon Lex choose the + // first value in the resolvedValues list. + InterpretedValue *string `locationName:"interpretedValue" 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 SlotValue) 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 SlotValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SlotValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SlotValue"} + if s.InterpretedValue != nil && len(*s.InterpretedValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InterpretedValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInterpretedValue sets the InterpretedValue field's value. +func (s *SlotValue) SetInterpretedValue(v string) *SlotValue { + s.InterpretedValue = &v + return s +} + // Settings that you can use for eliciting a slot value. type SlotValueElicitationSetting struct { _ struct{} `type:"structure"` @@ -24060,6 +25512,10 @@ type SlotValueElicitationSetting struct { // utterances. SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"` + // Specifies the settings that Amazon Lex uses when a slot value is successfully + // entered by a user. + SlotCaptureSetting *SlotCaptureSetting `locationName:"slotCaptureSetting" type:"structure"` + // Specifies whether the slot is required or optional. // // SlotConstraint is a required field @@ -24114,6 +25570,11 @@ func (s *SlotValueElicitationSetting) Validate() error { } } } + if s.SlotCaptureSetting != nil { + if err := s.SlotCaptureSetting.Validate(); err != nil { + invalidParams.AddNested("SlotCaptureSetting", err.(request.ErrInvalidParams)) + } + } if s.WaitAndContinueSpecification != nil { if err := s.WaitAndContinueSpecification.Validate(); err != nil { invalidParams.AddNested("WaitAndContinueSpecification", err.(request.ErrInvalidParams)) @@ -24144,6 +25605,12 @@ func (s *SlotValueElicitationSetting) SetSampleUtterances(v []*SampleUtterance) return s } +// SetSlotCaptureSetting sets the SlotCaptureSetting field's value. +func (s *SlotValueElicitationSetting) SetSlotCaptureSetting(v *SlotCaptureSetting) *SlotValueElicitationSetting { + s.SlotCaptureSetting = v + return s +} + // SetSlotConstraint sets the SlotConstraint field's value. func (s *SlotValueElicitationSetting) SetSlotConstraint(v string) *SlotValueElicitationSetting { s.SlotConstraint = &v @@ -24156,6 +25623,86 @@ func (s *SlotValueElicitationSetting) SetWaitAndContinueSpecification(v *WaitAnd return s } +// The slot values that Amazon Lex uses when it sets slot values in a dialog +// step. +type SlotValueOverride struct { + _ struct{} `type:"structure"` + + // When the shape value is List, it indicates that the values field contains + // a list of slot values. When the value is Scalar, it indicates that the value + // field contains a single value. + Shape *string `locationName:"shape" type:"string" enum:"SlotShape"` + + // The current value of the slot. + Value *SlotValue `locationName:"value" type:"structure"` + + // A list of one or more values that the user provided for the slot. For example, + // for a slot that elicits pizza toppings, the values might be "pepperoni" and + // "pineapple." + Values []*SlotValueOverride `locationName:"values" 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 SlotValueOverride) 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 SlotValueOverride) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SlotValueOverride) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SlotValueOverride"} + if s.Value != nil { + if err := s.Value.Validate(); err != nil { + invalidParams.AddNested("Value", err.(request.ErrInvalidParams)) + } + } + if s.Values != nil { + for i, v := range s.Values { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Values", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetShape sets the Shape field's value. +func (s *SlotValueOverride) SetShape(v string) *SlotValueOverride { + s.Shape = &v + return s +} + +// SetValue sets the Value field's value. +func (s *SlotValueOverride) SetValue(v *SlotValue) *SlotValueOverride { + s.Value = v + return s +} + +// SetValues sets the Values field's value. +func (s *SlotValueOverride) SetValues(v []*SlotValueOverride) *SlotValueOverride { + s.Values = v + return s +} + // Provides a regular expression used to validate the value of a slot. type SlotValueRegexFilter struct { _ struct{} `type:"structure"` @@ -26453,6 +28000,10 @@ type UpdateIntentInput struct { // provided and the intent is ready for fulfillment. FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"` + // Configuration setting for a response sent to the user before Amazon Lex starts + // eliciting slots. + InitialResponseSetting *InitialResponseSetting `locationName:"initialResponseSetting" type:"structure"` + // A new list of contexts that must be active in order for Amazon Lex to consider // the intent. InputContexts []*InputContext `locationName:"inputContexts" type:"list"` @@ -26558,6 +28109,11 @@ func (s *UpdateIntentInput) Validate() error { invalidParams.AddNested("FulfillmentCodeHook", err.(request.ErrInvalidParams)) } } + if s.InitialResponseSetting != nil { + if err := s.InitialResponseSetting.Validate(); err != nil { + invalidParams.AddNested("InitialResponseSetting", err.(request.ErrInvalidParams)) + } + } if s.InputContexts != nil { for i, v := range s.InputContexts { if v == nil { @@ -26650,6 +28206,12 @@ func (s *UpdateIntentInput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSetting return s } +// SetInitialResponseSetting sets the InitialResponseSetting field's value. +func (s *UpdateIntentInput) SetInitialResponseSetting(v *InitialResponseSetting) *UpdateIntentInput { + s.InitialResponseSetting = v + return s +} + // SetInputContexts sets the InputContexts field's value. func (s *UpdateIntentInput) SetInputContexts(v []*InputContext) *UpdateIntentInput { s.InputContexts = v @@ -26738,6 +28300,10 @@ type UpdateIntentOutput struct { // The updated Lambda function called when the intent is ready for fulfillment. FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"` + // Configuration setting for a response sent to the user before Amazon Lex starts + // eliciting slots. + InitialResponseSetting *InitialResponseSetting `locationName:"initialResponseSetting" type:"structure"` + // The updated list of contexts that must be active for the intent to be considered // by Amazon Lex. InputContexts []*InputContext `locationName:"inputContexts" type:"list"` @@ -26834,6 +28400,12 @@ func (s *UpdateIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettin return s } +// SetInitialResponseSetting sets the InitialResponseSetting field's value. +func (s *UpdateIntentOutput) SetInitialResponseSetting(v *InitialResponseSetting) *UpdateIntentOutput { + s.InitialResponseSetting = v + return s +} + // SetInputContexts sets the InputContexts field's value. func (s *UpdateIntentOutput) SetInputContexts(v []*InputContext) *UpdateIntentOutput { s.InputContexts = v @@ -28342,6 +29914,50 @@ func CustomVocabularyStatus_Values() []string { } } +const ( + // DialogActionTypeElicitIntent is a DialogActionType enum value + DialogActionTypeElicitIntent = "ElicitIntent" + + // DialogActionTypeStartIntent is a DialogActionType enum value + DialogActionTypeStartIntent = "StartIntent" + + // DialogActionTypeElicitSlot is a DialogActionType enum value + DialogActionTypeElicitSlot = "ElicitSlot" + + // DialogActionTypeEvaluateConditional is a DialogActionType enum value + DialogActionTypeEvaluateConditional = "EvaluateConditional" + + // DialogActionTypeInvokeDialogCodeHook is a DialogActionType enum value + DialogActionTypeInvokeDialogCodeHook = "InvokeDialogCodeHook" + + // DialogActionTypeConfirmIntent is a DialogActionType enum value + DialogActionTypeConfirmIntent = "ConfirmIntent" + + // DialogActionTypeFulfillIntent is a DialogActionType enum value + DialogActionTypeFulfillIntent = "FulfillIntent" + + // DialogActionTypeCloseIntent is a DialogActionType enum value + DialogActionTypeCloseIntent = "CloseIntent" + + // DialogActionTypeEndConversation is a DialogActionType enum value + DialogActionTypeEndConversation = "EndConversation" +) + +// DialogActionType_Values returns all elements of the DialogActionType enum +func DialogActionType_Values() []string { + return []string{ + DialogActionTypeElicitIntent, + DialogActionTypeStartIntent, + DialogActionTypeElicitSlot, + DialogActionTypeEvaluateConditional, + DialogActionTypeInvokeDialogCodeHook, + DialogActionTypeConfirmIntent, + DialogActionTypeFulfillIntent, + DialogActionTypeCloseIntent, + DialogActionTypeEndConversation, + } +} + const ( // EffectAllow is a Effect enum value EffectAllow = "Allow" @@ -28678,6 +30294,22 @@ func SlotFilterOperator_Values() []string { } } +const ( + // SlotShapeScalar is a SlotShape enum value + SlotShapeScalar = "Scalar" + + // SlotShapeList is a SlotShape enum value + SlotShapeList = "List" +) + +// SlotShape_Values returns all elements of the SlotShape enum +func SlotShape_Values() []string { + return []string{ + SlotShapeScalar, + SlotShapeList, + } +} + const ( // SlotSortAttributeSlotName is a SlotSortAttribute enum value SlotSortAttributeSlotName = "SlotName" diff --git a/service/rds/api.go b/service/rds/api.go index 62b3964f0cd..813e929824d 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -525,6 +525,14 @@ func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityG // // For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). // +// EC2-Classic was retired on August 15, 2022. If you haven't migrated from +// EC2-Classic to a VPC, we recommend that you migrate as soon as possible. +// For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) +// in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring +// – Here’s How to Prepare (http://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/), +// and Moving a DB instance not in a VPC into a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Non-VPC2VPC.html) +// in the Amazon RDS User Guide. +// // 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. @@ -2477,6 +2485,14 @@ func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (r // A DB security group controls access to EC2-Classic DB instances that are // not in a VPC. // +// EC2-Classic was retired on August 15, 2022. If you haven't migrated from +// EC2-Classic to a VPC, we recommend that you migrate as soon as possible. +// For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) +// in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring +// – Here’s How to Prepare (http://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/), +// and Moving a DB instance not in a VPC into a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Non-VPC2VPC.html) +// in the Amazon RDS User Guide. +// // 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. @@ -2768,8 +2784,13 @@ func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput // you are notified of events generated from all RDS sources belonging to your // customer account. // -// RDS event notification is only available for unencrypted SNS topics. If you -// specify an encrypted SNS topic, event notifications aren't sent for the topic. +// For more information about subscribing to an event for RDS DB engines, see +// Subscribing to Amazon RDS event notification (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Subscribing.html) +// in the Amazon RDS User Guide. +// +// For more information about subscribing to an event for Aurora DB engines, +// see Subscribing to Amazon RDS event notification (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Subscribing.html) +// in the Amazon Aurora User Guide. // // 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 @@ -3990,6 +4011,14 @@ func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (r // // The specified DB security group must not be associated with any DB instances. // +// EC2-Classic was retired on August 15, 2022. If you haven't migrated from +// EC2-Classic to a VPC, we recommend that you migrate as soon as possible. +// For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) +// in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring +// – Here’s How to Prepare (http://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/), +// and Moving a DB instance not in a VPC into a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Non-VPC2VPC.html) +// in the Amazon RDS User Guide. +// // 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. @@ -7151,6 +7180,14 @@ func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInp // is specified, the list will contain only the descriptions of the specified // DB security group. // +// EC2-Classic was retired on August 15, 2022. If you haven't migrated from +// EC2-Classic to a VPC, we recommend that you migrate as soon as possible. +// For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) +// in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring +// – Here’s How to Prepare (http://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/), +// and Moving a DB instance not in a VPC into a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Non-VPC2VPC.html) +// in the Amazon RDS User Guide. +// // 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. @@ -14027,6 +14064,14 @@ func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIn // CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either // EC2SecurityGroupName or EC2SecurityGroupId). // +// EC2-Classic was retired on August 15, 2022. If you haven't migrated from +// EC2-Classic to a VPC, we recommend that you migrate as soon as possible. +// For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) +// in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring +// – Here’s How to Prepare (http://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/), +// and Moving a DB instance not in a VPC into a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Non-VPC2VPC.html) +// in the Amazon RDS User Guide. +// // 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. @@ -18771,6 +18816,24 @@ type CreateDBClusterInput struct { // Valid for: Multi-AZ DB clusters only MonitoringRoleArn *string `type:"string"` + // The network type of the DB cluster. + // + // Valid values: + // + // * IPV4 + // + // * DUAL + // + // The network type is determined by the DBSubnetGroup specified for the DB + // cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and + // the IPv6 protocols (DUAL). + // + // For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) + // in the Amazon Aurora User Guide. + // + // Valid for: Aurora DB clusters only + NetworkType *string `type:"string"` + // A value that indicates that the DB cluster should be associated with the // specified option group. // @@ -19223,6 +19286,12 @@ func (s *CreateDBClusterInput) SetMonitoringRoleArn(v string) *CreateDBClusterIn return s } +// SetNetworkType sets the NetworkType field's value. +func (s *CreateDBClusterInput) SetNetworkType(v string) *CreateDBClusterInput { + s.NetworkType = &v + return s +} + // SetOptionGroupName sets the OptionGroupName field's value. func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput { s.OptionGroupName = &v @@ -23342,6 +23411,24 @@ type DBCluster struct { // Specifies whether the DB cluster has instances in multiple Availability Zones. MultiAZ *bool `type:"boolean"` + // The network type of the DB instance. + // + // Valid values: + // + // * IPV4 + // + // * DUAL + // + // The network type is determined by the DBSubnetGroup specified for the DB + // cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and + // the IPv6 protocols (DUAL). + // + // For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) + // in the Amazon Aurora User Guide. + // + // This setting is only for Aurora DB clusters. + NetworkType *string `type:"string"` + // A value that specifies that changes to the DB cluster are pending. This element // is only included when changes are pending. Specific changes are identified // by subelements. @@ -23780,6 +23867,12 @@ func (s *DBCluster) SetMultiAZ(v bool) *DBCluster { return s } +// SetNetworkType sets the NetworkType field's value. +func (s *DBCluster) SetNetworkType(v string) *DBCluster { + s.NetworkType = &v + return s +} + // SetPendingModifiedValues sets the PendingModifiedValues field's value. func (s *DBCluster) SetPendingModifiedValues(v *ClusterPendingModifiedValues) *DBCluster { s.PendingModifiedValues = v @@ -38234,6 +38327,24 @@ type ModifyDBClusterInput struct { // Valid for: Multi-AZ DB clusters only MonitoringRoleArn *string `type:"string"` + // The network type of the DB cluster. + // + // Valid values: + // + // * IPV4 + // + // * DUAL + // + // The network type is determined by the DBSubnetGroup specified for the DB + // cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and + // the IPv6 protocols (DUAL). + // + // For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) + // in the Amazon Aurora User Guide. + // + // Valid for: Aurora DB clusters only + NetworkType *string `type:"string"` + // The new DB cluster identifier for the DB cluster when renaming a DB cluster. // This value is stored as a lowercase string. // @@ -38547,6 +38658,12 @@ func (s *ModifyDBClusterInput) SetMonitoringRoleArn(v string) *ModifyDBClusterIn return s } +// SetNetworkType sets the NetworkType field's value. +func (s *ModifyDBClusterInput) SetNetworkType(v string) *ModifyDBClusterInput { + s.NetworkType = &v + return s +} + // SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value. func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput { s.NewDBClusterIdentifier = &v @@ -44664,6 +44781,22 @@ type RestoreDBClusterFromS3Input struct { // MasterUsername is a required field MasterUsername *string `type:"string" required:"true"` + // The network type of the DB cluster. + // + // Valid values: + // + // * IPV4 + // + // * DUAL + // + // The network type is determined by the DBSubnetGroup specified for the DB + // cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and + // the IPv6 protocols (DUAL). + // + // For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) + // in the Amazon Aurora User Guide. + NetworkType *string `type:"string"` + // A value that indicates that the restored DB cluster should be associated // with the specified option group. // @@ -44931,6 +45064,12 @@ func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClus return s } +// SetNetworkType sets the NetworkType field's value. +func (s *RestoreDBClusterFromS3Input) SetNetworkType(v string) *RestoreDBClusterFromS3Input { + s.NetworkType = &v + return s +} + // SetOptionGroupName sets the OptionGroupName field's value. func (s *RestoreDBClusterFromS3Input) SetOptionGroupName(v string) *RestoreDBClusterFromS3Input { s.OptionGroupName = &v @@ -45314,6 +45453,24 @@ type RestoreDBClusterFromSnapshotInput struct { // Valid for: Aurora DB clusters and Multi-AZ DB clusters KmsKeyId *string `type:"string"` + // The network type of the DB cluster. + // + // Valid values: + // + // * IPV4 + // + // * DUAL + // + // The network type is determined by the DBSubnetGroup specified for the DB + // cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and + // the IPv6 protocols (DUAL). + // + // For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) + // in the Amazon Aurora User Guide. + // + // Valid for: Aurora DB clusters only + NetworkType *string `type:"string"` + // The name of the option group to use for the restored DB cluster. // // DB clusters are associated with a default option group that can't be modified. @@ -45559,6 +45716,12 @@ func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClus return s } +// SetNetworkType sets the NetworkType field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetNetworkType(v string) *RestoreDBClusterFromSnapshotInput { + s.NetworkType = &v + return s +} + // SetOptionGroupName sets the OptionGroupName field's value. func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput { s.OptionGroupName = &v @@ -45850,6 +46013,24 @@ type RestoreDBClusterToPointInTimeInput struct { // Valid for: Aurora DB clusters and Multi-AZ DB clusters KmsKeyId *string `type:"string"` + // The network type of the DB cluster. + // + // Valid values: + // + // * IPV4 + // + // * DUAL + // + // The network type is determined by the DBSubnetGroup specified for the DB + // cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and + // the IPv6 protocols (DUAL). + // + // For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) + // in the Amazon Aurora User Guide. + // + // Valid for: Aurora DB clusters only + NetworkType *string `type:"string"` + // The name of the option group for the new DB cluster. // // DB clusters are associated with a default option group that can't be modified. @@ -46109,6 +46290,12 @@ func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClu return s } +// SetNetworkType sets the NetworkType field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetNetworkType(v string) *RestoreDBClusterToPointInTimeInput { + s.NetworkType = &v + return s +} + // SetOptionGroupName sets the OptionGroupName field's value. func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput { s.OptionGroupName = &v diff --git a/service/secretsmanager/api.go b/service/secretsmanager/api.go index 54f3ac8d774..01dc79ec0b7 100644 --- a/service/secretsmanager/api.go +++ b/service/secretsmanager/api.go @@ -102,6 +102,10 @@ func (c *SecretsManager) CancelRotateSecretRequest(input *CancelRotateSecretInpu // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/CancelRotateSecret func (c *SecretsManager) CancelRotateSecret(input *CancelRotateSecretInput) (*CancelRotateSecretOutput, error) { req, out := c.CancelRotateSecretRequest(input) @@ -230,6 +234,10 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - LimitExceededException // The request failed because it would exceed one of the Secrets Manager quotas. // @@ -355,6 +363,10 @@ func (c *SecretsManager) DeleteResourcePolicyRequest(input *DeleteResourcePolicy // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InvalidParameterException // The parameter name or value is invalid. // @@ -485,6 +497,10 @@ func (c *SecretsManager) DeleteSecretRequest(input *DeleteSecretInput) (req *req // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InternalServiceError // An error occurred on the server side. // @@ -674,6 +690,10 @@ func (c *SecretsManager) GetRandomPasswordRequest(input *GetRandomPasswordInput) // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InternalServiceError // An error occurred on the server side. // @@ -776,6 +796,10 @@ func (c *SecretsManager) GetResourcePolicyRequest(input *GetResourcePolicyInput) // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InvalidParameterException // The parameter name or value is invalid. // @@ -851,6 +875,10 @@ func (c *SecretsManager) GetSecretValueRequest(input *GetSecretValueInput) (req // Caching secrets improves speed and reduces your costs. For more information, // see Cache secrets for your applications (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). // +// To retrieve the previous version of a secret, use VersionStage and specify +// AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage +// (https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/update-secret-version-stage.html). +// // Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted // using a customer-managed key instead of the Amazon Web Services managed key // aws/secretsmanager, then you also need kms:Decrypt permissions for that key. @@ -883,6 +911,10 @@ func (c *SecretsManager) GetSecretValueRequest(input *GetSecretValueInput) (req // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - DecryptionFailure // Secrets Manager can't decrypt the protected secret text using the provided // KMS key. @@ -1310,6 +1342,10 @@ func (c *SecretsManager) PutResourcePolicyRequest(input *PutResourcePolicyInput) // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - PublicPolicyException // The BlockPublicPolicy parameter is set to true, and the resource policy did // not prevent broad access to the secret. @@ -1434,6 +1470,10 @@ func (c *SecretsManager) PutSecretValueRequest(input *PutSecretValueInput) (req // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - LimitExceededException // The request failed because it would exceed one of the Secrets Manager quotas. // @@ -1550,6 +1590,10 @@ func (c *SecretsManager) RemoveRegionsFromReplicationRequest(input *RemoveRegion // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InvalidParameterException // The parameter name or value is invalid. // @@ -1650,6 +1694,10 @@ func (c *SecretsManager) ReplicateSecretToRegionsRequest(input *ReplicateSecretT // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InvalidParameterException // The parameter name or value is invalid. // @@ -1754,6 +1802,10 @@ func (c *SecretsManager) RestoreSecretRequest(input *RestoreSecretInput) (req *r // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InternalServiceError // An error occurred on the server side. // @@ -1891,6 +1943,10 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/RotateSecret func (c *SecretsManager) RotateSecret(input *RotateSecretInput) (*RotateSecretOutput, error) { req, out := c.RotateSecretRequest(input) @@ -1989,6 +2045,10 @@ func (c *SecretsManager) StopReplicationToReplicaRequest(input *StopReplicationT // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InvalidParameterException // The parameter name or value is invalid. // @@ -2117,6 +2177,10 @@ func (c *SecretsManager) TagResourceRequest(input *TagResourceInput) (req *reque // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InvalidParameterException // The parameter name or value is invalid. // @@ -2226,6 +2290,10 @@ func (c *SecretsManager) UntagResourceRequest(input *UntagResourceInput) (req *r // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - InvalidParameterException // The parameter name or value is invalid. // @@ -2319,17 +2387,6 @@ func (c *SecretsManager) UpdateSecretRequest(input *UpdateSecretInput) (req *req // an existing version, you can only create a new version. To remove a version, // remove all staging labels from it. See UpdateSecretVersionStage. // -// If you don't specify an KMS encryption key, Secrets Manager uses the Amazon -// Web Services managed key aws/secretsmanager. If this key doesn't already -// exist in your account, then Secrets Manager creates it for you automatically. -// All users and roles in the Amazon Web Services account automatically have -// access to use aws/secretsmanager. Creating aws/secretsmanager can result -// in a one-time significant delay in returning the result. -// -// If the secret is in a different Amazon Web Services account from the credentials -// calling the API, then you can't use aws/secretsmanager to encrypt the secret, -// and you must create and use a customer managed key. -// // Required permissions: secretsmanager:UpdateSecret. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -2360,6 +2417,10 @@ func (c *SecretsManager) UpdateSecretRequest(input *UpdateSecretInput) (req *req // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - LimitExceededException // The request failed because it would exceed one of the Secrets Manager quotas. // @@ -2503,6 +2564,10 @@ func (c *SecretsManager) UpdateSecretVersionStageRequest(input *UpdateSecretVers // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // - LimitExceededException // The request failed because it would exceed one of the Secrets Manager quotas. // @@ -2624,6 +2689,10 @@ func (c *SecretsManager) ValidateResourcePolicyRequest(input *ValidateResourcePo // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ValidateResourcePolicy func (c *SecretsManager) ValidateResourcePolicy(input *ValidateResourcePolicyInput) (*ValidateResourcePolicyOutput, error) { req, out := c.ValidateResourcePolicyRequest(input) @@ -2797,7 +2866,9 @@ type CreateSecretInput struct { ForceOverwriteReplicaSecret *bool `type:"boolean"` // The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt - // the secret value in the secret. + // the secret value in the secret. An alias is always prefixed by alias/, for + // example alias/aws/secretsmanager. For more information, see About aliases + // (https://docs.aws.amazon.com/kms/latest/developerguide/alias-about.html). // // To use a KMS key in a different account, use the key ARN or the alias ARN. // @@ -3448,13 +3519,14 @@ type DescribeSecretOutput struct { // The description of the secret. Description *string `type:"string"` - // The ARN of the KMS key that Secrets Manager uses to encrypt the secret value. - // If the secret is encrypted with the Amazon Web Services managed key aws/secretsmanager, - // this field is omitted. + // The key ID or alias ARN of the KMS key that Secrets Manager uses to encrypt + // the secret value. If the secret is encrypted with the Amazon Web Services + // managed key aws/secretsmanager, this field is omitted. Secrets created using + // the console use an KMS key ID. KmsKeyId *string `type:"string"` - // The last date that the secret value was retrieved. This value does not include - // the time. This field is omitted if the secret has never been retrieved. + // The date that the secret was last accessed in the Region. This field is omitted + // if the secret has never been retrieved in the Region. LastAccessedDate *time.Time `type:"timestamp"` // The last date and time that this secret was modified in any way. @@ -3467,7 +3539,8 @@ type DescribeSecretOutput struct { // The name of the secret. Name *string `min:"1" type:"string"` - // The name of the service that created this secret. + // The ID of the service that created this secret. For more information, see + // Secrets managed by other Amazon Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). OwningService *string `min:"1" type:"string"` // The Region the secret is in. If a secret is replicated to other Regions, @@ -4436,6 +4509,10 @@ func (s *InvalidParameterException) RequestID() string { // - You tried to enable rotation on a secret that doesn't already have a // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. +// +// - The secret is managed by another service, and you must use that service +// to update it. For more information, see Secrets managed by other Amazon +// Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). type InvalidRequestException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -5675,7 +5752,8 @@ type ReplicationStatusType struct { // Can be an ARN, Key ID, or Alias. KmsKeyId *string `type:"string"` - // The date that you last accessed the secret in the Region. + // The date that the secret was last accessed in the Region. This field is omitted + // if the secret has never been retrieved in the Region. LastAccessedDate *time.Time `type:"timestamp"` // The Region where replication occurs. @@ -6250,8 +6328,8 @@ type SecretListEntry struct { // this field is omitted. KmsKeyId *string `type:"string"` - // The last date that this secret was accessed. This value is truncated to midnight - // of the date and therefore shows only the date, not the time. + // The date that the secret was last accessed in the Region. This field is omitted + // if the secret has never been retrieved in the Region. LastAccessedDate *time.Time `type:"timestamp"` // The last date and time that this secret was modified in any way. @@ -6840,9 +6918,19 @@ type UpdateSecretInput struct { Description *string `type:"string"` // The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt - // new secret versions as well as any existing versions the staging labels AWSCURRENT, - // AWSPENDING, or AWSPREVIOUS. For more information about versions and staging - // labels, see Concepts: Version (https://docs.aws.amazon.com/secretsmanager/latest/userguide/getting-started.html#term_version). + // new secret versions as well as any existing versions with the staging labels + // AWSCURRENT, AWSPENDING, or AWSPREVIOUS. For more information about versions + // and staging labels, see Concepts: Version (https://docs.aws.amazon.com/secretsmanager/latest/userguide/getting-started.html#term_version). + // + // A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. + // For more information, see About aliases (https://docs.aws.amazon.com/kms/latest/developerguide/alias-about.html). + // + // If you set this to an empty string, Secrets Manager uses the Amazon Web Services + // managed key aws/secretsmanager. If this key doesn't already exist in your + // account, then Secrets Manager creates it for you automatically. All users + // and roles in the Amazon Web Services account automatically have access to + // use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time + // significant delay in returning the result. // // You can only use the Amazon Web Services managed key aws/secretsmanager if // you call this operation using credentials from the same Amazon Web Services diff --git a/service/secretsmanager/errors.go b/service/secretsmanager/errors.go index 5dee1d6752b..ca1b83e3036 100644 --- a/service/secretsmanager/errors.go +++ b/service/secretsmanager/errors.go @@ -53,6 +53,10 @@ const ( // * You tried to enable rotation on a secret that doesn't already have a // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. + // + // * The secret is managed by another service, and you must use that service + // to update it. For more information, see Secrets managed by other Amazon + // Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html). ErrCodeInvalidRequestException = "InvalidRequestException" // ErrCodeLimitExceededException for service response error code