diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ed64f3789..0f3c5ab2cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +Release v1.51.32 (2024-04-30) +=== + +### Service Client Updates +* `service/chime-sdk-voice`: Updates service API and documentation +* `service/codeartifact`: Updates service API and documentation +* `service/fms`: Updates service API and documentation +* `service/omics`: Updates service API and documentation +* `service/opensearch`: Updates service API and documentation +* `service/pinpoint-sms-voice-v2`: Updates service API, documentation, and paginators +* `service/qbusiness`: Updates service API, documentation, and waiters +* `service/quicksight`: Updates service API and documentation + * New Q embedding supporting Generative Q&A +* `service/route53resolver`: Updates service API and documentation +* `service/sagemaker`: Updates service API and documentation + * Amazon SageMaker Training now supports the use of attribute-based access control (ABAC) roles for training job execution roles. Amazon SageMaker Inference now supports G6 instance types. +* `service/signer`: Updates service API and documentation + * Documentation updates for AWS Signer. Adds cross-account signing constraint and definitions for cross-account actions. + Release v1.51.31 (2024-04-29) === diff --git a/aws/version.go b/aws/version.go index d80adb2aa1..8203a847a5 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.51.31" +const SDKVersion = "1.51.32" diff --git a/models/apis/chime-sdk-voice/2022-08-03/api-2.json b/models/apis/chime-sdk-voice/2022-08-03/api-2.json index 4cf682946e..5a2945851a 100644 --- a/models/apis/chime-sdk-voice/2022-08-03/api-2.json +++ b/models/apis/chime-sdk-voice/2022-08-03/api-2.json @@ -698,7 +698,9 @@ {"shape":"ThrottledClientException"}, {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} - ] + ], + "deprecated":true, + "deprecatedMessage":"Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page(https://developer.amazon.com/en-US/alexa/alexasmartproperties)." }, "GetSipMediaApplicationLoggingConfiguration":{ "name":"GetSipMediaApplicationLoggingConfiguration", @@ -1245,7 +1247,9 @@ {"shape":"ThrottledClientException"}, {"shape":"ServiceUnavailableException"}, {"shape":"ServiceFailureException"} - ] + ], + "deprecated":true, + "deprecatedMessage":"Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page(https://developer.amazon.com/en-US/alexa/alexasmartproperties)." }, "PutSipMediaApplicationLoggingConfiguration":{ "name":"PutSipMediaApplicationLoggingConfiguration", diff --git a/models/apis/chime-sdk-voice/2022-08-03/docs-2.json b/models/apis/chime-sdk-voice/2022-08-03/docs-2.json index 5b7e428aba..fa534fcceb 100644 --- a/models/apis/chime-sdk-voice/2022-08-03/docs-2.json +++ b/models/apis/chime-sdk-voice/2022-08-03/docs-2.json @@ -5,7 +5,7 @@ "AssociatePhoneNumbersWithVoiceConnector": "

Associates phone numbers with the specified Amazon Chime SDK Voice Connector.

", "AssociatePhoneNumbersWithVoiceConnectorGroup": "

Associates phone numbers with the specified Amazon Chime SDK Voice Connector group.

", "BatchDeletePhoneNumber": "

Moves phone numbers into the Deletion queue. Phone numbers must be disassociated from any users or Amazon Chime SDK Voice Connectors before they can be deleted.

Phone numbers remain in the Deletion queue for 7 days before they are deleted permanently.

", - "BatchUpdatePhoneNumber": "

Updates one or more phone numbers.

", + "BatchUpdatePhoneNumber": "

Updates phone number product types, calling names, or phone number names. You can update one attribute at a time for each UpdatePhoneNumberRequestItem. For example, you can update the product type, the calling name, or phone name.

You cannot have a duplicate phoneNumberId in a request.

", "CreatePhoneNumberOrder": "

Creates an order for phone numbers to be provisioned. For numbers outside the U.S., you must use the Amazon Chime SDK SIP media application dial-in product type.

", "CreateProxySession": "

Creates a proxy session for the specified Amazon Chime SDK Voice Connector for the specified participant phone numbers.

", "CreateSipMediaApplication": "

Creates a SIP media application. For more information about SIP media applications, see Managing SIP media applications and rules in the Amazon Chime SDK Administrator Guide.

", @@ -37,7 +37,7 @@ "GetPhoneNumberSettings": "

Retrieves the phone number settings for the administrator's AWS account, such as the default outbound calling name.

", "GetProxySession": "

Retrieves the specified proxy session details for the specified Amazon Chime SDK Voice Connector.

", "GetSipMediaApplication": "

Retrieves the information for a SIP media application, including name, AWS Region, and endpoints.

", - "GetSipMediaApplicationAlexaSkillConfiguration": "

Gets the Alexa Skill configuration for the SIP media application.

", + "GetSipMediaApplicationAlexaSkillConfiguration": "

Gets the Alexa Skill configuration for the SIP media application.

Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page.

", "GetSipMediaApplicationLoggingConfiguration": "

Retrieves the logging configuration for the specified SIP media application.

", "GetSipRule": "

Retrieves the details of a SIP rule, such as the rule ID, name, triggers, and target endpoints.

", "GetSpeakerSearchTask": "

Retrieves the details of the specified speaker search task.

", @@ -66,7 +66,7 @@ "ListVoiceConnectors": "

Lists the Amazon Chime SDK Voice Connectors in the administrators AWS account.

", "ListVoiceProfileDomains": "

Lists the specified voice profile domains in the administrator's AWS account.

", "ListVoiceProfiles": "

Lists the voice profiles in a voice profile domain.

", - "PutSipMediaApplicationAlexaSkillConfiguration": "

Updates the Alexa Skill configuration for the SIP media application.

", + "PutSipMediaApplicationAlexaSkillConfiguration": "

Updates the Alexa Skill configuration for the SIP media application.

Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page.

", "PutSipMediaApplicationLoggingConfiguration": "

Updates the logging configuration for the specified SIP media application.

", "PutVoiceConnectorEmergencyCallingConfiguration": "

Updates a Voice Connector's emergency calling configuration.

", "PutVoiceConnectorLoggingConfiguration": "

Updates a Voice Connector's logging configuration.

", @@ -84,7 +84,7 @@ "TagResource": "

Adds a tag to the specified resource.

", "UntagResource": "

Removes tags from a resource.

", "UpdateGlobalSettings": "

Updates global settings for the Amazon Chime SDK Voice Connectors in an AWS account.

", - "UpdatePhoneNumber": "

Updates phone number details, such as product type or calling name, for the specified phone number ID. You can update one phone number detail at a time. For example, you can update either the product type or the calling name in one action.

For numbers outside the U.S., you must use the Amazon Chime SDK SIP Media Application Dial-In product type.

Updates to outbound calling names can take 72 hours to complete. Pending updates to outbound calling names must be complete before you can request another update.

", + "UpdatePhoneNumber": "

Updates phone number details, such as product type, calling name, or phone number name for the specified phone number ID. You can update one phone number detail at a time. For example, you can update either the product type, calling name, or phone number name in one action.

For numbers outside the U.S., you must use the Amazon Chime SDK SIP Media Application Dial-In product type.

Updates to outbound calling names can take 72 hours to complete. Pending updates to outbound calling names must be complete before you can request another update.

", "UpdatePhoneNumberSettings": "

Updates the phone number settings for the administrator's AWS account, such as the default outbound calling name. You can update the default outbound calling name once every seven days. Outbound calling names can take up to 72 hours to update.

", "UpdateProxySession": "

Updates the specified proxy session details, such as voice or SMS capabilities.

", "UpdateSipMediaApplication": "

Updates the details of the specified SIP media application.

", @@ -1341,7 +1341,7 @@ "refs": { "CreatePhoneNumberOrderRequest$Name": "

Specifies the name assigned to one or more phone numbers.

", "PhoneNumber$Name": "

The name of the phone number.

", - "UpdatePhoneNumberRequest$Name": "

Specifies the name assigned to one or more phone numbers.

", + "UpdatePhoneNumberRequest$Name": "

Specifies the updated name assigned to one or more phone numbers.

", "UpdatePhoneNumberRequestItem$Name": "

The name of the phone number.

" } }, @@ -1683,7 +1683,7 @@ } }, "SipMediaApplicationAlexaSkillConfiguration": { - "base": "

The Alexa Skill configuration of a SIP media application.

", + "base": "

The Alexa Skill configuration of a SIP media application.

Due to changes made by the Amazon Alexa service, this data type is no longer available for use. For more information, refer to the Alexa Smart Properties page.

", "refs": { "GetSipMediaApplicationAlexaSkillConfigurationResponse$SipMediaApplicationAlexaSkillConfiguration": "

Returns the Alexa Skill configuration.

", "PutSipMediaApplicationAlexaSkillConfigurationRequest$SipMediaApplicationAlexaSkillConfiguration": "

The Alexa Skill configuration.

", diff --git a/models/apis/chime-sdk-voice/2022-08-03/endpoint-rule-set-1.json b/models/apis/chime-sdk-voice/2022-08-03/endpoint-rule-set-1.json index 70607cca0c..b3a334df4e 100644 --- a/models/apis/chime-sdk-voice/2022-08-03/endpoint-rule-set-1.json +++ b/models/apis/chime-sdk-voice/2022-08-03/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -59,7 +58,6 @@ }, { "conditions": [], - "type": "tree", "rules": [ { "conditions": [ @@ -87,13 +85,14 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], - "type": "tree", "rules": [ { "conditions": [ @@ -106,7 +105,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -120,7 +118,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -143,7 +140,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -178,11 +174,9 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -193,16 +187,19 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -216,14 +213,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -232,15 +227,14 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -251,16 +245,19 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -274,7 +271,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -294,11 +290,9 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -309,20 +303,22 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -333,18 +329,22 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid Configuration: Missing Region", "type": "error" } - ] + ], + "type": "tree" } ] } \ No newline at end of file diff --git a/models/apis/chime-sdk-voice/2022-08-03/endpoint-tests-1.json b/models/apis/chime-sdk-voice/2022-08-03/endpoint-tests-1.json index 9150af5020..5c6ffc0eb1 100644 --- a/models/apis/chime-sdk-voice/2022-08-03/endpoint-tests-1.json +++ b/models/apis/chime-sdk-voice/2022-08-03/endpoint-tests-1.json @@ -1,55 +1,55 @@ { "testCases": [ { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://voice-chime-fips.us-gov-east-1.api.aws" + "url": "https://voice-chime-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://voice-chime-fips.us-gov-east-1.amazonaws.com" + "url": "https://voice-chime-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://voice-chime.us-gov-east-1.api.aws" + "url": "https://voice-chime.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://voice-chime.us-gov-east-1.amazonaws.com" + "url": "https://voice-chime.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://voice-chime-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://voice-chime-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://voice-chime-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://voice-chime.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://voice-chime.us-iso-east-1.c2s.ic.gov" + "url": "https://voice-chime.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://voice-chime-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://voice-chime-fips.us-east-1.amazonaws.com" + "url": "https://voice-chime-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://voice-chime.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://voice-chime.us-east-1.amazonaws.com" + "url": "https://voice-chime.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/codeartifact/2018-09-22/api-2.json b/models/apis/codeartifact/2018-09-22/api-2.json index 878505a3b6..9f8ff4a307 100644 --- a/models/apis/codeartifact/2018-09-22/api-2.json +++ b/models/apis/codeartifact/2018-09-22/api-2.json @@ -2620,6 +2620,7 @@ "maven", "nuget", "generic", + "ruby", "swift" ] }, diff --git a/models/apis/codeartifact/2018-09-22/docs-2.json b/models/apis/codeartifact/2018-09-22/docs-2.json index 4038638d8c..ebf16b8553 100644 --- a/models/apis/codeartifact/2018-09-22/docs-2.json +++ b/models/apis/codeartifact/2018-09-22/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

CodeArtifact is a fully managed artifact repository compatible with language-native package managers and build tools such as npm, Apache Maven, pip, and dotnet. You can use CodeArtifact to share packages with development teams and pull packages. Packages can be pulled from both public and CodeArtifact repositories. You can also create an upstream relationship between a CodeArtifact repository and another repository, which effectively merges their contents from the point of view of a package manager client.

CodeArtifact concepts

CodeArtifact supported API operations

", + "service": "

CodeArtifact is a fully managed artifact repository compatible with language-native package managers and build tools such as npm, Apache Maven, pip, and dotnet. You can use CodeArtifact to share packages with development teams and pull packages. Packages can be pulled from both public and CodeArtifact repositories. You can also create an upstream relationship between a CodeArtifact repository and another repository, which effectively merges their contents from the point of view of a package manager client.

CodeArtifact concepts

CodeArtifact supported API operations

", "operations": { "AssociateExternalConnection": "

Adds an existing external connection to a repository. One external connection is allowed per repository.

A repository can have one or more upstream repositories, or an external connection.

", "CopyPackageVersions": "

Copies package versions from one repository to another repository in the same domain.

You must specify versions or versionRevisions. You cannot specify both.

", @@ -26,7 +26,7 @@ "GetDomainPermissionsPolicy": "

Returns the resource policy attached to the specified domain.

The policy is a resource-based policy, not an identity-based policy. For more information, see Identity-based policies and resource-based policies in the IAM User Guide.

", "GetPackageVersionAsset": "

Returns an asset (or file) that is in a package. For example, for a Maven package version, use GetPackageVersionAsset to download a JAR file, a POM file, or any other assets in the package version.

", "GetPackageVersionReadme": "

Gets the readme file or descriptive text for a package version.

The returned text might contain formatting. For example, it might contain formatting for Markdown or reStructuredText.

", - "GetRepositoryEndpoint": "

Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each package format:

", + "GetRepositoryEndpoint": "

Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each package format:

", "GetRepositoryPermissionsPolicy": "

Returns the resource policy that is set on a repository.

", "ListAllowedRepositoriesForGroup": "

Lists the repositories in the added repositories list of the specified restriction type for a package group. For more information about restriction types and added repository lists, see Package group origin controls in the CodeArtifact User Guide.

", "ListAssociatedPackages": "

Returns a list of packages associated with the requested package group. For information package group association and matching, see Package group definition syntax and matching behavior in the CodeArtifact User Guide.

", @@ -1040,32 +1040,32 @@ "PackageNamespace": { "base": null, "refs": { - "AssociatedPackage$namespace": "

The namespace of the associated package. The package component that specifies its namespace depends on its type. For example:

", - "CopyPackageVersionsRequest$namespace": "

The namespace of the package versions to be copied. The package component that specifies its namespace depends on its type. For example:

The namespace is required when copying package versions of the following formats:

", - "DeletePackageRequest$namespace": "

The namespace of the package to delete. The package component that specifies its namespace depends on its type. For example:

The namespace is required when deleting packages of the following formats:

", - "DeletePackageVersionsRequest$namespace": "

The namespace of the package versions to be deleted. The package component that specifies its namespace depends on its type. For example:

The namespace is required when deleting package versions of the following formats:

", - "DescribePackageRequest$namespace": "

The namespace of the requested package. The package component that specifies its namespace depends on its type. For example:

The namespace is required when requesting packages of the following formats:

", - "DescribePackageVersionRequest$namespace": "

The namespace of the requested package version. The package component that specifies its namespace depends on its type. For example:

The namespace is required when requesting package versions of the following formats:

", - "DisposePackageVersionsRequest$namespace": "

The namespace of the package versions to be disposed. The package component that specifies its namespace depends on its type. For example:

The namespace is required when disposing package versions of the following formats:

", - "GetAssociatedPackageGroupRequest$namespace": "

The namespace of the package from which to get the associated package group. The package component that specifies its namespace depends on its type. For example:

The namespace is required when getting associated package groups from packages of the following formats:

", - "GetPackageVersionAssetRequest$namespace": "

The namespace of the package version with the requested asset file. The package component that specifies its namespace depends on its type. For example:

The namespace is required when requesting assets from package versions of the following formats:

", - "GetPackageVersionReadmeRequest$namespace": "

The namespace of the package version with the requested readme file. The package component that specifies its namespace depends on its type. For example:

The namespace is required when requesting the readme from package versions of the following formats:

", - "GetPackageVersionReadmeResult$namespace": "

The namespace of the package version with the requested readme file. The package component that specifies its namespace depends on its type. For example:

", - "ListPackageVersionAssetsRequest$namespace": "

The namespace of the package version that contains the requested package version assets. The package component that specifies its namespace depends on its type. For example:

The namespace is required requesting assets from package versions of the following formats:

", - "ListPackageVersionAssetsResult$namespace": "

The namespace of the package version that contains the requested package version assets. The package component that specifies its namespace depends on its type. For example:

", - "ListPackageVersionDependenciesRequest$namespace": "

The namespace of the package version with the requested dependencies. The package component that specifies its namespace depends on its type. For example:

The namespace is required when listing dependencies from package versions of the following formats:

", - "ListPackageVersionDependenciesResult$namespace": "

The namespace of the package version that contains the returned dependencies. The package component that specifies its namespace depends on its type. For example:

", - "ListPackageVersionsRequest$namespace": "

The namespace of the package that contains the requested package versions. The package component that specifies its namespace depends on its type. For example:

The namespace is required when deleting package versions of the following formats:

", - "ListPackageVersionsResult$namespace": "

The namespace of the package that contains the requested package versions. The package component that specifies its namespace depends on its type. For example:

", - "ListPackagesRequest$namespace": "

The namespace prefix used to filter requested packages. Only packages with a namespace that starts with the provided string value are returned. Note that although this option is called --namespace and not --namespace-prefix, it has prefix-matching behavior.

Each package format uses namespace as follows:

", - "PackageDependency$namespace": "

The namespace of the package that this package depends on. The package component that specifies its namespace depends on its type. For example:

", - "PackageDescription$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "PackageSummary$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "PackageVersionDescription$namespace": "

The namespace of the package version. The package component that specifies its namespace depends on its type. For example:

", + "AssociatedPackage$namespace": "

The namespace of the associated package. The package component that specifies its namespace depends on its type. For example:

", + "CopyPackageVersionsRequest$namespace": "

The namespace of the package versions to be copied. The package component that specifies its namespace depends on its type. For example:

The namespace is required when copying package versions of the following formats:

", + "DeletePackageRequest$namespace": "

The namespace of the package to delete. The package component that specifies its namespace depends on its type. For example:

The namespace is required when deleting packages of the following formats:

", + "DeletePackageVersionsRequest$namespace": "

The namespace of the package versions to be deleted. The package component that specifies its namespace depends on its type. For example:

The namespace is required when deleting package versions of the following formats:

", + "DescribePackageRequest$namespace": "

The namespace of the requested package. The package component that specifies its namespace depends on its type. For example:

The namespace is required when requesting packages of the following formats:

", + "DescribePackageVersionRequest$namespace": "

The namespace of the requested package version. The package component that specifies its namespace depends on its type. For example:

The namespace is required when requesting package versions of the following formats:

", + "DisposePackageVersionsRequest$namespace": "

The namespace of the package versions to be disposed. The package component that specifies its namespace depends on its type. For example:

The namespace is required when disposing package versions of the following formats:

", + "GetAssociatedPackageGroupRequest$namespace": "

The namespace of the package from which to get the associated package group. The package component that specifies its namespace depends on its type. For example:

The namespace is required when getting associated package groups from packages of the following formats:

", + "GetPackageVersionAssetRequest$namespace": "

The namespace of the package version with the requested asset file. The package component that specifies its namespace depends on its type. For example:

The namespace is required when requesting assets from package versions of the following formats:

", + "GetPackageVersionReadmeRequest$namespace": "

The namespace of the package version with the requested readme file. The package component that specifies its namespace depends on its type. For example:

The namespace is required when requesting the readme from package versions of the following formats:

", + "GetPackageVersionReadmeResult$namespace": "

The namespace of the package version with the requested readme file. The package component that specifies its namespace depends on its type. For example:

", + "ListPackageVersionAssetsRequest$namespace": "

The namespace of the package version that contains the requested package version assets. The package component that specifies its namespace depends on its type. For example:

The namespace is required requesting assets from package versions of the following formats:

", + "ListPackageVersionAssetsResult$namespace": "

The namespace of the package version that contains the requested package version assets. The package component that specifies its namespace depends on its type. For example:

", + "ListPackageVersionDependenciesRequest$namespace": "

The namespace of the package version with the requested dependencies. The package component that specifies its namespace depends on its type. For example:

The namespace is required when listing dependencies from package versions of the following formats:

", + "ListPackageVersionDependenciesResult$namespace": "

The namespace of the package version that contains the returned dependencies. The package component that specifies its namespace depends on its type. For example:

", + "ListPackageVersionsRequest$namespace": "

The namespace of the package that contains the requested package versions. The package component that specifies its namespace depends on its type. For example:

The namespace is required when deleting package versions of the following formats:

", + "ListPackageVersionsResult$namespace": "

The namespace of the package that contains the requested package versions. The package component that specifies its namespace depends on its type. For example:

", + "ListPackagesRequest$namespace": "

The namespace prefix used to filter requested packages. Only packages with a namespace that starts with the provided string value are returned. Note that although this option is called --namespace and not --namespace-prefix, it has prefix-matching behavior.

Each package format uses namespace as follows:

", + "PackageDependency$namespace": "

The namespace of the package that this package depends on. The package component that specifies its namespace depends on its type. For example:

", + "PackageDescription$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "PackageSummary$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "PackageVersionDescription$namespace": "

The namespace of the package version. The package component that specifies its namespace depends on its type. For example:

", "PublishPackageVersionRequest$namespace": "

The namespace of the package version to publish.

", "PublishPackageVersionResult$namespace": "

The namespace of the package version.

", - "PutPackageOriginConfigurationRequest$namespace": "

The namespace of the package to be updated. The package component that specifies its namespace depends on its type. For example:

", - "UpdatePackageVersionsStatusRequest$namespace": "

The namespace of the package version to be updated. The package component that specifies its namespace depends on its type. For example:

" + "PutPackageOriginConfigurationRequest$namespace": "

The namespace of the package to be updated. The package component that specifies its namespace depends on its type. For example:

", + "UpdatePackageVersionsStatusRequest$namespace": "

The namespace of the package version to be updated. The package component that specifies its namespace depends on its type. For example:

" } }, "PackageOriginConfiguration": { diff --git a/models/apis/fms/2018-01-01/api-2.json b/models/apis/fms/2018-01-01/api-2.json index a65f6ae9aa..4f729cccb4 100644 --- a/models/apis/fms/2018-01-01/api-2.json +++ b/models/apis/fms/2018-01-01/api-2.json @@ -2610,7 +2610,8 @@ "StatefulEngineOptions":{ "type":"structure", "members":{ - "RuleOrder":{"shape":"RuleOrder"} + "RuleOrder":{"shape":"RuleOrder"}, + "StreamExceptionPolicy":{"shape":"StreamExceptionPolicy"} } }, "StatefulRuleGroup":{ @@ -2643,6 +2644,15 @@ "max":65535, "min":1 }, + "StreamExceptionPolicy":{ + "type":"string", + "enum":[ + "DROP", + "CONTINUE", + "REJECT", + "FMS_IGNORE" + ] + }, "Tag":{ "type":"structure", "required":[ diff --git a/models/apis/fms/2018-01-01/docs-2.json b/models/apis/fms/2018-01-01/docs-2.json index 387677605b..520a097707 100644 --- a/models/apis/fms/2018-01-01/docs-2.json +++ b/models/apis/fms/2018-01-01/docs-2.json @@ -1108,8 +1108,8 @@ "NetworkAclEntries": { "base": null, "refs": { - "NetworkAclEntrySet$FirstEntries": "

The rules that you want to run first in the Firewall Manager managed network ACLs.

Provide these in the order in which you want them to run. Firewall Manager will assign the specific rule numbers for you, in the network ACLs that it creates.

", - "NetworkAclEntrySet$LastEntries": "

The rules that you want to run last in the Firewall Manager managed network ACLs.

Provide these in the order in which you want them to run. Firewall Manager will assign the specific rule numbers for you, in the network ACLs that it creates.

" + "NetworkAclEntrySet$FirstEntries": "

The rules that you want to run first in the Firewall Manager managed network ACLs.

Provide these in the order in which you want them to run. Firewall Manager will assign the specific rule numbers for you, in the network ACLs that it creates.

You must specify at least one first entry or one last entry in any network ACL policy.

", + "NetworkAclEntrySet$LastEntries": "

The rules that you want to run last in the Firewall Manager managed network ACLs.

Provide these in the order in which you want them to run. Firewall Manager will assign the specific rule numbers for you, in the network ACLs that it creates.

You must specify at least one first entry or one last entry in any network ACL policy.

" } }, "NetworkAclEntry": { @@ -1859,7 +1859,7 @@ "RuleOrder": { "base": null, "refs": { - "StatefulEngineOptions$RuleOrder": "

Indicates how to manage the order of stateful rule evaluation for the policy. DEFAULT_ACTION_ORDER is the default behavior. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on certain settings. For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.

" + "StatefulEngineOptions$RuleOrder": "

Indicates how to manage the order of stateful rule evaluation for the policy. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on certain settings. For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.

Default: DEFAULT_ACTION_ORDER

" } }, "SecurityGroupRemediationAction": { @@ -1937,6 +1937,12 @@ "StatelessRuleGroup$Priority": "

The priority of the rule group. Network Firewall evaluates the stateless rule groups in a firewall policy starting from the lowest priority setting.

" } }, + "StreamExceptionPolicy": { + "base": null, + "refs": { + "StatefulEngineOptions$StreamExceptionPolicy": "

Indicates how Network Firewall should handle traffic when a network connection breaks midstream.

For more information, see Stream exception policy in your firewall policy in the Network Firewall Developer Guide.

Default: FMS_IGNORE

" + } + }, "Tag": { "base": "

A collection of key:value pairs associated with an Amazon Web Services resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as \"environment\") and the tag value represents a specific value within that category (such as \"test,\" \"development,\" or \"production\"). You can add up to 50 tags to each Amazon Web Services resource.

", "refs": { diff --git a/models/apis/omics/2022-11-28/api-2.json b/models/apis/omics/2022-11-28/api-2.json index 81549e113e..ae10380a38 100644 --- a/models/apis/omics/2022-11-28/api-2.json +++ b/models/apis/omics/2022-11-28/api-2.json @@ -4751,6 +4751,9 @@ }, "status": { "shape": "StatusList" + }, + "type": { + "shape": "TypeList" } }, "type": "structure" @@ -5681,6 +5684,9 @@ "storageCapacity": { "shape": "GetRunResponseStorageCapacityInteger" }, + "storageType": { + "shape": "StorageType" + }, "tags": { "shape": "TagMap" }, @@ -5690,6 +5696,9 @@ "workflowId": { "shape": "WorkflowId" }, + "workflowOwnerId": { + "shape": "WorkflowOwnerId" + }, "workflowType": { "shape": "WorkflowType" } @@ -6003,6 +6012,11 @@ "location": "querystring", "locationName": "type", "shape": "WorkflowType" + }, + "workflowOwnerId": { + "location": "querystring", + "locationName": "workflowOwnerId", + "shape": "WorkflowOwnerId" } }, "required": [ @@ -8212,6 +8226,9 @@ "storageCapacity": { "shape": "RunListItemStorageCapacityInteger" }, + "storageType": { + "shape": "StorageType" + }, "workflowId": { "shape": "WorkflowId" } @@ -8537,6 +8554,9 @@ "resourceArn": { "shape": "String" }, + "resourceId": { + "shape": "String" + }, "shareId": { "shape": "String" }, @@ -8567,6 +8587,14 @@ "pattern": "[a-zA-Z0-9_-]+", "type": "string" }, + "ShareResourceType": { + "enum": [ + "VARIANT_STORE", + "ANNOTATION_STORE", + "WORKFLOW" + ], + "type": "string" + }, "ShareStatus": { "enum": [ "PENDING", @@ -8989,12 +9017,18 @@ "storageCapacity": { "shape": "StartRunRequestStorageCapacityInteger" }, + "storageType": { + "shape": "StorageType" + }, "tags": { "shape": "TagMap" }, "workflowId": { "shape": "WorkflowId" }, + "workflowOwnerId": { + "shape": "WorkflowOwnerId" + }, "workflowType": { "shape": "WorkflowType" } @@ -9077,9 +9111,11 @@ "type": "structure" }, "StatusList": { + "max": 10, "member": { "shape": "ShareStatus" }, + "min": 1, "type": "list" }, "StatusMessage": { @@ -9087,6 +9123,15 @@ "min": 0, "type": "string" }, + "StorageType": { + "enum": [ + "STATIC", + "DYNAMIC" + ], + "max": 64, + "min": 1, + "type": "string" + }, "StoreFormat": { "enum": [ "GFF", @@ -9378,6 +9423,14 @@ "min": 1, "type": "list" }, + "TypeList": { + "max": 10, + "member": { + "shape": "ShareResourceType" + }, + "min": 1, + "type": "list" + }, "UntagResourceRequest": { "members": { "resourceArn": { @@ -10058,6 +10111,10 @@ "pattern": "[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+", "type": "string" }, + "WorkflowOwnerId": { + "pattern": "[0-9]{12}", + "type": "string" + }, "WorkflowParameter": { "members": { "description": { diff --git a/models/apis/omics/2022-11-28/docs-2.json b/models/apis/omics/2022-11-28/docs-2.json index 885ce45af1..9ea7efb15c 100644 --- a/models/apis/omics/2022-11-28/docs-2.json +++ b/models/apis/omics/2022-11-28/docs-2.json @@ -3,7 +3,7 @@ "service": "

This is the AWS HealthOmics API Reference. For an introduction to the service, see What is AWS HealthOmics? in the AWS HealthOmics User Guide.

", "operations": { "AbortMultipartReadSetUpload": "

Stops a multipart upload.

", - "AcceptShare": "

Accepts a share for an analytics store.

", + "AcceptShare": "

Accept a resource share request.

", "BatchDeleteReadSet": "

Deletes one or more read sets.

", "CancelAnnotationImportJob": "

Cancels an annotation import job.

", "CancelRun": "

Cancels a run.

", @@ -15,7 +15,7 @@ "CreateReferenceStore": "

Creates a reference store.

", "CreateRunGroup": "

Creates a run group.

", "CreateSequenceStore": "

Creates a sequence store.

", - "CreateShare": "

Creates a share offer that can be accepted outside the account by a subscriber. The share is created by the owner and accepted by the principal subscriber.

", + "CreateShare": "

Creates a cross-account shared resource. The resource owner makes an offer to share the resource with the principal subscriber (an AWS user with a different account than the resource owner).

The following resources support cross-account sharing:

", "CreateVariantStore": "

Creates a variant store.

", "CreateWorkflow": "

Creates a workflow.

", "DeleteAnnotationStore": "

Deletes an annotation store.

", @@ -25,7 +25,7 @@ "DeleteRun": "

Deletes a workflow run.

", "DeleteRunGroup": "

Deletes a workflow run group.

", "DeleteSequenceStore": "

Deletes a sequence store.

", - "DeleteShare": "

Deletes a share of an analytics store.

", + "DeleteShare": "

Deletes a resource share. If you are the resource owner, the subscriber will no longer have access to the shared resource. If you are the subscriber, this operation deletes your access to the share.

", "DeleteVariantStore": "

Deletes a variant store.

", "DeleteWorkflow": "

Deletes a workflow.

", "GetAnnotationImportJob": "

Gets information about an annotation import job.

", @@ -40,14 +40,14 @@ "GetReferenceImportJob": "

Gets information about a reference import job.

", "GetReferenceMetadata": "

Gets information about a genome reference's metadata.

", "GetReferenceStore": "

Gets information about a reference store.

", - "GetRun": "

Gets information about a workflow run.

", + "GetRun": "

Gets information about a workflow run.

If a workflow is shared with you, you cannot export information about the run.

", "GetRunGroup": "

Gets information about a workflow run group.

", "GetRunTask": "

Gets information about a workflow run task.

", "GetSequenceStore": "

Gets information about a sequence store.

", - "GetShare": "

Retrieves the metadata for a share.

", + "GetShare": "

Retrieves the metadata for the specified resource share.

", "GetVariantImportJob": "

Gets information about a variant import job.

", "GetVariantStore": "

Gets information about a variant store.

", - "GetWorkflow": "

Gets information about a workflow.

", + "GetWorkflow": "

Gets information about a workflow.

If a workflow is shared with you, you cannot export the workflow.

", "ListAnnotationImportJobs": "

Retrieves a list of annotation import jobs.

", "ListAnnotationStoreVersions": "

Lists the versions of an annotation store.

", "ListAnnotationStores": "

Retrieves a list of annotation stores.

", @@ -64,7 +64,7 @@ "ListRunTasks": "

Retrieves a list of tasks for a run.

", "ListRuns": "

Retrieves a list of runs.

", "ListSequenceStores": "

Retrieves a list of sequence stores.

", - "ListShares": "

Lists all shares associated with an account.

", + "ListShares": "

Retrieves the resource shares associated with an account. Use the filter parameter to retrieve a specific subset of the shares.

", "ListTagsForResource": "

Retrieves a list of tags for a resource.

", "ListVariantImportJobs": "

Retrieves a list of variant import jobs.

", "ListVariantStores": "

Retrieves a list of variant stores.

", @@ -74,7 +74,7 @@ "StartReadSetExportJob": "

Exports a read set to Amazon S3.

", "StartReadSetImportJob": "

Starts a read set import job.

", "StartReferenceImportJob": "

Starts a reference import job.

", - "StartRun": "

Starts a workflow run. To duplicate a run, specify the run's ID and a role ARN. The remaining parameters are copied from the previous run.

The total number of runs in your account is subject to a quota per Region. To avoid needing to delete runs manually, you can set the retention mode to REMOVE. Runs with this setting are deleted automatically when the run quoata is exceeded.

", + "StartRun": "

Starts a workflow run. To duplicate a run, specify the run's ID and a role ARN. The remaining parameters are copied from the previous run.

StartRun will not support re-run for a workflow that is shared with you.

The total number of runs in your account is subject to a quota per Region. To avoid needing to delete runs manually, you can set the retention mode to REMOVE. Runs with this setting are deleted automatically when the run quoata is exceeded.

By default, the run uses STATIC storage. For STATIC storage, set the storageCapacity field. You can set the storage type to DYNAMIC. You do not set storageCapacity, because HealthOmics dynamically scales the storage up or down as required. For more information about static and dynamic storage, see Running workflows in the AWS HealthOmics User Guide.

", "StartVariantImportJob": "

Starts a variant import job.

", "TagResource": "

Tags a resource.

", "UntagResource": "

Removes tags from a resource.

", @@ -268,7 +268,7 @@ "ArnList": { "base": null, "refs": { - "Filter$resourceArns": "

The Amazon Resource Number (Arn) for an analytics store.

" + "Filter$resourceArns": "

Filter based on the Amazon Resource Number (ARN) of the resource. You can specify up to 10 values.

" } }, "BatchDeleteReadSetRequest": { @@ -498,7 +498,7 @@ "CreateWorkflowRequestStorageCapacityInteger": { "base": null, "refs": { - "CreateWorkflowRequest$storageCapacity": "

A storage capacity for the workflow in gibibytes.

" + "CreateWorkflowRequest$storageCapacity": "

The storage capacity for the workflow in gibibytes.

" } }, "CreateWorkflowResponse": { @@ -520,7 +520,7 @@ "GetAnnotationStoreVersionResponse$creationTime": "

The time stamp for when an annotation store version was created.

", "GetVariantImportResponse$creationTime": "

When the job was created.

", "GetVariantStoreResponse$creationTime": "

When the store was created.

", - "ShareDetails$creationTime": "

The timestamp for when the share was created.

", + "ShareDetails$creationTime": "

The timestamp of when the resource share was created.

", "UpdateAnnotationStoreResponse$creationTime": "

When the store was created.

", "UpdateAnnotationStoreVersionResponse$creationTime": "

The time stamp for when an annotation store version was created.

", "UpdateVariantStoreResponse$creationTime": "

When the store was created.

", @@ -779,9 +779,9 @@ } }, "Filter": { - "base": "

Use filters to focus the returned annotation store versions on a specific parameter, such as the status of the annotation store.

", + "base": "

Use filters to return a subset of resources. You can define filters for specific parameters, such as the resource status.

", "refs": { - "ListSharesRequest$filter": "

Attributes used to filter for a specific subset of shares.

" + "ListSharesRequest$filter": "

Attributes that you use to filter for a specific subset of resource shares.

" } }, "FormatOptions": { @@ -1007,7 +1007,7 @@ "GetRunResponseStorageCapacityInteger": { "base": null, "refs": { - "GetRunResponse$storageCapacity": "

The run's storage capacity in gigabytes.

" + "GetRunResponse$storageCapacity": "

The run's storage capacity in gibibytes. For dynamic storage, after the run has completed, this value is the maximum amount of storage used during the run.

" } }, "GetRunTaskRequest": { @@ -1091,7 +1091,7 @@ "GetWorkflowResponseStorageCapacityInteger": { "base": null, "refs": { - "GetWorkflowResponse$storageCapacity": "

The workflow's storage capacity in gigabytes.

" + "GetWorkflowResponse$storageCapacity": "

The workflow's storage capacity in gibibytes.

" } }, "Header": { @@ -1177,7 +1177,7 @@ "base": null, "refs": { "GetAnnotationStoreResponse$numVersions": "

An integer indicating how many versions of an annotation store exist.

", - "ListSharesRequest$maxResults": "

The maximum number of shares to return in one page of results.

" + "ListSharesRequest$maxResults": "

The maximum number of shares to return in one page of results.

" } }, "InternalServerException": { @@ -1260,7 +1260,7 @@ } }, "ListAnnotationStoreVersionsFilter": { - "base": "

Use filters to focus the returned annotation store versions on a specific parameter, such as the status of the annotation store.

", + "base": "

Use filters to focus the returned annotation store versions on a specific parameter, such as the status of the annotation store.

", "refs": { "ListAnnotationStoreVersionsRequest$filter": "

A filter to apply to the list of annotation store versions.

" } @@ -2187,7 +2187,7 @@ "ResourceOwner": { "base": null, "refs": { - "ListSharesRequest$resourceOwner": "

The account that owns the analytics store shared.

" + "ListSharesRequest$resourceOwner": "

The account that owns the resource shares.

" } }, "RoleArn": { @@ -2365,7 +2365,7 @@ "RunListItemStorageCapacityInteger": { "base": null, "refs": { - "RunListItem$storageCapacity": "

The run's storage capacity.

" + "RunListItem$storageCapacity": "

The run's storage capacity in gibibytes. For dynamic storage, after the run has completed, this value is the maximum amount of storage used during the run.

" } }, "RunListToken": { @@ -2674,33 +2674,39 @@ } }, "ShareDetails": { - "base": "

The details of a share.

", + "base": "

The details of a resource share.

", "refs": { - "GetShareResponse$share": "

An analytic store share details object. contains status, resourceArn, ownerId, etc.

", + "GetShareResponse$share": "

A resource share details object. The object includes the status, the resourceArn, and ownerId.

", "ShareDetailsList$member": null } }, "ShareDetailsList": { "base": null, "refs": { - "ListSharesResponse$shares": "

The shares available and their meta details.

" + "ListSharesResponse$shares": "

The shares available and their metadata details.

" } }, "ShareName": { "base": null, "refs": { - "CreateShareRequest$shareName": "

A name given to the share.

", - "CreateShareResponse$shareName": "

A name given to the share.

", - "ShareDetails$shareName": "

The name of the share.

" + "CreateShareRequest$shareName": "

A name that the owner defines for the share.

", + "CreateShareResponse$shareName": "

The name of the share.

", + "ShareDetails$shareName": "

The name of the resource share.

" + } + }, + "ShareResourceType": { + "base": null, + "refs": { + "TypeList$member": null } }, "ShareStatus": { "base": null, "refs": { - "AcceptShareResponse$status": "

The status of an analytics store share.

", - "CreateShareResponse$status": "

The status of a share.

", - "DeleteShareResponse$status": "

The status of the share being deleted.

", - "ShareDetails$status": "

The status of a share.

", + "AcceptShareResponse$status": "

The status of the resource share.

", + "CreateShareResponse$status": "

The status of the share.

", + "DeleteShareResponse$status": "

The status of the share being deleted.

", + "ShareDetails$status": "

The status of the share.

", "StatusList$member": null } }, @@ -2842,7 +2848,7 @@ "StartRunRequestStorageCapacityInteger": { "base": null, "refs": { - "StartRunRequest$storageCapacity": "

A storage capacity for the run in gibibytes.

" + "StartRunRequest$storageCapacity": "

A storage capacity for the run in gibibytes. This field is not required if the storage type is dynamic (the system ignores any value that you enter).

" } }, "StartRunResponse": { @@ -2863,7 +2869,7 @@ "StatusList": { "base": null, "refs": { - "Filter$status": "

The status of an annotation store version.

" + "Filter$status": "

Filter based on the resource status. You can specify up to 10 values.

" } }, "StatusMessage": { @@ -2874,10 +2880,18 @@ "GetAnnotationStoreResponse$statusMessage": "

A status message.

", "GetAnnotationStoreVersionResponse$statusMessage": "

The status of an annotation store version.

", "GetVariantStoreResponse$statusMessage": "

The store's status message.

", - "ShareDetails$statusMessage": "

The status message for a share. It provides more details on the status of the share.

", + "ShareDetails$statusMessage": "

The status message for a resource share. It provides additional details about the share status.

", "VariantStoreItem$statusMessage": "

The store's status message.

" } }, + "StorageType": { + "base": null, + "refs": { + "GetRunResponse$storageType": "

The run's storage type.

", + "RunListItem$storageType": "

The run's storage type.

", + "StartRunRequest$storageType": "

The run's storage type. By default, the run uses STATIC storage type, which allocates a fixed amount of storage. If you set the storage type to DYNAMIC, HealthOmics dynamically scales the storage up or down, based on file system utilization.

" + } + }, "StoreFormat": { "base": null, "refs": { @@ -2933,7 +2947,7 @@ "String": { "base": null, "refs": { - "AcceptShareRequest$shareId": "

The ID for a share offer for analytics store data.

", + "AcceptShareRequest$shareId": "

The ID of the resource share.

", "AccessDeniedException$message": null, "AnnotationImportJobItem$id": "

The job's ID.

", "AnnotationImportJobItem$destinationName": "

The job's destination annotation store.

", @@ -2941,13 +2955,13 @@ "ArnList$member": null, "ConflictException$message": null, "CreateAnnotationStoreResponse$name": "

The store's name.

", - "CreateShareRequest$resourceArn": "

The resource ARN for the analytics store to be shared.

", - "CreateShareRequest$principalSubscriber": "

The principal subscriber is the account being given access to the analytics store data through the share offer.

", - "CreateShareResponse$shareId": "

An ID generated for the share.

", + "CreateShareRequest$resourceArn": "

The ARN of the resource to be shared.

", + "CreateShareRequest$principalSubscriber": "

The principal subscriber is the account being offered shared access to the resource.

", + "CreateShareResponse$shareId": "

The ID that HealthOmics generates for the share.

", "CreateVariantStoreResponse$name": "

The store's name.

", "DeleteAnnotationStoreRequest$name": "

The store's name.

", "DeleteAnnotationStoreVersionsRequest$name": "

The name of the annotation store from which versions are being deleted.

", - "DeleteShareRequest$shareId": "

The ID for the share request to be deleted.

", + "DeleteShareRequest$shareId": "

The ID for the resource share to be deleted.

", "DeleteVariantStoreRequest$name": "

The store's name.

", "ETag$source1": "

The ETag hash calculated on Source1 of the read set.

", "ETag$source2": "

The ETag hash calculated on Source2 of the read set.

", @@ -2955,7 +2969,7 @@ "GetAnnotationStoreResponse$name": "

The store's name.

", "GetAnnotationStoreVersionRequest$name": "

The name given to an annotation store version to distinguish it from others.

", "GetAnnotationStoreVersionRequest$versionName": "

The name given to an annotation store version to distinguish it from others.

", - "GetShareRequest$shareId": "

The generated ID for a share.

", + "GetShareRequest$shareId": "

The ID of the share.

", "GetVariantStoreRequest$name": "

The store's name.

", "GetVariantStoreResponse$name": "

The store's name.

", "InternalServerException$message": null, @@ -2964,7 +2978,7 @@ "ListAnnotationStoreVersionsRequest$name": "

The name of an annotation store.

", "ListAnnotationStoreVersionsResponse$nextToken": "

Specifies the pagination token from a previous request to retrieve the next page of results.

", "ListAnnotationStoresResponse$nextToken": "

A pagination token that's included if more results are available.

", - "ListSharesRequest$nextToken": "

Next token returned in the response of a previous ListReadSetUploadPartsRequest call. Used to get the next page of results.

", + "ListSharesRequest$nextToken": "

Next token returned in the response of a previous ListReadSetUploadPartsRequest call. Used to get the next page of results.

", "ListSharesResponse$nextToken": "

Next token returned in the response of a previous ListSharesResponse call. Used to get the next page of results.

", "ListVariantImportJobsFilter$storeName": "

A store name to filter on.

", "ListVariantImportJobsResponse$nextToken": "

A pagination token that's included if more results are available.

", @@ -2978,10 +2992,11 @@ "ResourceNotFoundException$message": null, "SequenceInformation$alignment": "

The sequence's alignment setting.

", "ServiceQuotaExceededException$message": null, - "ShareDetails$shareId": "

The ID for a share offer for an analytics store .

", - "ShareDetails$resourceArn": "

The resource Arn of the analytics store being shared.

", - "ShareDetails$principalSubscriber": "

The principal subscriber is the account the analytics store data is being shared with.

", - "ShareDetails$ownerId": "

The account ID for the data owner. The owner creates the share offer.

", + "ShareDetails$shareId": "

The ID of the resource share.

", + "ShareDetails$resourceArn": "

The Arn of the shared resource.

", + "ShareDetails$resourceId": "

The ID of the shared resource.

", + "ShareDetails$principalSubscriber": "

The principal subscriber is the account that is sharing the resource.

", + "ShareDetails$ownerId": "

The account ID for the data owner. The owner creates the resource share.

", "ThrottlingException$message": null, "UpdateAnnotationStoreRequest$name": "

A name for the store.

", "UpdateAnnotationStoreResponse$name": "

The store's name.

", @@ -3275,6 +3290,12 @@ "TsvVersionOptions$schema": "

The TSV schema for an annotation store version.

" } }, + "TypeList": { + "base": null, + "refs": { + "Filter$type": "

The type of resources to be filtered. You can specify one or more of the resource types.

" + } + }, "UntagResourceRequest": { "base": null, "refs": { @@ -3345,7 +3366,7 @@ "GetAnnotationStoreVersionResponse$updateTime": "

The time stamp for when an annotation store version was updated.

", "GetVariantImportResponse$updateTime": "

When the job was updated.

", "GetVariantStoreResponse$updateTime": "

When the store was updated.

", - "ShareDetails$updateTime": "

The timestamp of the share update.

", + "ShareDetails$updateTime": "

The timestamp of the resource share update.

", "UpdateAnnotationStoreResponse$updateTime": "

When the store was updated.

", "UpdateAnnotationStoreVersionResponse$updateTime": "

The time stamp for when an annotation store version was updated.

", "UpdateVariantStoreResponse$updateTime": "

When the store was updated.

", @@ -3503,7 +3524,7 @@ "AnnotationStoreVersionItem$status": "

The status of an annotation store version.

", "CreateAnnotationStoreVersionResponse$status": "

The status of a annotation store version.

", "GetAnnotationStoreVersionResponse$status": "

The status of an annotation store version.

", - "ListAnnotationStoreVersionsFilter$status": "

The status of an annotation store version.

", + "ListAnnotationStoreVersionsFilter$status": "

The status of an annotation store version.

", "UpdateAnnotationStoreVersionResponse$status": "

The status of an annotation store version.

" } }, @@ -3575,7 +3596,7 @@ "WorkflowList": { "base": null, "refs": { - "ListWorkflowsResponse$items": "

The workflows' items.

" + "ListWorkflowsResponse$items": "

A list of workflow items.

" } }, "WorkflowListItem": { @@ -3622,11 +3643,19 @@ "refs": { "CreateWorkflowRequest$name": "

A name for the workflow.

", "GetWorkflowResponse$name": "

The workflow's name.

", - "ListWorkflowsRequest$name": "

The workflows' name.

", + "ListWorkflowsRequest$name": "

Filter the list by workflow name.

", "UpdateWorkflowRequest$name": "

A name for the workflow.

", "WorkflowListItem$name": "

The workflow's name.

" } }, + "WorkflowOwnerId": { + "base": null, + "refs": { + "GetRunResponse$workflowOwnerId": "

The ID of the workflow owner.

", + "GetWorkflowRequest$workflowOwnerId": "

The ID of the workflow owner.

", + "StartRunRequest$workflowOwnerId": "

The ID of the workflow owner.

" + } + }, "WorkflowParameter": { "base": "

A workflow parameter.

", "refs": { @@ -3685,7 +3714,7 @@ "GetRunResponse$workflowType": "

The run's workflow type.

", "GetWorkflowRequest$type": "

The workflow's type.

", "GetWorkflowResponse$type": "

The workflow's type.

", - "ListWorkflowsRequest$type": "

The workflows' type.

", + "ListWorkflowsRequest$type": "

Filter the list by workflow type.

", "StartRunRequest$workflowType": "

The run's workflow type.

", "WorkflowListItem$type": "

The workflow's type.

" } diff --git a/models/apis/opensearch/2021-01-01/api-2.json b/models/apis/opensearch/2021-01-01/api-2.json index a03f6971d0..f0a4c8eea3 100644 --- a/models/apis/opensearch/2021-01-01/api-2.json +++ b/models/apis/opensearch/2021-01-01/api-2.json @@ -2436,6 +2436,7 @@ "Endpoint":{"shape":"ServiceUrl"}, "EndpointV2":{"shape":"ServiceUrl"}, "Endpoints":{"shape":"EndpointsMap"}, + "DomainEndpointV2HostedZoneId":{"shape":"HostedZoneId"}, "Processing":{"shape":"Boolean"}, "UpgradeProcessing":{"shape":"Boolean"}, "EngineVersion":{"shape":"VersionString"}, @@ -2757,6 +2758,7 @@ "UpgradeName":{"shape":"UpgradeName"} } }, + "HostedZoneId":{"type":"string"}, "IPAddressType":{ "type":"string", "enum":[ diff --git a/models/apis/opensearch/2021-01-01/docs-2.json b/models/apis/opensearch/2021-01-01/docs-2.json index 652b89685f..f29c6c5974 100644 --- a/models/apis/opensearch/2021-01-01/docs-2.json +++ b/models/apis/opensearch/2021-01-01/docs-2.json @@ -4,7 +4,7 @@ "operations": { "AcceptInboundConnection": "

Allows the destination Amazon OpenSearch Service domain owner to accept an inbound cross-cluster search connection request. For more information, see Cross-cluster search for Amazon OpenSearch Service.

", "AddDataSource": "

Creates a new direct-query data source to the specified domain. For more information, see Creating Amazon OpenSearch Service data source integrations with Amazon S3.

", - "AddTags": "

Attaches tags to an existing Amazon OpenSearch Service domain. Tags are a set of case-sensitive key-value pairs. A domain can have up to 10 tags. For more information, see Tagging Amazon OpenSearch Service domains.

", + "AddTags": "

Attaches tags to an existing Amazon OpenSearch Service domain. Tags are a set of case-sensitive key-value pairs. A domain can have up to 10 tags. For more information, see Tagging Amazon OpenSearch Service domains.

", "AssociatePackage": "

Associates a package with an Amazon OpenSearch Service domain. For more information, see Custom packages for Amazon OpenSearch Service.

", "AuthorizeVpcEndpointAccess": "

Provides access to an Amazon OpenSearch Service domain through the use of an interface VPC endpoint.

", "CancelDomainConfigChange": "

Cancels a pending configuration change on an Amazon OpenSearch Service domain.

", @@ -1273,7 +1273,7 @@ "EndpointsMap": { "base": null, "refs": { - "DomainStatus$Endpoints": "

The key-value pair that exists if the OpenSearch Service domain uses VPC endpoints. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

" + "DomainStatus$Endpoints": "

The key-value pair that exists if the OpenSearch Service domain uses VPC endpoints. For example:

" } }, "EngineType": { @@ -1417,6 +1417,12 @@ "refs": { } }, + "HostedZoneId": { + "base": null, + "refs": { + "DomainStatus$DomainEndpointV2HostedZoneId": "

The DualStack Hosted Zone Id for the domain.

" + } + }, "IPAddressType": { "base": null, "refs": { diff --git a/models/apis/pinpoint-sms-voice-v2/2022-03-31/api-2.json b/models/apis/pinpoint-sms-voice-v2/2022-03-31/api-2.json index a2266f3cfc..71341cc4ef 100644 --- a/models/apis/pinpoint-sms-voice-v2/2022-03-31/api-2.json +++ b/models/apis/pinpoint-sms-voice-v2/2022-03-31/api-2.json @@ -31,6 +31,23 @@ {"shape":"InternalServerException"} ] }, + "AssociateProtectConfiguration":{ + "name":"AssociateProtectConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateProtectConfigurationRequest"}, + "output":{"shape":"AssociateProtectConfigurationResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, "CreateConfigurationSet":{ "name":"CreateConfigurationSet", "http":{ @@ -101,6 +118,22 @@ {"shape":"InternalServerException"} ] }, + "CreateProtectConfiguration":{ + "name":"CreateProtectConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProtectConfigurationRequest"}, + "output":{"shape":"CreateProtectConfigurationResult"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "CreateRegistration":{ "name":"CreateRegistration", "http":{ @@ -188,6 +221,22 @@ {"shape":"InternalServerException"} ] }, + "DeleteAccountDefaultProtectConfiguration":{ + "name":"DeleteAccountDefaultProtectConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAccountDefaultProtectConfigurationRequest"}, + "output":{"shape":"DeleteAccountDefaultProtectConfigurationResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "DeleteConfigurationSet":{ "name":"DeleteConfigurationSet", "http":{ @@ -269,6 +318,21 @@ {"shape":"InternalServerException"} ] }, + "DeleteMediaMessageSpendLimitOverride":{ + "name":"DeleteMediaMessageSpendLimitOverride", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMediaMessageSpendLimitOverrideRequest"}, + "output":{"shape":"DeleteMediaMessageSpendLimitOverrideResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "DeleteOptOutList":{ "name":"DeleteOptOutList", "http":{ @@ -320,6 +384,23 @@ {"shape":"InternalServerException"} ] }, + "DeleteProtectConfiguration":{ + "name":"DeleteProtectConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProtectConfigurationRequest"}, + "output":{"shape":"DeleteProtectConfigurationResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, "DeleteRegistration":{ "name":"DeleteRegistration", "http":{ @@ -544,6 +625,22 @@ {"shape":"InternalServerException"} ] }, + "DescribeProtectConfigurations":{ + "name":"DescribeProtectConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProtectConfigurationsRequest"}, + "output":{"shape":"DescribeProtectConfigurationsResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "DescribeRegistrationAttachments":{ "name":"DescribeRegistrationAttachments", "http":{ @@ -717,6 +814,23 @@ {"shape":"InternalServerException"} ] }, + "DisassociateProtectConfiguration":{ + "name":"DisassociateProtectConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateProtectConfigurationRequest"}, + "output":{"shape":"DisassociateProtectConfigurationResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, "DiscardRegistrationVersion":{ "name":"DiscardRegistrationVersion", "http":{ @@ -734,6 +848,22 @@ {"shape":"InternalServerException"} ] }, + "GetProtectConfigurationCountryRuleSet":{ + "name":"GetProtectConfigurationCountryRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetProtectConfigurationCountryRuleSetRequest"}, + "output":{"shape":"GetProtectConfigurationCountryRuleSetResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "ListPoolOriginationIdentities":{ "name":"ListPoolOriginationIdentities", "http":{ @@ -920,6 +1050,24 @@ {"shape":"InternalServerException"} ] }, + "SendMediaMessage":{ + "name":"SendMediaMessage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendMediaMessageRequest"}, + "output":{"shape":"SendMediaMessageResult"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, "SendTextMessage":{ "name":"SendTextMessage", "http":{ @@ -956,6 +1104,22 @@ {"shape":"InternalServerException"} ] }, + "SetAccountDefaultProtectConfiguration":{ + "name":"SetAccountDefaultProtectConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetAccountDefaultProtectConfigurationRequest"}, + "output":{"shape":"SetAccountDefaultProtectConfigurationResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "SetDefaultMessageType":{ "name":"SetDefaultMessageType", "http":{ @@ -988,6 +1152,21 @@ {"shape":"InternalServerException"} ] }, + "SetMediaMessageSpendLimitOverride":{ + "name":"SetMediaMessageSpendLimitOverride", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetMediaMessageSpendLimitOverrideRequest"}, + "output":{"shape":"SetMediaMessageSpendLimitOverrideResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "SetTextMessageSpendLimitOverride":{ "name":"SetTextMessageSpendLimitOverride", "http":{ @@ -1119,6 +1298,38 @@ {"shape":"InternalServerException"} ] }, + "UpdateProtectConfiguration":{ + "name":"UpdateProtectConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProtectConfigurationRequest"}, + "output":{"shape":"UpdateProtectConfigurationResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateProtectConfigurationCountryRuleSet":{ + "name":"UpdateProtectConfigurationCountryRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProtectConfigurationCountryRuleSetRequest"}, + "output":{"shape":"UpdateProtectConfigurationCountryRuleSetResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "UpdateSenderId":{ "name":"UpdateSenderId", "http":{ @@ -1186,7 +1397,10 @@ }, "AccountAttributeName":{ "type":"string", - "enum":["ACCOUNT_TIER"] + "enum":[ + "ACCOUNT_TIER", + "DEFAULT_PROTECT_CONFIGURATION_ID" + ] }, "AccountLimit":{ "type":"structure", @@ -1251,6 +1465,32 @@ "IsoCountryCode":{"shape":"IsoCountryCode"} } }, + "AssociateProtectConfigurationRequest":{ + "type":"structure", + "required":[ + "ProtectConfigurationId", + "ConfigurationSetName" + ], + "members":{ + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"}, + "ConfigurationSetName":{"shape":"ConfigurationSetNameOrArn"} + } + }, + "AssociateProtectConfigurationResult":{ + "type":"structure", + "required":[ + "ConfigurationSetArn", + "ConfigurationSetName", + "ProtectConfigurationArn", + "ProtectConfigurationId" + ], + "members":{ + "ConfigurationSetArn":{"shape":"String"}, + "ConfigurationSetName":{"shape":"ConfigurationSetName"}, + "ProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationId"} + } + }, "AttachmentBody":{ "type":"blob", "max":1572864, @@ -1319,7 +1559,8 @@ "event-destination-name", "matching-event-types", "default-message-type", - "default-sender-id" + "default-sender-id", + "protect-configuration-id" ] }, "ConfigurationSetInformation":{ @@ -1336,7 +1577,8 @@ "EventDestinations":{"shape":"EventDestinationList"}, "DefaultMessageType":{"shape":"MessageType"}, "DefaultSenderId":{"shape":"SenderId"}, - "CreatedTimestamp":{"shape":"Timestamp"} + "CreatedTimestamp":{"shape":"Timestamp"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"} } }, "ConfigurationSetInformationList":{ @@ -1404,7 +1646,11 @@ "SUBMIT_REGISTRATION_VERSION_NOT_ALLOWED", "TWO_WAY_CONFIG_MISMATCH", "VERIFICATION_CODE_EXPIRED", - "VERIFICATION_ALREADY_COMPLETE" + "VERIFICATION_ALREADY_COMPLETE", + "PROTECT_CONFIGURATION_IS_ACCOUNT_DEFAULT", + "PROTECT_CONFIGURATION_ASSOCIATED_WITH_CONFIGURATION_SET", + "PROTECT_CONFIGURATION_NOT_ASSOCIATED_WITH_CONFIGURATION_SET", + "DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION" ] }, "ContextKey":{ @@ -1533,6 +1779,35 @@ "CreatedTimestamp":{"shape":"Timestamp"} } }, + "CreateProtectConfigurationRequest":{ + "type":"structure", + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "DeletionProtectionEnabled":{"shape":"Boolean"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateProtectConfigurationResult":{ + "type":"structure", + "required":[ + "ProtectConfigurationArn", + "ProtectConfigurationId", + "CreatedTimestamp", + "AccountDefault", + "DeletionProtectionEnabled" + ], + "members":{ + "ProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationId"}, + "CreatedTimestamp":{"shape":"Timestamp"}, + "AccountDefault":{"shape":"PrimitiveBoolean"}, + "DeletionProtectionEnabled":{"shape":"PrimitiveBoolean"}, + "Tags":{"shape":"TagList"} + } + }, "CreateRegistrationAssociationRequest":{ "type":"structure", "required":[ @@ -1680,6 +1955,22 @@ "CreatedTimestamp":{"shape":"Timestamp"} } }, + "DeleteAccountDefaultProtectConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "DeleteAccountDefaultProtectConfigurationResult":{ + "type":"structure", + "required":[ + "DefaultProtectConfigurationArn", + "DefaultProtectConfigurationId" + ], + "members":{ + "DefaultProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "DefaultProtectConfigurationId":{"shape":"ProtectConfigurationId"} + } + }, "DeleteConfigurationSetRequest":{ "type":"structure", "required":["ConfigurationSetName"], @@ -1768,6 +2059,17 @@ "KeywordAction":{"shape":"KeywordAction"} } }, + "DeleteMediaMessageSpendLimitOverrideRequest":{ + "type":"structure", + "members":{ + } + }, + "DeleteMediaMessageSpendLimitOverrideResult":{ + "type":"structure", + "members":{ + "MonthlyLimit":{"shape":"MonthlyLimit"} + } + }, "DeleteOptOutListRequest":{ "type":"structure", "required":["OptOutListName"], @@ -1827,6 +2129,30 @@ "CreatedTimestamp":{"shape":"Timestamp"} } }, + "DeleteProtectConfigurationRequest":{ + "type":"structure", + "required":["ProtectConfigurationId"], + "members":{ + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"} + } + }, + "DeleteProtectConfigurationResult":{ + "type":"structure", + "required":[ + "ProtectConfigurationArn", + "ProtectConfigurationId", + "CreatedTimestamp", + "AccountDefault", + "DeletionProtectionEnabled" + ], + "members":{ + "ProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationId"}, + "CreatedTimestamp":{"shape":"Timestamp"}, + "AccountDefault":{"shape":"PrimitiveBoolean"}, + "DeletionProtectionEnabled":{"shape":"PrimitiveBoolean"} + } + }, "DeleteRegistrationAttachmentRequest":{ "type":"structure", "required":["RegistrationAttachmentId"], @@ -2089,6 +2415,22 @@ "NextToken":{"shape":"NextToken"} } }, + "DescribeProtectConfigurationsRequest":{ + "type":"structure", + "members":{ + "ProtectConfigurationIds":{"shape":"ProtectConfigurationIdList"}, + "Filters":{"shape":"ProtectConfigurationFilterList"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "DescribeProtectConfigurationsResult":{ + "type":"structure", + "members":{ + "ProtectConfigurations":{"shape":"ProtectConfigurationInformationList"}, + "NextToken":{"shape":"NextToken"} + } + }, "DescribeRegistrationAttachmentsRequest":{ "type":"structure", "members":{ @@ -2339,6 +2681,32 @@ "IsoCountryCode":{"shape":"IsoCountryCode"} } }, + "DisassociateProtectConfigurationRequest":{ + "type":"structure", + "required":[ + "ProtectConfigurationId", + "ConfigurationSetName" + ], + "members":{ + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"}, + "ConfigurationSetName":{"shape":"ConfigurationSetNameOrArn"} + } + }, + "DisassociateProtectConfigurationResult":{ + "type":"structure", + "required":[ + "ConfigurationSetArn", + "ConfigurationSetName", + "ProtectConfigurationArn", + "ProtectConfigurationId" + ], + "members":{ + "ConfigurationSetArn":{"shape":"String"}, + "ConfigurationSetName":{"shape":"ConfigurationSetName"}, + "ProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationId"} + } + }, "DiscardRegistrationVersionRequest":{ "type":"structure", "required":["RegistrationId"], @@ -2416,13 +2784,30 @@ "VOICE_BUSY", "VOICE_NO_ANSWER", "VOICE_FAILED", - "VOICE_TTL_EXPIRED" + "VOICE_TTL_EXPIRED", + "MEDIA_ALL", + "MEDIA_PENDING", + "MEDIA_QUEUED", + "MEDIA_SUCCESSFUL", + "MEDIA_DELIVERED", + "MEDIA_INVALID", + "MEDIA_INVALID_MESSAGE", + "MEDIA_UNREACHABLE", + "MEDIA_CARRIER_UNREACHABLE", + "MEDIA_BLOCKED", + "MEDIA_CARRIER_BLOCKED", + "MEDIA_SPAM", + "MEDIA_UNKNOWN", + "MEDIA_TTL_EXPIRED", + "MEDIA_FILE_INACCESSIBLE", + "MEDIA_FILE_TYPE_UNSUPPORTED", + "MEDIA_FILE_SIZE_EXCEEDED" ] }, "EventTypeList":{ "type":"list", "member":{"shape":"EventType"}, - "max":25, + "max":43, "min":1 }, "FieldPath":{ @@ -2455,9 +2840,9 @@ }, "FilterValue":{ "type":"string", - "max":100, + "max":128, "min":1, - "pattern":"[\\.:A-Za-z0-9_-]+" + "pattern":"[/\\.:A-Za-z0-9_-]+" }, "FilterValueList":{ "type":"list", @@ -2465,6 +2850,32 @@ "max":20, "min":1 }, + "GetProtectConfigurationCountryRuleSetRequest":{ + "type":"structure", + "required":[ + "ProtectConfigurationId", + "NumberCapability" + ], + "members":{ + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"}, + "NumberCapability":{"shape":"NumberCapability"} + } + }, + "GetProtectConfigurationCountryRuleSetResult":{ + "type":"structure", + "required":[ + "ProtectConfigurationArn", + "ProtectConfigurationId", + "NumberCapability", + "CountryRuleSet" + ], + "members":{ + "ProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationId"}, + "NumberCapability":{"shape":"NumberCapability"}, + "CountryRuleSet":{"shape":"ProtectConfigurationCountryRuleSet"} + } + }, "IamRoleArn":{ "type":"string", "max":2048, @@ -2661,6 +3072,24 @@ "max":100, "min":1 }, + "MediaMessageOriginationIdentity":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[A-Za-z0-9_:/\\+-]+" + }, + "MediaUrlList":{ + "type":"list", + "member":{"shape":"MediaUrlValue"}, + "max":1, + "min":1 + }, + "MediaUrlValue":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"s3://([a-z0-9\\.-]{3,63})/(.+)" + }, "MessageType":{ "type":"string", "enum":[ @@ -2696,13 +3125,14 @@ "type":"string", "enum":[ "SMS", - "VOICE" + "VOICE", + "MMS" ] }, "NumberCapabilityList":{ "type":"list", "member":{"shape":"NumberCapability"}, - "max":2, + "max":3, "min":1 }, "NumberStatus":{ @@ -3037,6 +3467,98 @@ }, "PrimitiveBoolean":{"type":"boolean"}, "PrimitiveLong":{"type":"long"}, + "ProtectConfigurationArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"arn:\\S+" + }, + "ProtectConfigurationCountryRuleSet":{ + "type":"map", + "key":{"shape":"IsoCountryCode"}, + "value":{"shape":"ProtectConfigurationCountryRuleSetInformation"}, + "max":300, + "min":1 + }, + "ProtectConfigurationCountryRuleSetInformation":{ + "type":"structure", + "required":["ProtectStatus"], + "members":{ + "ProtectStatus":{"shape":"ProtectStatus"} + } + }, + "ProtectConfigurationFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{"shape":"ProtectConfigurationFilterName"}, + "Values":{"shape":"FilterValueList"} + } + }, + "ProtectConfigurationFilterList":{ + "type":"list", + "member":{"shape":"ProtectConfigurationFilter"}, + "max":20, + "min":0 + }, + "ProtectConfigurationFilterName":{ + "type":"string", + "enum":[ + "account-default", + "deletion-protection-enabled" + ] + }, + "ProtectConfigurationId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[A-Za-z0-9_-]+" + }, + "ProtectConfigurationIdList":{ + "type":"list", + "member":{"shape":"ProtectConfigurationIdOrArn"}, + "max":5, + "min":0 + }, + "ProtectConfigurationIdOrArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[A-Za-z0-9_:/-]+" + }, + "ProtectConfigurationInformation":{ + "type":"structure", + "required":[ + "ProtectConfigurationArn", + "ProtectConfigurationId", + "CreatedTimestamp", + "AccountDefault", + "DeletionProtectionEnabled" + ], + "members":{ + "ProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationId"}, + "CreatedTimestamp":{"shape":"Timestamp"}, + "AccountDefault":{"shape":"PrimitiveBoolean"}, + "DeletionProtectionEnabled":{"shape":"PrimitiveBoolean"} + } + }, + "ProtectConfigurationInformationList":{ + "type":"list", + "member":{"shape":"ProtectConfigurationInformation"}, + "max":100, + "min":1 + }, + "ProtectStatus":{ + "type":"string", + "enum":[ + "ALLOW", + "BLOCK" + ] + }, "PutKeywordRequest":{ "type":"structure", "required":[ @@ -3729,7 +4251,8 @@ "opted-out-number", "registration", "registration-attachment", - "verified-destination-number" + "verified-destination-number", + "protect-configuration" ] }, "SectionPath":{ @@ -3804,6 +4327,31 @@ "MessageId":{"shape":"String"} } }, + "SendMediaMessageRequest":{ + "type":"structure", + "required":[ + "DestinationPhoneNumber", + "OriginationIdentity" + ], + "members":{ + "DestinationPhoneNumber":{"shape":"PhoneNumber"}, + "OriginationIdentity":{"shape":"MediaMessageOriginationIdentity"}, + "MessageBody":{"shape":"TextMessageBody"}, + "MediaUrls":{"shape":"MediaUrlList"}, + "ConfigurationSetName":{"shape":"ConfigurationSetNameOrArn"}, + "MaxPrice":{"shape":"MaxPrice"}, + "TimeToLive":{"shape":"TimeToLive"}, + "Context":{"shape":"ContextMap"}, + "DryRun":{"shape":"PrimitiveBoolean"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"} + } + }, + "SendMediaMessageResult":{ + "type":"structure", + "members":{ + "MessageId":{"shape":"String"} + } + }, "SendTextMessageRequest":{ "type":"structure", "required":["DestinationPhoneNumber"], @@ -3818,7 +4366,8 @@ "TimeToLive":{"shape":"TimeToLive"}, "Context":{"shape":"ContextMap"}, "DestinationCountryParameters":{"shape":"DestinationCountryParameters"}, - "DryRun":{"shape":"PrimitiveBoolean"} + "DryRun":{"shape":"PrimitiveBoolean"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"} } }, "SendTextMessageResult":{ @@ -3843,7 +4392,8 @@ "MaxPricePerMinute":{"shape":"MaxPrice"}, "TimeToLive":{"shape":"TimeToLive"}, "Context":{"shape":"ContextMap"}, - "DryRun":{"shape":"PrimitiveBoolean"} + "DryRun":{"shape":"PrimitiveBoolean"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"} } }, "SendVoiceMessageResult":{ @@ -3951,6 +4501,7 @@ "EVENT_DESTINATIONS_PER_CONFIGURATION_SET", "KEYWORDS_PER_PHONE_NUMBER", "KEYWORDS_PER_POOL", + "MONTHLY_SPEND_LIMIT_REACHED_FOR_MEDIA", "MONTHLY_SPEND_LIMIT_REACHED_FOR_TEXT", "MONTHLY_SPEND_LIMIT_REACHED_FOR_VOICE", "OPT_OUT_LISTS_PER_ACCOUNT", @@ -3965,9 +4516,28 @@ "SENDER_IDS_PER_ACCOUNT", "TAGS_PER_RESOURCE", "VERIFIED_DESTINATION_NUMBERS_PER_ACCOUNT", - "VERIFICATION_ATTEMPTS_PER_DAY" + "VERIFICATION_ATTEMPTS_PER_DAY", + "PROTECT_CONFIGURATIONS_PER_ACCOUNT" ] }, + "SetAccountDefaultProtectConfigurationRequest":{ + "type":"structure", + "required":["ProtectConfigurationId"], + "members":{ + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"} + } + }, + "SetAccountDefaultProtectConfigurationResult":{ + "type":"structure", + "required":[ + "DefaultProtectConfigurationArn", + "DefaultProtectConfigurationId" + ], + "members":{ + "DefaultProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "DefaultProtectConfigurationId":{"shape":"ProtectConfigurationId"} + } + }, "SetDefaultMessageTypeRequest":{ "type":"structure", "required":[ @@ -4006,6 +4576,19 @@ "SenderId":{"shape":"SenderId"} } }, + "SetMediaMessageSpendLimitOverrideRequest":{ + "type":"structure", + "required":["MonthlyLimit"], + "members":{ + "MonthlyLimit":{"shape":"MonthlyLimit"} + } + }, + "SetMediaMessageSpendLimitOverrideResult":{ + "type":"structure", + "members":{ + "MonthlyLimit":{"shape":"MonthlyLimit"} + } + }, "SetTextMessageSpendLimitOverrideRequest":{ "type":"structure", "required":["MonthlyLimit"], @@ -4068,7 +4651,8 @@ "type":"string", "enum":[ "TEXT_MESSAGE_MONTHLY_SPEND_LIMIT", - "VOICE_MESSAGE_MONTHLY_SPEND_LIMIT" + "VOICE_MESSAGE_MONTHLY_SPEND_LIMIT", + "MEDIA_MESSAGE_MONTHLY_SPEND_LIMIT" ] }, "String":{"type":"string"}, @@ -4331,6 +4915,59 @@ "CreatedTimestamp":{"shape":"Timestamp"} } }, + "UpdateProtectConfigurationCountryRuleSetRequest":{ + "type":"structure", + "required":[ + "ProtectConfigurationId", + "NumberCapability", + "CountryRuleSetUpdates" + ], + "members":{ + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"}, + "NumberCapability":{"shape":"NumberCapability"}, + "CountryRuleSetUpdates":{"shape":"ProtectConfigurationCountryRuleSet"} + } + }, + "UpdateProtectConfigurationCountryRuleSetResult":{ + "type":"structure", + "required":[ + "ProtectConfigurationArn", + "ProtectConfigurationId", + "NumberCapability", + "CountryRuleSet" + ], + "members":{ + "ProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationId"}, + "NumberCapability":{"shape":"NumberCapability"}, + "CountryRuleSet":{"shape":"ProtectConfigurationCountryRuleSet"} + } + }, + "UpdateProtectConfigurationRequest":{ + "type":"structure", + "required":["ProtectConfigurationId"], + "members":{ + "ProtectConfigurationId":{"shape":"ProtectConfigurationIdOrArn"}, + "DeletionProtectionEnabled":{"shape":"Boolean"} + } + }, + "UpdateProtectConfigurationResult":{ + "type":"structure", + "required":[ + "ProtectConfigurationArn", + "ProtectConfigurationId", + "CreatedTimestamp", + "AccountDefault", + "DeletionProtectionEnabled" + ], + "members":{ + "ProtectConfigurationArn":{"shape":"ProtectConfigurationArn"}, + "ProtectConfigurationId":{"shape":"ProtectConfigurationId"}, + "CreatedTimestamp":{"shape":"Timestamp"}, + "AccountDefault":{"shape":"PrimitiveBoolean"}, + "DeletionProtectionEnabled":{"shape":"PrimitiveBoolean"} + } + }, "UpdateSenderIdRequest":{ "type":"structure", "required":[ @@ -4406,6 +5043,7 @@ "INVALID_REQUEST", "INVALID_REGISTRATION_ASSOCIATION", "MAXIMUM_SIZE_EXCEEDED", + "MEDIA_TYPE_NOT_SUPPORTED", "MISSING_PARAMETER", "PARAMETERS_CANNOT_BE_USED_TOGETHER", "PHONE_NUMBER_CANNOT_BE_OPTED_IN", diff --git a/models/apis/pinpoint-sms-voice-v2/2022-03-31/docs-2.json b/models/apis/pinpoint-sms-voice-v2/2022-03-31/docs-2.json index b3fc0bb3c4..e6487ac2a6 100644 --- a/models/apis/pinpoint-sms-voice-v2/2022-03-31/docs-2.json +++ b/models/apis/pinpoint-sms-voice-v2/2022-03-31/docs-2.json @@ -1,25 +1,30 @@ { "version": "2.0", - "service": "

Welcome to the Amazon Pinpoint SMS and Voice, version 2 API Reference. This guide provides information about Amazon Pinpoint SMS and Voice, version 2 API resources, including supported HTTP methods, parameters, and schemas.

Amazon Pinpoint is an Amazon Web Services service that you can use to engage with your recipients across multiple messaging channels. The Amazon Pinpoint SMS and Voice, version 2 API provides programmatic access to options that are unique to the SMS and voice channels and supplements the resources provided by the Amazon Pinpoint API.

If you're new to Amazon Pinpoint, it's also helpful to review the Amazon Pinpoint Developer Guide. The Amazon Pinpoint Developer Guide provides tutorials, code samples, and procedures that demonstrate how to use Amazon Pinpoint features programmatically and how to integrate Amazon Pinpoint functionality into mobile apps and other types of applications. The guide also provides key information, such as Amazon Pinpoint integration with other Amazon Web Services services, and the quotas that apply to use of the service.

Regional availability

The Amazon Pinpoint SMS and Voice, version 2 API Reference is available in several Amazon Web Services Regions and it provides an endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see Amazon Web Services Service Endpoints and Amazon Pinpoint endpoints and quotas in the Amazon Web Services General Reference. To learn more about Amazon Web Services Regions, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

In each Region, Amazon Web Services maintains multiple Availability Zones. These Availability Zones are physically isolated from each other, but are united by private, low-latency, high-throughput, and highly redundant network connections. These Availability Zones enable us to provide very high levels of availability and redundancy, while also minimizing latency. To learn more about the number of Availability Zones that are available in each Region, see Amazon Web Services Global Infrastructure.

", + "service": "

Welcome to the Amazon Pinpoint SMS and Voice, version 2 API Reference. This guide provides information about Amazon Pinpoint SMS and Voice, version 2 API resources, including supported HTTP methods, parameters, and schemas.

Amazon Pinpoint is an Amazon Web Services service that you can use to engage with your recipients across multiple messaging channels. The Amazon Pinpoint SMS and Voice, version 2 API provides programmatic access to options that are unique to the SMS and voice channels. Amazon Pinpoint SMS and Voice, version 2 resources such as phone numbers, sender IDs, and opt-out lists can be used by the Amazon Pinpoint API.

If you're new to Amazon Pinpoint SMS, it's also helpful to review the Amazon Pinpoint SMS User Guide. The Amazon Pinpoint Developer Guide provides tutorials, code samples, and procedures that demonstrate how to use Amazon Pinpoint SMS features programmatically and how to integrate Amazon Pinpoint functionality into mobile apps and other types of applications. The guide also provides key information, such as Amazon Pinpoint integration with other Amazon Web Services services, and the quotas that apply to use of the service.

Regional availability

The Amazon Pinpoint SMS and Voice, version 2 API Reference is available in several Amazon Web Services Regions and it provides an endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see Amazon Web Services Service Endpoints and Amazon Pinpoint endpoints and quotas in the Amazon Web Services General Reference. To learn more about Amazon Web Services Regions, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

In each Region, Amazon Web Services maintains multiple Availability Zones. These Availability Zones are physically isolated from each other, but are united by private, low-latency, high-throughput, and highly redundant network connections. These Availability Zones enable us to provide very high levels of availability and redundancy, while also minimizing latency. To learn more about the number of Availability Zones that are available in each Region, see Amazon Web Services Global Infrastructure.

", "operations": { "AssociateOriginationIdentity": "

Associates the specified origination identity with a pool.

If the origination identity is a phone number and is already associated with another pool, an error is returned. A sender ID can be associated with multiple pools.

If the origination identity configuration doesn't match the pool's configuration, an error is returned.

", + "AssociateProtectConfiguration": "

Associate a protect configuration with a configuration set. This replaces the configuration sets current protect configuration. A configuration set can only be associated with one protect configuration at a time. A protect configuration can be associated with multiple configuration sets.

", "CreateConfigurationSet": "

Creates a new configuration set. After you create the configuration set, you can add one or more event destinations to it.

A configuration set is a set of rules that you apply to the SMS and voice messages that you send.

When you send a message, you can optionally specify a single configuration set.

", "CreateEventDestination": "

Creates a new event destination in a configuration set.

An event destination is a location where you send message events. The event options are Amazon CloudWatch, Amazon Kinesis Data Firehose, or Amazon SNS. For example, when a message is delivered successfully, you can send information about that event to an event destination, or send notifications to endpoints that are subscribed to an Amazon SNS topic.

Each configuration set can contain between 0 and 5 event destinations. Each event destination can contain a reference to a single destination, such as a CloudWatch or Kinesis Data Firehose destination.

", "CreateOptOutList": "

Creates a new opt-out list.

If the opt-out list name already exists, an error is returned.

An opt-out list is a list of phone numbers that are opted out, meaning you can't send SMS or voice messages to them. If end user replies with the keyword \"STOP,\" an entry for the phone number is added to the opt-out list. In addition to STOP, your recipients can use any supported opt-out keyword, such as CANCEL or OPTOUT. For a list of supported opt-out keywords, see SMS opt out in the Amazon Pinpoint User Guide.

", "CreatePool": "

Creates a new pool and associates the specified origination identity to the pool. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account.

The new pool inherits its configuration from the specified origination identity. This includes keywords, message type, opt-out list, two-way configuration, and self-managed opt-out configuration. Deletion protection isn't inherited from the origination identity and defaults to false.

If the origination identity is a phone number and is already associated with another pool, an error is returned. A sender ID can be associated with multiple pools.

", + "CreateProtectConfiguration": "

Create a new protect configuration. By default all country rule sets for each capability are set to ALLOW. Update the country rule sets using UpdateProtectConfigurationCountryRuleSet. A protect configurations name is stored as a Tag with the key set to Name and value as the name of the protect configuration.

", "CreateRegistration": "

Creates a new registration based on the RegistrationType field.

", "CreateRegistrationAssociation": "

Associate the registration with an origination identity such as a phone number or sender ID.

", "CreateRegistrationAttachment": "

Create a new registration attachment to use for uploading a file or a URL to a file. The maximum file size is 1MiB and valid file extensions are PDF, JPEG and PNG. For example, many sender ID registrations require a signed “letter of authorization” (LOA) to be submitted.

", "CreateRegistrationVersion": "

Create a new version of the registration and increase the VersionNumber. The previous version of the registration becomes read-only.

", "CreateVerifiedDestinationNumber": "

You can only send messages to verified destination numbers when your account is in the sandbox. You can add up to 10 verified destination numbers.

", + "DeleteAccountDefaultProtectConfiguration": "

Removes the current account default protect configuration.

", "DeleteConfigurationSet": "

Deletes an existing configuration set.

A configuration set is a set of rules that you apply to voice and SMS messages that you send. In a configuration set, you can specify a destination for specific types of events related to voice and SMS messages.

", "DeleteDefaultMessageType": "

Deletes an existing default message type on a configuration set.

A message type is a type of messages that you plan to send. If you send account-related messages or time-sensitive messages such as one-time passcodes, choose Transactional. If you plan to send messages that contain marketing material or other promotional content, choose Promotional. This setting applies to your entire Amazon Web Services account.

", "DeleteDefaultSenderId": "

Deletes an existing default sender ID on a configuration set.

A default sender ID is the identity that appears on recipients' devices when they receive SMS messages. Support for sender ID capabilities varies by country or region.

", "DeleteEventDestination": "

Deletes an existing event destination.

An event destination is a location where you send response information about the messages that you send. For example, when a message is delivered successfully, you can send information about that event to an Amazon CloudWatch destination, or send notifications to endpoints that are subscribed to an Amazon SNS topic.

", "DeleteKeyword": "

Deletes an existing keyword from an origination phone number or pool.

A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, Amazon Pinpoint responds with a customizable message.

Keywords \"HELP\" and \"STOP\" can't be deleted or modified.

", + "DeleteMediaMessageSpendLimitOverride": "

Deletes an account-level monthly spending limit override for sending multimedia messages (MMS). Deleting a spend limit override will set the EnforcedLimit to equal the MaxLimit, which is controlled by Amazon Web Services. For more information on spend limits (quotas) see Quotas for Server Migration Service in the Server Migration Service User Guide.

", "DeleteOptOutList": "

Deletes an existing opt-out list. All opted out phone numbers in the opt-out list are deleted.

If the specified opt-out list name doesn't exist or is in-use by an origination phone number or pool, an error is returned.

", "DeleteOptedOutNumber": "

Deletes an existing opted out destination phone number from the specified opt-out list.

Each destination phone number can only be deleted once every 30 days.

If the specified destination phone number doesn't exist or if the opt-out list doesn't exist, an error is returned.

", "DeletePool": "

Deletes an existing pool. Deleting a pool disassociates all origination identities from that pool.

If the pool status isn't active or if deletion protection is enabled, an error is returned.

A pool is a collection of phone numbers and SenderIds. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account.

", + "DeleteProtectConfiguration": "

Permanently delete the protect configuration. The protect configuration must have deletion protection disabled and must not be associated as the account default protect configuration or associated with a configuration set.

", "DeleteRegistration": "

Permanently delete an existing registration from your account.

", "DeleteRegistrationAttachment": "

Permanently delete the specified registration attachment.

", "DeleteRegistrationFieldValue": "

Delete the value in a registration form field.

", @@ -34,6 +39,7 @@ "DescribeOptedOutNumbers": "

Describes the specified opted out destination numbers or all opted out destination numbers in an opt-out list.

If you specify opted out numbers, the output includes information for only the specified opted out numbers. If you specify filters, the output includes information for only those opted out numbers that meet the filter criteria. If you don't specify opted out numbers or filters, the output includes information for all opted out destination numbers in your opt-out list.

If you specify an opted out number that isn't valid, an error is returned.

", "DescribePhoneNumbers": "

Describes the specified origination phone number, or all the phone numbers in your account.

If you specify phone number IDs, the output includes information for only the specified phone numbers. If you specify filters, the output includes information for only those phone numbers that meet the filter criteria. If you don't specify phone number IDs or filters, the output includes information for all phone numbers.

If you specify a phone number ID that isn't valid, an error is returned.

", "DescribePools": "

Retrieves the specified pools or all pools associated with your Amazon Web Services account.

If you specify pool IDs, the output includes information for only the specified pools. If you specify filters, the output includes information for only those pools that meet the filter criteria. If you don't specify pool IDs or filters, the output includes information for all pools.

If you specify a pool ID that isn't valid, an error is returned.

A pool is a collection of phone numbers and SenderIds. A pool can include one or more phone numbers and SenderIds that are associated with your Amazon Web Services account.

", + "DescribeProtectConfigurations": "

Retrieves the protect configurations that match any of filters. If a filter isn’t provided then all protect configurations are returned.

", "DescribeRegistrationAttachments": "

Retrieves the specified registration attachments or all registration attachments associated with your Amazon Web Services account.

", "DescribeRegistrationFieldDefinitions": "

Retrieves the specified registration type field definitions. You can use DescribeRegistrationFieldDefinitions to view the requirements for creating, filling out, and submitting each registration type.

", "DescribeRegistrationFieldValues": "

Retrieves the specified registration field values.

", @@ -45,7 +51,9 @@ "DescribeSpendLimits": "

Describes the current Amazon Pinpoint monthly spend limits for sending voice and text messages.

When you establish an Amazon Web Services account, the account has initial monthly spend limit in a given Region. For more information on increasing your monthly spend limit, see Requesting increases to your monthly SMS spending quota for Amazon Pinpoint in the Amazon Pinpoint User Guide.

", "DescribeVerifiedDestinationNumbers": "

Retrieves the specified verified destiona numbers.

", "DisassociateOriginationIdentity": "

Removes the specified origination identity from an existing pool.

If the origination identity isn't associated with the specified pool, an error is returned.

", + "DisassociateProtectConfiguration": "

Disassociate a protect configuration from a configuration set.

", "DiscardRegistrationVersion": "

Discard the current version of the registration.

", + "GetProtectConfigurationCountryRuleSet": "

Retrieve the CountryRuleSet for the specified NumberCapability from a protect configuration.

", "ListPoolOriginationIdentities": "

Lists all associated origination identities in your pool.

If you specify filters, the output includes information for only those origination identities that meet the filter criteria.

", "ListRegistrationAssociations": "

Retreive all of the origination identies that are associated with a registration.

", "ListTagsForResource": "

List all tags associated with a resource.

", @@ -57,10 +65,13 @@ "RequestPhoneNumber": "

Request an origination phone number for use in your account. For more information on phone number request see Requesting a number in the Amazon Pinpoint User Guide.

", "RequestSenderId": "

Request a new sender ID that doesn't require registration.

", "SendDestinationNumberVerificationCode": "

Before you can send test messages to a verified destination phone number you need to opt-in the verified destination phone number. Creates a new text message with a verification code and send it to a verified destination phone number. Once you have the verification code use VerifyDestinationNumber to opt-in the verified destination phone number to receive messages.

", + "SendMediaMessage": "

Creates a new multimedia message (MMS) and sends it to a recipient's phone number.

", "SendTextMessage": "

Creates a new text message and sends it to a recipient's phone number.

SMS throughput limits are measured in Message Parts per Second (MPS). Your MPS limit depends on the destination country of your messages, as well as the type of phone number (origination number) that you use to send the message. For more information, see Message Parts per Second (MPS) limits in the Amazon Pinpoint User Guide.

", "SendVoiceMessage": "

Allows you to send a request that sends a voice message through Amazon Pinpoint. This operation uses Amazon Polly to convert a text script into a voice message.

", + "SetAccountDefaultProtectConfiguration": "

Set a protect configuration as your account default. You can only have one account default protect configuration at a time. The current account default protect configuration is replaced with the provided protect configuration.

", "SetDefaultMessageType": "

Sets the default message type on a configuration set.

Choose the category of SMS messages that you plan to send from this account. If you send account-related messages or time-sensitive messages such as one-time passcodes, choose Transactional. If you plan to send messages that contain marketing material or other promotional content, choose Promotional. This setting applies to your entire Amazon Web Services account.

", "SetDefaultSenderId": "

Sets default sender ID on a configuration set.

When sending a text message to a destination country that supports sender IDs, the default sender ID on the configuration set specified will be used if no dedicated origination phone numbers or registered sender IDs are available in your account.

", + "SetMediaMessageSpendLimitOverride": "

Sets an account level monthly spend limit override for sending MMS messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services.

", "SetTextMessageSpendLimitOverride": "

Sets an account level monthly spend limit override for sending text messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services.

", "SetVoiceMessageSpendLimitOverride": "

Sets an account level monthly spend limit override for sending voice messages. The requested spend limit must be less than or equal to the MaxLimit, which is set by Amazon Web Services.

", "SubmitRegistrationVersion": "

Submit the specified registration for review and approval.

", @@ -69,6 +80,8 @@ "UpdateEventDestination": "

Updates an existing event destination in a configuration set. You can update the IAM role ARN for CloudWatch Logs and Kinesis Data Firehose. You can also enable or disable the event destination.

You may want to update an event destination to change its matching event types or updating the destination resource ARN. You can't change an event destination's type between CloudWatch Logs, Kinesis Data Firehose, and Amazon SNS.

", "UpdatePhoneNumber": "

Updates the configuration of an existing origination phone number. You can update the opt-out list, enable or disable two-way messaging, change the TwoWayChannelArn, enable or disable self-managed opt-outs, and enable or disable deletion protection.

If the origination phone number is associated with a pool, an error is returned.

", "UpdatePool": "

Updates the configuration of an existing pool. You can update the opt-out list, enable or disable two-way messaging, change the TwoWayChannelArn, enable or disable self-managed opt-outs, enable or disable deletion protection, and enable or disable shared routes.

", + "UpdateProtectConfiguration": "

Update the setting for an existing protect configuration.

", + "UpdateProtectConfigurationCountryRuleSet": "

Update a country rule set to ALLOW or BLOCK messages to be sent to the specified destination counties. You can update one or multiple countries at a time. The updates are only applied to the specified NumberCapability type.

", "UpdateSenderId": "

Updates the configuration of an existing sender ID.

", "VerifyDestinationNumber": "

Use the verification code that was received by the verified destination phone number to opt-in the verified destination phone number to receive more messages.

" }, @@ -139,6 +152,16 @@ "refs": { } }, + "AssociateProtectConfigurationRequest": { + "base": null, + "refs": { + } + }, + "AssociateProtectConfigurationResult": { + "base": null, + "refs": { + } + }, "AttachmentBody": { "base": null, "refs": { @@ -170,6 +193,7 @@ "base": null, "refs": { "CreatePoolRequest$DeletionProtectionEnabled": "

By default this is set to false. When set to true the pool can't be deleted. You can change this value using the UpdatePool action.

", + "CreateProtectConfigurationRequest$DeletionProtectionEnabled": "

When set to true deletion protection is enabled. By default this is set to false.

", "EventDestination$Enabled": "

When set to true events will be logged.

", "RequestPhoneNumberRequest$DeletionProtectionEnabled": "

By default this is set to false. When set to true the phone number can't be deleted.

", "RequestSenderIdRequest$DeletionProtectionEnabled": "

By default this is set to false. When set to true the sender ID can't be deleted.

", @@ -181,6 +205,7 @@ "UpdatePoolRequest$SelfManagedOptOutsEnabled": "

By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.

", "UpdatePoolRequest$SharedRoutesEnabled": "

Indicates whether shared routes are enabled for the pool.

", "UpdatePoolRequest$DeletionProtectionEnabled": "

When set to true the pool can't be deleted.

", + "UpdateProtectConfigurationRequest$DeletionProtectionEnabled": "

When set to true deletion protection is enabled. By default this is set to false.

", "UpdateSenderIdRequest$DeletionProtectionEnabled": "

By default this is set to false. When set to true the sender ID can't be deleted.

" } }, @@ -192,6 +217,7 @@ "CreateEventDestinationRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.

", "CreateOptOutListRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.

", "CreatePoolRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.

", + "CreateProtectConfigurationRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.

", "CreateRegistrationAttachmentRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.

", "CreateRegistrationRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.

", "CreateVerifiedDestinationNumberRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.

", @@ -203,7 +229,7 @@ "CloudWatchLogsDestination": { "base": "

Contains the destination configuration to use when publishing message sending events.

", "refs": { - "CreateEventDestinationRequest$CloudWatchLogsDestination": "

An object that contains information about an event destination for logging to Amazon CloudWatch logs.

", + "CreateEventDestinationRequest$CloudWatchLogsDestination": "

An object that contains information about an event destination for logging to Amazon CloudWatch Logs.

", "EventDestination$CloudWatchLogsDestination": "

An object that contains information about an event destination that sends logging events to Amazon CloudWatch logs.

", "UpdateEventDestinationRequest$CloudWatchLogsDestination": "

An object that contains information about an event destination that sends data to CloudWatch Logs.

" } @@ -241,6 +267,7 @@ "ConfigurationSetName": { "base": null, "refs": { + "AssociateProtectConfigurationResult$ConfigurationSetName": "

The name of the ConfigurationSet.

", "ConfigurationSetInformation$ConfigurationSetName": "

The name of the ConfigurationSet.

", "CreateConfigurationSetRequest$ConfigurationSetName": "

The name to use for the new configuration set.

", "CreateConfigurationSetResult$ConfigurationSetName": "

The name of the new configuration set.

", @@ -249,6 +276,7 @@ "DeleteDefaultMessageTypeResult$ConfigurationSetName": "

The name of the configuration set.

", "DeleteDefaultSenderIdResult$ConfigurationSetName": "

The name of the configuration set.

", "DeleteEventDestinationResult$ConfigurationSetName": "

The name of the configuration set the event destination was deleted from.

", + "DisassociateProtectConfigurationResult$ConfigurationSetName": "

The name of the ConfigurationSet.

", "SetDefaultMessageTypeResult$ConfigurationSetName": "

The name of the configuration set that was updated.

", "SetDefaultSenderIdResult$ConfigurationSetName": "

The name of the configuration set that was updated.

", "UpdateEventDestinationResult$ConfigurationSetName": "

The name of the configuration set.

" @@ -263,13 +291,16 @@ "ConfigurationSetNameOrArn": { "base": null, "refs": { + "AssociateProtectConfigurationRequest$ConfigurationSetName": "

The name of the ConfigurationSet.

", "ConfigurationSetNameList$member": null, "CreateEventDestinationRequest$ConfigurationSetName": "

Either the name of the configuration set or the configuration set ARN to apply event logging to. The ConfigurateSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action.

", "DeleteConfigurationSetRequest$ConfigurationSetName": "

The name of the configuration set or the configuration set ARN that you want to delete. The ConfigurationSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action.

", "DeleteDefaultMessageTypeRequest$ConfigurationSetName": "

The name of the configuration set or the configuration set Amazon Resource Name (ARN) to delete the default message type from. The ConfigurationSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action.

", "DeleteDefaultSenderIdRequest$ConfigurationSetName": "

The name of the configuration set or the configuration set Amazon Resource Name (ARN) to delete the default sender ID from. The ConfigurationSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action.

", "DeleteEventDestinationRequest$ConfigurationSetName": "

The name of the configuration set or the configuration set's Amazon Resource Name (ARN) to remove the event destination from. The ConfigurateSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action.

", + "DisassociateProtectConfigurationRequest$ConfigurationSetName": "

The name of the ConfigurationSet.

", "SendDestinationNumberVerificationCodeRequest$ConfigurationSetName": "

The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn.

", + "SendMediaMessageRequest$ConfigurationSetName": "

The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn.

", "SendTextMessageRequest$ConfigurationSetName": "

The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn.

", "SendVoiceMessageRequest$ConfigurationSetName": "

The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn.

", "SetDefaultMessageTypeRequest$ConfigurationSetName": "

The configuration set to update with a new default message type. This field can be the ConsigurationSetName or ConfigurationSetArn.

", @@ -298,6 +329,7 @@ "base": null, "refs": { "SendDestinationNumberVerificationCodeRequest$Context": "

You can specify custom data in this field. If you do, that data is logged to the event destination.

", + "SendMediaMessageRequest$Context": "

You can specify custom data in this field. If you do, that data is logged to the event destination.

", "SendTextMessageRequest$Context": "

You can specify custom data in this field. If you do, that data is logged to the event destination.

", "SendVoiceMessageRequest$Context": "

You can specify custom data in this field. If you do, that data is logged to the event destination.

" } @@ -348,6 +380,16 @@ "refs": { } }, + "CreateProtectConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateProtectConfigurationResult": { + "base": null, + "refs": { + } + }, "CreateRegistrationAssociationRequest": { "base": null, "refs": { @@ -398,6 +440,16 @@ "refs": { } }, + "DeleteAccountDefaultProtectConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteAccountDefaultProtectConfigurationResult": { + "base": null, + "refs": { + } + }, "DeleteConfigurationSetRequest": { "base": null, "refs": { @@ -448,6 +500,16 @@ "refs": { } }, + "DeleteMediaMessageSpendLimitOverrideRequest": { + "base": null, + "refs": { + } + }, + "DeleteMediaMessageSpendLimitOverrideResult": { + "base": null, + "refs": { + } + }, "DeleteOptOutListRequest": { "base": null, "refs": { @@ -478,6 +540,16 @@ "refs": { } }, + "DeleteProtectConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteProtectConfigurationResult": { + "base": null, + "refs": { + } + }, "DeleteRegistrationAttachmentRequest": { "base": null, "refs": { @@ -624,6 +696,16 @@ "refs": { } }, + "DescribeProtectConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "DescribeProtectConfigurationsResult": { + "base": null, + "refs": { + } + }, "DescribeRegistrationAttachmentsRequest": { "base": null, "refs": { @@ -759,6 +841,16 @@ "refs": { } }, + "DisassociateProtectConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DisassociateProtectConfigurationResult": { + "base": null, + "refs": { + } + }, "DiscardRegistrationVersionRequest": { "base": null, "refs": { @@ -770,7 +862,7 @@ } }, "EventDestination": { - "base": "

Contains information about an event destination.

Event destinations are associated with configuration sets, which enable you to publish message sending events to CloudWatch, Kinesis Data Firehose,or Amazon SNS.

", + "base": "

Contains information about an event destination.

Event destinations are associated with configuration sets, which enable you to publish message sending events to CloudWatch, Kinesis Data Firehose, or Amazon SNS.

", "refs": { "CreateEventDestinationResult$EventDestination": "

The details of the destination where events are logged.

", "DeleteEventDestinationResult$EventDestination": "

The event destination object that was deleted.

", @@ -854,6 +946,7 @@ "PhoneNumberFilter$Values": "

An array values to filter for.

", "PoolFilter$Values": "

An array values to filter for.

", "PoolOriginationIdentitiesFilter$Values": "

An array values to filter for.

", + "ProtectConfigurationFilter$Values": "

An array of values to filter for.

", "RegistrationAssociationFilter$Values": "

An array of values to filter for.

", "RegistrationAttachmentFilter$Values": "

An array of values to filter on.

", "RegistrationFilter$Values": "

An array of values to filter on.

", @@ -863,13 +956,23 @@ "VerifiedDestinationNumberFilter$Values": "

An array of values to filter on.

" } }, + "GetProtectConfigurationCountryRuleSetRequest": { + "base": null, + "refs": { + } + }, + "GetProtectConfigurationCountryRuleSetResult": { + "base": null, + "refs": { + } + }, "IamRoleArn": { "base": null, "refs": { - "CloudWatchLogsDestination$IamRoleArn": "

The Amazon Resource Name (ARN) of an Amazon Identity and Access Management (IAM) role that is able to write event data to an Amazon CloudWatch destination.

", + "CloudWatchLogsDestination$IamRoleArn": "

The Amazon Resource Name (ARN) of an Identity and Access Management role that is able to write event data to an Amazon CloudWatch destination.

", "CreatePoolResult$TwoWayChannelRole": "

An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.

", "DeletePoolResult$TwoWayChannelRole": "

An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.

", - "KinesisFirehoseDestination$IamRoleArn": "

The ARN of an Amazon Identity and Access Management (IAM) role that is able to write event data to an Amazon Firehose destination.

", + "KinesisFirehoseDestination$IamRoleArn": "

The ARN of an Identity and Access Management role that is able to write event data to an Amazon Kinesis Data Firehose destination.

", "PhoneNumberInformation$TwoWayChannelRole": "

An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.

", "PoolInformation$TwoWayChannelRole": "

An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.

", "ReleasePhoneNumberResult$TwoWayChannelRole": "

An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.

", @@ -905,6 +1008,7 @@ "DisassociateOriginationIdentityResult$IsoCountryCode": "

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.

", "OriginationIdentityMetadata$IsoCountryCode": "

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.

", "PhoneNumberInformation$IsoCountryCode": "

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.

", + "ProtectConfigurationCountryRuleSet$key": null, "RegistrationAssociationMetadata$IsoCountryCode": "

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.

", "ReleasePhoneNumberResult$IsoCountryCode": "

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.

", "ReleaseSenderIdRequest$IsoCountryCode": "

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.

", @@ -988,7 +1092,7 @@ } }, "KinesisFirehoseDestination": { - "base": "

Contains the delivery stream Amazon Resource Name (ARN), and the ARN of the Identity and Access Management (IAM) role associated with an Kinesis Data Firehose event destination.

Event destinations, such as Kinesis Data Firehose, are associated with configuration sets, which enable you to publish message sending events.

", + "base": "

Contains the delivery stream Amazon Resource Name (ARN), and the ARN of the Identity and Access Management (IAM) role associated with a Kinesis Data Firehose event destination.

Event destinations, such as Kinesis Data Firehose, are associated with configuration sets, which enable you to publish message sending events.

", "refs": { "CreateEventDestinationRequest$KinesisFirehoseDestination": "

An object that contains information about an event destination for logging to Amazon Kinesis Data Firehose.

", "EventDestination$KinesisFirehoseDestination": "

An object that contains information about an event destination for logging to Amazon Kinesis Data Firehose.

", @@ -1040,6 +1144,7 @@ "MaxPrice": { "base": null, "refs": { + "SendMediaMessageRequest$MaxPrice": "

The maximum amount that you want to spend, in US dollars, per each MMS message.

", "SendTextMessageRequest$MaxPrice": "

The maximum amount that you want to spend, in US dollars, per each text message part. A text message can contain multiple parts.

", "SendVoiceMessageRequest$MaxPricePerMinute": "

The maximum amount to spend per voice message, in US dollars.

" } @@ -1055,6 +1160,7 @@ "DescribeOptedOutNumbersRequest$MaxResults": "

The maximum number of results to return per each request.

", "DescribePhoneNumbersRequest$MaxResults": "

The maximum number of results to return per each request.

", "DescribePoolsRequest$MaxResults": "

The maximum number of results to return per each request.

", + "DescribeProtectConfigurationsRequest$MaxResults": "

The maximum number of results to return per each request.

", "DescribeRegistrationAttachmentsRequest$MaxResults": "

The maximum number of results to return per each request.

", "DescribeRegistrationFieldDefinitionsRequest$MaxResults": "

The maximum number of results to return per each request.

", "DescribeRegistrationFieldValuesRequest$MaxResults": "

The maximum number of results to return per each request.

", @@ -1069,6 +1175,24 @@ "ListRegistrationAssociationsRequest$MaxResults": "

The maximum number of results to return per each request.

" } }, + "MediaMessageOriginationIdentity": { + "base": null, + "refs": { + "SendMediaMessageRequest$OriginationIdentity": "

The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn.

" + } + }, + "MediaUrlList": { + "base": null, + "refs": { + "SendMediaMessageRequest$MediaUrls": "

An array of URLs to each media file to send.

The media files have to be stored in a publicly available S3 bucket. Supported media file formats are listed in MMS file types, size and character limits. For more information on creating an S3 bucket and managing objects, see Creating a bucket and Uploading objects in the S3 user guide.

" + } + }, + "MediaUrlValue": { + "base": null, + "refs": { + "MediaUrlList$member": null + } + }, "MessageType": { "base": null, "refs": { @@ -1104,8 +1228,11 @@ "MonthlyLimit": { "base": null, "refs": { + "DeleteMediaMessageSpendLimitOverrideResult$MonthlyLimit": "

The current monthly limit, in US dollars.

", "DeleteTextMessageSpendLimitOverrideResult$MonthlyLimit": "

The current monthly limit, in US dollars.

", "DeleteVoiceMessageSpendLimitOverrideResult$MonthlyLimit": "

The current monthly limit, in US dollars.

", + "SetMediaMessageSpendLimitOverrideRequest$MonthlyLimit": "

The new monthly limit to enforce on text messages.

", + "SetMediaMessageSpendLimitOverrideResult$MonthlyLimit": "

The current monthly limit to enforce on sending text messages.

", "SetTextMessageSpendLimitOverrideRequest$MonthlyLimit": "

The new monthly limit to enforce on text messages.

", "SetTextMessageSpendLimitOverrideResult$MonthlyLimit": "

The current monthly limit to enforce on sending text messages.

", "SetVoiceMessageSpendLimitOverrideRequest$MonthlyLimit": "

The new monthly limit to enforce on voice messages.

", @@ -1131,6 +1258,8 @@ "DescribePhoneNumbersResult$NextToken": "

The token to be used for the next set of paginated results. If this field is empty then there are no more results.

", "DescribePoolsRequest$NextToken": "

The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request.

", "DescribePoolsResult$NextToken": "

The token to be used for the next set of paginated results. If this field is empty then there are no more results.

", + "DescribeProtectConfigurationsRequest$NextToken": "

The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request.

", + "DescribeProtectConfigurationsResult$NextToken": "

The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request.

", "DescribeRegistrationAttachmentsRequest$NextToken": "

The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request.

", "DescribeRegistrationAttachmentsResult$NextToken": "

The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request.

", "DescribeRegistrationFieldDefinitionsRequest$NextToken": "

The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request.

", @@ -1166,7 +1295,11 @@ "NumberCapability": { "base": null, "refs": { - "NumberCapabilityList$member": null + "GetProtectConfigurationCountryRuleSetRequest$NumberCapability": "

The capability type to return the CountryRuleSet for. Valid values are SMS, VOICE, or MMS.

", + "GetProtectConfigurationCountryRuleSetResult$NumberCapability": "

The capability type associated with the returned ProtectConfigurationCountryRuleSetInformation objects.

", + "NumberCapabilityList$member": null, + "UpdateProtectConfigurationCountryRuleSetRequest$NumberCapability": "

The number capability to apply the CountryRuleSetUpdates updates to.

", + "UpdateProtectConfigurationCountryRuleSetResult$NumberCapability": "

The number capability that was updated

" } }, "NumberCapabilityList": { @@ -1315,6 +1448,7 @@ "RegistrationAssociationMetadata$PhoneNumber": "

The phone number associated with the registration in E.164 format.

", "ReleasePhoneNumberResult$PhoneNumber": "

The phone number that was released.

", "RequestPhoneNumberResult$PhoneNumber": "

The new phone number that was requested.

", + "SendMediaMessageRequest$DestinationPhoneNumber": "

The destination phone number in E.164 format.

", "SendTextMessageRequest$DestinationPhoneNumber": "

The destination phone number in E.164 format.

", "SendVoiceMessageRequest$DestinationPhoneNumber": "

The destination phone number in E.164 format.

", "UpdatePhoneNumberResult$PhoneNumber": "

The phone number that was updated.

", @@ -1464,10 +1598,14 @@ "CreatePoolResult$SelfManagedOptOutsEnabled": "

By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.

", "CreatePoolResult$SharedRoutesEnabled": "

Indicates whether shared routes are enabled for the pool.

", "CreatePoolResult$DeletionProtectionEnabled": "

When set to true deletion protection is enabled. By default this is set to false.

", + "CreateProtectConfigurationResult$AccountDefault": "

This is true if the protect configuration is set as your account default protect configuration.

", + "CreateProtectConfigurationResult$DeletionProtectionEnabled": "

When set to true deletion protection is enabled. By default this is set to false.

", "DeleteOptedOutNumberResult$EndUserOptedOut": "

This is true if it was the end user who requested their phone number be removed.

", "DeletePoolResult$TwoWayEnabled": "

By default this is set to false. When set to true you can receive incoming text messages from your end recipients.

", "DeletePoolResult$SelfManagedOptOutsEnabled": "

By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.

", "DeletePoolResult$SharedRoutesEnabled": "

Indicates whether shared routes are enabled for the pool.

", + "DeleteProtectConfigurationResult$AccountDefault": "

This is true if the protect configuration is set as your account default protect configuration.

", + "DeleteProtectConfigurationResult$DeletionProtectionEnabled": "

The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false.

", "OptedOutNumberInformation$EndUserOptedOut": "

This is set to true if it was the end recipient that opted out.

", "PhoneNumberInformation$TwoWayEnabled": "

By default this is set to false. When set to true you can receive incoming text messages from your end recipients using the TwoWayChannelArn.

", "PhoneNumberInformation$SelfManagedOptOutsEnabled": "

When set to false an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out request. For more information see Self-managed opt-outs

", @@ -1476,6 +1614,8 @@ "PoolInformation$SelfManagedOptOutsEnabled": "

When set to false, an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests. For more information see Self-managed opt-outs

", "PoolInformation$SharedRoutesEnabled": "

Allows you to enable shared routes on your pool.

By default, this is set to False. If you set this value to True, your messages are sent using phone numbers or sender IDs (depending on the country) that are shared with other Amazon Pinpoint users. In some countries, such as the United States, senders aren't allowed to use shared routes and must use a dedicated phone number or short code.

", "PoolInformation$DeletionProtectionEnabled": "

When set to true the pool can't be deleted.

", + "ProtectConfigurationInformation$AccountDefault": "

This is true if the protect configuration is set as your account default protect configuration.

", + "ProtectConfigurationInformation$DeletionProtectionEnabled": "

The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false.

", "PutOptedOutNumberResult$EndUserOptedOut": "

This is true if it was the end user who requested their phone number be removed.

", "ReleasePhoneNumberResult$TwoWayEnabled": "

By default this is set to false. When set to true you can receive incoming text messages from your end recipients.

", "ReleasePhoneNumberResult$SelfManagedOptOutsEnabled": "

By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.

", @@ -1485,6 +1625,7 @@ "RequestPhoneNumberResult$DeletionProtectionEnabled": "

By default this is set to false. When set to true the phone number can't be deleted.

", "RequestSenderIdResult$DeletionProtectionEnabled": "

By default this is set to false. When set to true the sender ID can't be deleted.

", "RequestSenderIdResult$Registered": "

True if the sender ID is registered.

", + "SendMediaMessageRequest$DryRun": "

When set to true, the message is checked and validated, but isn't sent to the end recipient.

", "SendTextMessageRequest$DryRun": "

When set to true, the message is checked and validated, but isn't sent to the end recipient.

", "SendVoiceMessageRequest$DryRun": "

When set to true, the message is checked and validated, but isn't sent to the end recipient.

", "SenderIdInformation$DeletionProtectionEnabled": "

By default this is set to false. When set to true the sender ID can't be deleted.

", @@ -1497,6 +1638,8 @@ "UpdatePoolResult$SelfManagedOptOutsEnabled": "

When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, Amazon Pinpoint automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.

", "UpdatePoolResult$SharedRoutesEnabled": "

Indicates whether shared routes are enabled for the pool.

", "UpdatePoolResult$DeletionProtectionEnabled": "

When set to true the pool can't be deleted.

", + "UpdateProtectConfigurationResult$AccountDefault": "

This is true if the protect configuration is set as your account default protect configuration.

", + "UpdateProtectConfigurationResult$DeletionProtectionEnabled": "

The status of deletion protection for the protect configuration. When set to true deletion protection is enabled. By default this is set to false.

", "UpdateSenderIdResult$DeletionProtectionEnabled": "

By default this is set to false. When set to true the sender ID can't be deleted.

", "UpdateSenderIdResult$Registered": "

True if the sender ID is registered..

" } @@ -1510,6 +1653,109 @@ "SpendLimit$MaxLimit": "

The maximum amount of money that you are able to spend to send messages each month, in US dollars.

" } }, + "ProtectConfigurationArn": { + "base": null, + "refs": { + "AssociateProtectConfigurationResult$ProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the protect configuration.

", + "CreateProtectConfigurationResult$ProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the protect configuration.

", + "DeleteAccountDefaultProtectConfigurationResult$DefaultProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the account default protect configuration.

", + "DeleteProtectConfigurationResult$ProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the protect configuration.

", + "DisassociateProtectConfigurationResult$ProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the protect configuration.

", + "GetProtectConfigurationCountryRuleSetResult$ProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the protect configuration.

", + "ProtectConfigurationInformation$ProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the protect configuration.

", + "SetAccountDefaultProtectConfigurationResult$DefaultProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the account default protect configuration.

", + "UpdateProtectConfigurationCountryRuleSetResult$ProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the protect configuration.

", + "UpdateProtectConfigurationResult$ProtectConfigurationArn": "

The Amazon Resource Name (ARN) of the protect configuration.

" + } + }, + "ProtectConfigurationCountryRuleSet": { + "base": null, + "refs": { + "GetProtectConfigurationCountryRuleSetResult$CountryRuleSet": "

A map of ProtectConfigurationCountryRuleSetInformation objects that contain the details for the requested NumberCapability. The Key is the two-letter ISO country code. For a list of supported ISO country codes, see Supported countries and regions (SMS channel) in the Amazon Pinpoint SMS user guide.

", + "UpdateProtectConfigurationCountryRuleSetRequest$CountryRuleSetUpdates": "

A map of ProtectConfigurationCountryRuleSetInformation objects that contain the details for the requested NumberCapability. The Key is the two-letter ISO country code. For a list of supported ISO country codes, see Supported countries and regions (SMS channel) in the Amazon Pinpoint SMS user guide.

", + "UpdateProtectConfigurationCountryRuleSetResult$CountryRuleSet": "

An array of ProtectConfigurationCountryRuleSetInformation containing the rules for the NumberCapability.

" + } + }, + "ProtectConfigurationCountryRuleSetInformation": { + "base": "

The types of statuses that can be used.

", + "refs": { + "ProtectConfigurationCountryRuleSet$value": null + } + }, + "ProtectConfigurationFilter": { + "base": "

The filter definition for filtering protect configurations that meet a specified criteria.

", + "refs": { + "ProtectConfigurationFilterList$member": null + } + }, + "ProtectConfigurationFilterList": { + "base": null, + "refs": { + "DescribeProtectConfigurationsRequest$Filters": "

An array of ProtectConfigurationFilter objects to filter the results.

" + } + }, + "ProtectConfigurationFilterName": { + "base": null, + "refs": { + "ProtectConfigurationFilter$Name": "

The name of the attribute to filter on.

" + } + }, + "ProtectConfigurationId": { + "base": null, + "refs": { + "AssociateProtectConfigurationResult$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "CreateProtectConfigurationResult$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "DeleteAccountDefaultProtectConfigurationResult$DefaultProtectConfigurationId": "

The unique identifier of the account default protect configuration.

", + "DeleteProtectConfigurationResult$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "DisassociateProtectConfigurationResult$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "GetProtectConfigurationCountryRuleSetResult$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "ProtectConfigurationInformation$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "SetAccountDefaultProtectConfigurationResult$DefaultProtectConfigurationId": "

The unique identifier of the account default protect configuration.

", + "UpdateProtectConfigurationCountryRuleSetResult$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "UpdateProtectConfigurationResult$ProtectConfigurationId": "

The unique identifier for the protect configuration.

" + } + }, + "ProtectConfigurationIdList": { + "base": null, + "refs": { + "DescribeProtectConfigurationsRequest$ProtectConfigurationIds": "

An array of protect configuration identifiers to search for.

" + } + }, + "ProtectConfigurationIdOrArn": { + "base": null, + "refs": { + "AssociateProtectConfigurationRequest$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "ConfigurationSetInformation$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "DeleteProtectConfigurationRequest$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "DisassociateProtectConfigurationRequest$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "GetProtectConfigurationCountryRuleSetRequest$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "ProtectConfigurationIdList$member": null, + "SendMediaMessageRequest$ProtectConfigurationId": "

The unique identifier of the protect configuration to use.

", + "SendTextMessageRequest$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "SendVoiceMessageRequest$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "SetAccountDefaultProtectConfigurationRequest$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "UpdateProtectConfigurationCountryRuleSetRequest$ProtectConfigurationId": "

The unique identifier for the protect configuration.

", + "UpdateProtectConfigurationRequest$ProtectConfigurationId": "

The unique identifier for the protect configuration.

" + } + }, + "ProtectConfigurationInformation": { + "base": "

Provides information on the specified protect configuration.

", + "refs": { + "ProtectConfigurationInformationList$member": null + } + }, + "ProtectConfigurationInformationList": { + "base": null, + "refs": { + "DescribeProtectConfigurationsResult$ProtectConfigurations": "

An array of ProtectConfigurationInformation objects that contain the details for the request.

" + } + }, + "ProtectStatus": { + "base": null, + "refs": { + "ProtectConfigurationCountryRuleSetInformation$ProtectStatus": "

The types of protection that can be used.

" + } + }, "PutKeywordRequest": { "base": null, "refs": { @@ -2006,6 +2252,16 @@ "refs": { } }, + "SendMediaMessageRequest": { + "base": null, + "refs": { + } + }, + "SendMediaMessageResult": { + "base": null, + "refs": { + } + }, "SendTextMessageRequest": { "base": null, "refs": { @@ -2102,6 +2358,16 @@ "ServiceQuotaExceededException$Reason": "

The reason for the exception.

" } }, + "SetAccountDefaultProtectConfigurationRequest": { + "base": null, + "refs": { + } + }, + "SetAccountDefaultProtectConfigurationResult": { + "base": null, + "refs": { + } + }, "SetDefaultMessageTypeRequest": { "base": null, "refs": { @@ -2122,6 +2388,16 @@ "refs": { } }, + "SetMediaMessageSpendLimitOverrideRequest": { + "base": null, + "refs": { + } + }, + "SetMediaMessageSpendLimitOverrideResult": { + "base": null, + "refs": { + } + }, "SetTextMessageSpendLimitOverrideRequest": { "base": null, "refs": { @@ -2183,6 +2459,7 @@ "AssociateOriginationIdentityResult$PoolId": "

The PoolId of the pool that is now associated with the origination identity.

", "AssociateOriginationIdentityResult$OriginationIdentityArn": "

The PhoneNumberArn or SenderIdArn of the origination identity.

", "AssociateOriginationIdentityResult$OriginationIdentity": "

The PhoneNumberId or SenderId of the origination identity.

", + "AssociateProtectConfigurationResult$ConfigurationSetArn": "

The Amazon Resource Name (ARN) of the configuration set.

", "ConfigurationSetInformation$ConfigurationSetArn": "

The Resource Name (ARN) of the ConfigurationSet.

", "ConflictException$Message": null, "ConflictException$ResourceId": "

The unique identifier of the request.

", @@ -2234,6 +2511,7 @@ "DisassociateOriginationIdentityResult$PoolId": "

The PoolId of the pool no longer associated with the origination identity.

", "DisassociateOriginationIdentityResult$OriginationIdentityArn": "

The PhoneNumberArn or SenderIdArn of the origination identity.

", "DisassociateOriginationIdentityResult$OriginationIdentity": "

The PhoneNumberId or SenderId of the origination identity.

", + "DisassociateProtectConfigurationResult$ConfigurationSetArn": "

The Amazon Resource Name (ARN) of the configuration set.

", "DiscardRegistrationVersionResult$RegistrationArn": "

The Amazon Resource Name (ARN) for the registration.

", "DiscardRegistrationVersionResult$RegistrationId": "

The unique identifier for the registration.

", "InternalServerException$Message": null, @@ -2308,6 +2586,7 @@ "SelectOptionDescription$Title": "

The title of the select option.

", "SelectOptionDescription$Description": "

A description of the option meaning.

", "SendDestinationNumberVerificationCodeResult$MessageId": "

The unique identifier for the message.

", + "SendMediaMessageResult$MessageId": "

The unique identifier for the message.

", "SendTextMessageResult$MessageId": "

The unique identifier for the message.

", "SendVoiceMessageResult$MessageId": "

The unique identifier for the message.

", "SenderIdInformation$SenderIdArn": "

The Amazon Resource Name (ARN) associated with the SenderId.

", @@ -2408,6 +2687,8 @@ "CreateOptOutListResult$Tags": "

An array of tags (key and value pairs) associated with the new OptOutList.

", "CreatePoolRequest$Tags": "

An array of tags (key and value pairs) associated with the pool.

", "CreatePoolResult$Tags": "

An array of tags (key and value pairs) associated with the pool.

", + "CreateProtectConfigurationRequest$Tags": "

An array of key and value pair tags that are associated with the resource.

", + "CreateProtectConfigurationResult$Tags": "

An array of key and value pair tags that are associated with the resource.

", "CreateRegistrationAttachmentRequest$Tags": "

An array of tags (key and value pairs) to associate with the registration attachment.

", "CreateRegistrationAttachmentResult$Tags": "

An array of tags (key and value pairs) to associate with the registration attachment.

", "CreateRegistrationRequest$Tags": "

An array of tags (key and value pairs) to associate with the registration.

", @@ -2440,6 +2721,7 @@ "TextMessageBody": { "base": null, "refs": { + "SendMediaMessageRequest$MessageBody": "

The text body of the message.

", "SendTextMessageRequest$MessageBody": "

The body of the text message.

" } }, @@ -2472,6 +2754,7 @@ "TimeToLive": { "base": null, "refs": { + "SendMediaMessageRequest$TimeToLive": "

How long the text message is valid for. By default this is 72 hours.

", "SendTextMessageRequest$TimeToLive": "

How long the text message is valid for. By default this is 72 hours.

", "SendVoiceMessageRequest$TimeToLive": "

How long the voice message is valid for. By default this is 72 hours.

" } @@ -2483,6 +2766,7 @@ "CreateConfigurationSetResult$CreatedTimestamp": "

The time when the configuration set was created, in UNIX epoch time format.

", "CreateOptOutListResult$CreatedTimestamp": "

The time when the pool was created, in UNIX epoch time format.

", "CreatePoolResult$CreatedTimestamp": "

The time when the pool was created, in UNIX epoch time format.

", + "CreateProtectConfigurationResult$CreatedTimestamp": "

The time when the protect configuration was created, in UNIX epoch time format.

", "CreateRegistrationAttachmentResult$CreatedTimestamp": "

The time when the registration attachment was created, in UNIX epoch time format.

", "CreateRegistrationResult$CreatedTimestamp": "

The time when the registration was created, in UNIX epoch time format.

", "CreateVerifiedDestinationNumberResult$CreatedTimestamp": "

The time when the verified phone number was created, in UNIX epoch time format.

", @@ -2490,6 +2774,7 @@ "DeleteOptOutListResult$CreatedTimestamp": "

The time when the OptOutList was created, in UNIX epoch time format.

", "DeleteOptedOutNumberResult$OptedOutTimestamp": "

The time that the number was removed at, in UNIX epoch time format.

", "DeletePoolResult$CreatedTimestamp": "

The time when the pool was created, in UNIX epoch time format.

", + "DeleteProtectConfigurationResult$CreatedTimestamp": "

The time when the protect configuration was created, in UNIX epoch time format.

", "DeleteRegistrationAttachmentResult$CreatedTimestamp": "

The time when the registration attachment was created, in UNIX epoch time format.

", "DeleteRegistrationResult$CreatedTimestamp": "

The time when the registration was created, in UNIX epoch time format.

", "DeleteVerifiedDestinationNumberResult$CreatedTimestamp": "

The time when the destination phone number was created, in UNIX epoch time format.

", @@ -2497,6 +2782,7 @@ "OptedOutNumberInformation$OptedOutTimestamp": "

The time that the op tout occurred, in UNIX epoch time format.

", "PhoneNumberInformation$CreatedTimestamp": "

The time when the phone number was created, in UNIX epoch time format.

", "PoolInformation$CreatedTimestamp": "

The time when the pool was created, in UNIX epoch time format.

", + "ProtectConfigurationInformation$CreatedTimestamp": "

The time when the protect configuration was created, in UNIX epoch time format.

", "PutOptedOutNumberResult$OptedOutTimestamp": "

The time that the phone number was added to the OptOutList, in UNIX epoch time format.

", "RegistrationAttachmentsInformation$CreatedTimestamp": "

The time when the registration attachment was created, in UNIX epoch time format.

", "RegistrationInformation$CreatedTimestamp": "

The time when the registration was created, in UNIX epoch time format.

", @@ -2512,6 +2798,7 @@ "RequestPhoneNumberResult$CreatedTimestamp": "

The time when the phone number was created, in UNIX epoch time format.

", "UpdatePhoneNumberResult$CreatedTimestamp": "

The time when the phone number was created, in UNIX epoch time format.

", "UpdatePoolResult$CreatedTimestamp": "

The time when the pool was created, in UNIX epoch time format.

", + "UpdateProtectConfigurationResult$CreatedTimestamp": "

The time when the protect configuration was created, in UNIX epoch time format.

", "VerifiedDestinationNumberInformation$CreatedTimestamp": "

The time when the destination phone number was created, in UNIX epoch time format.

", "VerifyDestinationNumberResult$CreatedTimestamp": "

The time when the destination phone number was created, in UNIX epoch time format.

" } @@ -2571,6 +2858,26 @@ "refs": { } }, + "UpdateProtectConfigurationCountryRuleSetRequest": { + "base": null, + "refs": { + } + }, + "UpdateProtectConfigurationCountryRuleSetResult": { + "base": null, + "refs": { + } + }, + "UpdateProtectConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateProtectConfigurationResult": { + "base": null, + "refs": { + } + }, "UpdateSenderIdRequest": { "base": null, "refs": { diff --git a/models/apis/pinpoint-sms-voice-v2/2022-03-31/paginators-1.json b/models/apis/pinpoint-sms-voice-v2/2022-03-31/paginators-1.json index 6a4fd39a6e..d118a21f8f 100644 --- a/models/apis/pinpoint-sms-voice-v2/2022-03-31/paginators-1.json +++ b/models/apis/pinpoint-sms-voice-v2/2022-03-31/paginators-1.json @@ -48,6 +48,12 @@ "limit_key": "MaxResults", "result_key": "Pools" }, + "DescribeProtectConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ProtectConfigurations" + }, "DescribeRegistrationAttachments": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/qbusiness/2023-11-27/api-2.json b/models/apis/qbusiness/2023-11-27/api-2.json index 94be3158af..8e0c59f352 100644 --- a/models/apis/qbusiness/2023-11-27/api-2.json +++ b/models/apis/qbusiness/2023-11-27/api-2.json @@ -2,8 +2,13 @@ "metadata": { "apiVersion": "2023-11-27", "endpointPrefix": "qbusiness", - "jsonVersion": "1.1", "protocol": "rest-json", + "protocolSettings": { + "h2": "eventstream" + }, + "protocols": [ + "rest-json" + ], "serviceFullName": "QBusiness", "serviceId": "QBusiness", "signatureVersion": "v4", @@ -82,6 +87,43 @@ "shape": "BatchPutDocumentResponse" } }, + "Chat": { + "errors": [ + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "InternalServerException" + }, + { + "shape": "LicenseNotFoundException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ValidationException" + }, + { + "shape": "AccessDeniedException" + } + ], + "http": { + "method": "POST", + "requestUri": "/applications/{applicationId}/conversations", + "responseCode": 200 + }, + "input": { + "shape": "ChatInput" + }, + "name": "Chat", + "output": { + "shape": "ChatOutput" + } + }, "ChatSync": { "errors": [ { @@ -1849,6 +1891,24 @@ } }, "shapes": { + "APISchema": { + "members": { + "payload": { + "shape": "Payload" + }, + "s3": { + "shape": "S3" + } + }, + "type": "structure", + "union": true + }, + "APISchemaType": { + "enum": [ + "OPEN_API_V3" + ], + "type": "string" + }, "AccessConfiguration": { "members": { "accessControls": { @@ -1934,6 +1994,33 @@ }, "type": "structure" }, + "ActionReviewEvent": { + "event": true, + "members": { + "conversationId": { + "shape": "ConversationId" + }, + "payload": { + "shape": "ActionReviewPayload" + }, + "payloadFieldNameSeparator": { + "shape": "ActionPayloadFieldNameSeparator" + }, + "pluginId": { + "shape": "PluginId" + }, + "pluginType": { + "shape": "PluginType" + }, + "systemMessageId": { + "shape": "MessageId" + }, + "userMessageId": { + "shape": "MessageId" + } + }, + "type": "structure" + }, "ActionReviewPayload": { "key": { "shape": "ActionPayloadFieldKey" @@ -1945,9 +2032,15 @@ }, "ActionReviewPayloadField": { "members": { + "allowedFormat": { + "shape": "String" + }, "allowedValues": { "shape": "ActionReviewPayloadFieldAllowedValues" }, + "displayDescription": { + "shape": "String" + }, "displayName": { "shape": "String" }, @@ -2001,19 +2094,19 @@ "ApplicationArn": { "max": 1284, "min": 0, - "pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", "type": "string" }, "ApplicationId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{35}", "type": "string" }, "ApplicationName": { "max": 1000, "min": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", "type": "string" }, "ApplicationStatus": { @@ -2061,15 +2154,24 @@ } }, "required": [ - "data", - "name" + "name", + "data" ], "type": "structure" }, + "AttachmentInputEvent": { + "event": true, + "members": { + "attachment": { + "shape": "AttachmentInput" + } + }, + "type": "structure" + }, "AttachmentName": { "max": 1000, "min": 1, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "AttachmentOutput": { @@ -2180,6 +2282,71 @@ ], "type": "string" }, + "AuthChallengeRequest": { + "members": { + "authorizationUrl": { + "shape": "Url" + } + }, + "required": [ + "authorizationUrl" + ], + "type": "structure" + }, + "AuthChallengeRequestEvent": { + "event": true, + "members": { + "authorizationUrl": { + "shape": "Url" + } + }, + "required": [ + "authorizationUrl" + ], + "type": "structure" + }, + "AuthChallengeResponse": { + "members": { + "responseMap": { + "shape": "AuthorizationResponseMap" + } + }, + "required": [ + "responseMap" + ], + "type": "structure" + }, + "AuthChallengeResponseEvent": { + "event": true, + "members": { + "responseMap": { + "shape": "AuthorizationResponseMap" + } + }, + "required": [ + "responseMap" + ], + "type": "structure" + }, + "AuthResponseKey": { + "max": 100, + "min": 1, + "type": "string" + }, + "AuthResponseValue": { + "max": 2048, + "min": 1, + "type": "string" + }, + "AuthorizationResponseMap": { + "key": { + "shape": "AuthResponseKey" + }, + "type": "map", + "value": { + "shape": "AuthResponseValue" + } + }, "BasicAuthConfiguration": { "members": { "roleArn": { @@ -2190,8 +2357,8 @@ } }, "required": [ - "roleArn", - "secretArn" + "secretArn", + "roleArn" ], "type": "structure" }, @@ -2216,8 +2383,8 @@ }, "required": [ "applicationId", - "documents", - "indexId" + "indexId", + "documents" ], "type": "structure" }, @@ -2253,8 +2420,8 @@ }, "required": [ "applicationId", - "documents", - "indexId" + "indexId", + "documents" ], "type": "structure" }, @@ -2272,7 +2439,7 @@ "BlockedPhrase": { "max": 36, "min": 0, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "BlockedPhrases": { @@ -2318,6 +2485,70 @@ "min": 0, "type": "long" }, + "ChatInput": { + "members": { + "applicationId": { + "location": "uri", + "locationName": "applicationId", + "shape": "ApplicationId" + }, + "clientToken": { + "idempotencyToken": true, + "location": "querystring", + "locationName": "clientToken", + "shape": "ClientToken" + }, + "conversationId": { + "location": "querystring", + "locationName": "conversationId", + "shape": "ConversationId" + }, + "inputStream": { + "shape": "ChatInputStream" + }, + "parentMessageId": { + "location": "querystring", + "locationName": "parentMessageId", + "shape": "MessageId" + }, + "userGroups": { + "location": "querystring", + "locationName": "userGroups", + "shape": "UserGroups" + }, + "userId": { + "location": "querystring", + "locationName": "userId", + "shape": "UserId" + } + }, + "payload": "inputStream", + "required": [ + "applicationId" + ], + "type": "structure" + }, + "ChatInputStream": { + "eventstream": true, + "members": { + "attachmentEvent": { + "shape": "AttachmentInputEvent" + }, + "authChallengeResponseEvent": { + "shape": "AuthChallengeResponseEvent" + }, + "configurationEvent": { + "shape": "ConfigurationEvent" + }, + "endOfInputEvent": { + "shape": "EndOfInputEvent" + }, + "textEvent": { + "shape": "TextInputEvent" + } + }, + "type": "structure" + }, "ChatMode": { "enum": [ "RETRIEVAL_MODE", @@ -2335,6 +2566,36 @@ "type": "structure", "union": true }, + "ChatOutput": { + "members": { + "outputStream": { + "shape": "ChatOutputStream" + } + }, + "payload": "outputStream", + "type": "structure" + }, + "ChatOutputStream": { + "eventstream": true, + "members": { + "actionReviewEvent": { + "shape": "ActionReviewEvent" + }, + "authChallengeRequestEvent": { + "shape": "AuthChallengeRequestEvent" + }, + "failedAttachmentEvent": { + "shape": "FailedAttachmentEvent" + }, + "metadataEvent": { + "shape": "MetadataEvent" + }, + "textEvent": { + "shape": "TextOutputEvent" + } + }, + "type": "structure" + }, "ChatSyncInput": { "members": { "applicationId": { @@ -2348,6 +2609,9 @@ "attributeFilter": { "shape": "AttributeFilter" }, + "authChallengeResponse": { + "shape": "AuthChallengeResponse" + }, "chatMode": { "shape": "ChatMode" }, @@ -2388,6 +2652,9 @@ "actionReview": { "shape": "ActionReview" }, + "authChallengeRequest": { + "shape": "AuthChallengeRequest" + }, "conversationId": { "shape": "ConversationId" }, @@ -2414,6 +2681,21 @@ "min": 1, "type": "string" }, + "ConfigurationEvent": { + "event": true, + "members": { + "attributeFilter": { + "shape": "AttributeFilter" + }, + "chatMode": { + "shape": "ChatMode" + }, + "chatModeConfiguration": { + "shape": "ChatModeConfiguration" + } + }, + "type": "structure" + }, "ConflictException": { "error": { "httpStatusCode": 409, @@ -2488,7 +2770,7 @@ "ConversationId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{35}", "type": "string" }, "ConversationTitle": { @@ -2529,8 +2811,7 @@ } }, "required": [ - "displayName", - "roleArn" + "displayName" ], "type": "structure" }, @@ -2578,6 +2859,9 @@ }, "tags": { "shape": "Tags" + }, + "type": { + "shape": "IndexType" } }, "required": [ @@ -2611,6 +2895,9 @@ "idempotencyToken": true, "shape": "ClientToken" }, + "customPluginConfiguration": { + "shape": "CustomPluginConfiguration" + }, "displayName": { "shape": "PluginName" }, @@ -2626,15 +2913,17 @@ }, "required": [ "applicationId", - "authConfiguration", "displayName", - "serverUrl", - "type" + "type", + "authConfiguration" ], "type": "structure" }, "CreatePluginResponse": { "members": { + "buildStatus": { + "shape": "PluginBuildStatus" + }, "pluginArn": { "shape": "PluginArn" }, @@ -2673,9 +2962,9 @@ }, "required": [ "applicationId", - "configuration", + "type", "displayName", - "type" + "configuration" ], "type": "structure" }, @@ -2790,6 +3079,25 @@ ], "type": "string" }, + "CustomPluginConfiguration": { + "members": { + "apiSchema": { + "shape": "APISchema" + }, + "apiSchemaType": { + "shape": "APISchemaType" + }, + "description": { + "shape": "PluginDescription" + } + }, + "required": [ + "description", + "apiSchemaType", + "apiSchema" + ], + "type": "structure" + }, "DataSource": { "members": { "createdAt": { @@ -2816,13 +3124,13 @@ "DataSourceArn": { "max": 1284, "min": 0, - "pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", "type": "string" }, "DataSourceId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{35}", "type": "string" }, "DataSourceIds": { @@ -2836,7 +3144,7 @@ "DataSourceName": { "max": 1000, "min": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", "type": "string" }, "DataSourceStatus": { @@ -2917,7 +3225,7 @@ "DataSourceUserId": { "max": 1024, "min": 1, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "DataSourceVpcConfiguration": { @@ -2930,8 +3238,8 @@ } }, "required": [ - "securityGroupIds", - "subnetIds" + "subnetIds", + "securityGroupIds" ], "type": "structure" }, @@ -3008,8 +3316,8 @@ } }, "required": [ - "applicationId", - "conversationId" + "conversationId", + "applicationId" ], "type": "structure" }, @@ -3037,8 +3345,8 @@ }, "required": [ "applicationId", - "dataSourceId", - "indexId" + "indexId", + "dataSourceId" ], "type": "structure" }, @@ -3088,8 +3396,8 @@ }, "required": [ "applicationId", - "groupName", - "indexId" + "indexId", + "groupName" ], "type": "structure" }, @@ -3215,7 +3523,7 @@ "Description": { "max": 1000, "min": 0, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "Document": { @@ -3321,7 +3629,7 @@ "DocumentAttributeConfiguration": { "members": { "name": { - "shape": "String" + "shape": "DocumentMetadataConfigurationName" }, "search": { "shape": "Status" @@ -3343,7 +3651,7 @@ "DocumentAttributeKey": { "max": 200, "min": 1, - "pattern": "^[a-zA-Z0-9_][a-zA-Z0-9_-]*$", + "pattern": "[a-zA-Z0-9_][a-zA-Z0-9_-]*", "type": "string" }, "DocumentAttributeStringListValue": { @@ -3477,7 +3785,13 @@ "DocumentId": { "max": 1825, "min": 1, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", + "type": "string" + }, + "DocumentMetadataConfigurationName": { + "max": 30, + "min": 1, + "pattern": "[a-zA-Z0-9_][a-zA-Z0-9_-]*", "type": "string" }, "DocumentStatus": { @@ -3528,6 +3842,11 @@ }, "type": "structure" }, + "EndOfInputEvent": { + "event": true, + "members": {}, + "type": "structure" + }, "ErrorCode": { "enum": [ "InternalError", @@ -3551,13 +3870,13 @@ "ErrorMessage": { "max": 2048, "min": 1, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "ExampleChatMessage": { "max": 350, "min": 0, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "ExampleChatMessages": { @@ -3571,9 +3890,27 @@ "ExecutionId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{35}", "type": "string" }, + "FailedAttachmentEvent": { + "event": true, + "members": { + "attachment": { + "shape": "AttachmentOutput" + }, + "conversationId": { + "shape": "ConversationId" + }, + "systemMessageId": { + "shape": "MessageId" + }, + "userMessageId": { + "shape": "MessageId" + } + }, + "type": "structure" + }, "FailedDocument": { "members": { "dataSourceId": { @@ -3711,8 +4048,8 @@ }, "required": [ "applicationId", - "dataSourceId", - "indexId" + "indexId", + "dataSourceId" ], "type": "structure" }, @@ -3791,8 +4128,8 @@ }, "required": [ "applicationId", - "groupName", - "indexId" + "indexId", + "groupName" ], "type": "structure" }, @@ -3861,6 +4198,9 @@ "status": { "shape": "IndexStatus" }, + "type": { + "shape": "IndexType" + }, "updatedAt": { "shape": "Timestamp" } @@ -3894,9 +4234,15 @@ "authConfiguration": { "shape": "PluginAuthConfiguration" }, + "buildStatus": { + "shape": "PluginBuildStatus" + }, "createdAt": { "shape": "Timestamp" }, + "customPluginConfiguration": { + "shape": "CustomPluginConfiguration" + }, "displayName": { "shape": "PluginName" }, @@ -4027,6 +4373,8 @@ "shape": "ApplicationId" }, "authenticationConfiguration": { + "deprecated": true, + "deprecatedMessage": "Property associated with legacy SAML IdP flow. Deprecated in favor of using AWS IAM Identity Center for user management.", "shape": "WebExperienceAuthConfiguration" }, "createdAt": { @@ -4082,7 +4430,7 @@ "GroupName": { "max": 1024, "min": 1, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "GroupStatus": { @@ -4149,7 +4497,7 @@ "IdcApplicationArn": { "max": 1224, "min": 10, - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$", + "pattern": "arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}", "type": "string" }, "Index": { @@ -4175,7 +4523,7 @@ "IndexArn": { "max": 1284, "min": 0, - "pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", "type": "string" }, "IndexCapacityConfiguration": { @@ -4194,13 +4542,13 @@ "IndexId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{35}", "type": "string" }, "IndexName": { "max": 1000, "min": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", "type": "string" }, "IndexStatistics": { @@ -4221,6 +4569,13 @@ ], "type": "string" }, + "IndexType": { + "enum": [ + "ENTERPRISE", + "STARTER" + ], + "type": "string" + }, "IndexedTextBytes": { "box": true, "min": 0, @@ -4262,7 +4617,7 @@ "InstanceArn": { "max": 1224, "min": 10, - "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$", + "pattern": "arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}", "type": "string" }, "Integer": { @@ -4299,7 +4654,7 @@ "KendraIndexId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{35}", "type": "string" }, "KmsKeyId": { @@ -4311,7 +4666,7 @@ "LambdaArn": { "max": 2048, "min": 1, - "pattern": "^arn:aws[a-zA-Z-]*:lambda:[a-z-]*-[0-9]:[0-9]{12}:function:[a-zA-Z0-9-_]+(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?(:[a-zA-Z0-9-_]+)?$", + "pattern": "arn:aws[a-zA-Z-]*:lambda:[a-z-]*-[0-9]:[0-9]{12}:function:[a-zA-Z0-9-_]+(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?(:[a-zA-Z0-9-_]+)?", "type": "string" }, "LicenseNotFoundException": { @@ -4439,8 +4794,8 @@ } }, "required": [ - "applicationId", "dataSourceId", + "applicationId", "indexId" ], "type": "structure" @@ -4655,8 +5010,8 @@ } }, "required": [ - "applicationId", - "conversationId" + "conversationId", + "applicationId" ], "type": "structure" }, @@ -4957,13 +5312,13 @@ "MessageBody": { "max": 1000, "min": 0, - "pattern": "^\\P{C}*$}$", + "pattern": "\\P{C}*$}", "type": "string" }, "MessageId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{35}", "type": "string" }, "MessageType": { @@ -4983,7 +5338,7 @@ "MessageUsefulnessComment": { "max": 1000, "min": 0, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "MessageUsefulnessFeedback": { @@ -5002,8 +5357,8 @@ } }, "required": [ - "submittedAt", - "usefulness" + "usefulness", + "submittedAt" ], "type": "structure" }, @@ -5030,8 +5385,29 @@ }, "type": "list" }, + "MetadataEvent": { + "event": true, + "members": { + "conversationId": { + "shape": "ConversationId" + }, + "finalTextMessage": { + "shape": "String" + }, + "sourceAttributions": { + "shape": "SourceAttributions" + }, + "systemMessageId": { + "shape": "MessageId" + }, + "userMessageId": { + "shape": "MessageId" + } + }, + "type": "structure" + }, "MetricValue": { - "pattern": "^(([1-9][0-9]*)|0)$", + "pattern": "(([1-9][0-9]*)|0)", "type": "string" }, "NativeIndexConfiguration": { @@ -5053,6 +5429,10 @@ "min": 1, "type": "string" }, + "NoAuthConfiguration": { + "members": {}, + "type": "structure" + }, "NumberAttributeBoostingConfiguration": { "members": { "boostingLevel": { @@ -5084,13 +5464,20 @@ } }, "required": [ - "roleArn", - "secretArn" + "secretArn", + "roleArn" ], "type": "structure" }, + "Payload": { + "sensitive": true, + "type": "string" + }, "Plugin": { "members": { + "buildStatus": { + "shape": "PluginBuildStatus" + }, "createdAt": { "shape": "Timestamp" }, @@ -5118,7 +5505,7 @@ "PluginArn": { "max": 1284, "min": 0, - "pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", "type": "string" }, "PluginAuthConfiguration": { @@ -5126,6 +5513,9 @@ "basicAuthConfiguration": { "shape": "BasicAuthConfiguration" }, + "noAuthConfiguration": { + "shape": "NoAuthConfiguration" + }, "oAuth2ClientCredentialConfiguration": { "shape": "OAuth2ClientCredentialConfiguration" } @@ -5133,6 +5523,18 @@ "type": "structure", "union": true }, + "PluginBuildStatus": { + "enum": [ + "READY", + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "UPDATE_IN_PROGRESS", + "UPDATE_FAILED", + "DELETE_IN_PROGRESS", + "DELETE_FAILED" + ], + "type": "string" + }, "PluginConfiguration": { "members": { "pluginId": { @@ -5144,16 +5546,21 @@ ], "type": "structure" }, + "PluginDescription": { + "max": 200, + "min": 1, + "type": "string" + }, "PluginId": { "max": 36, "min": 36, - "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$", + "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}", "type": "string" }, "PluginName": { "max": 100, "min": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", "type": "string" }, "PluginState": { @@ -5168,7 +5575,8 @@ "SERVICE_NOW", "SALESFORCE", "JIRA", - "ZENDESK" + "ZENDESK", + "CUSTOM" ], "type": "string" }, @@ -5293,10 +5701,10 @@ }, "required": [ "applicationId", - "groupMembers", - "groupName", "indexId", - "type" + "groupName", + "type", + "groupMembers" ], "type": "structure" }, @@ -5365,7 +5773,7 @@ "RetrieverArn": { "max": 1284, "min": 0, - "pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", "type": "string" }, "RetrieverConfiguration": { @@ -5383,13 +5791,13 @@ "RetrieverId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{35}", "type": "string" }, "RetrieverName": { "max": 1000, "min": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*", "type": "string" }, "RetrieverStatus": { @@ -5416,7 +5824,7 @@ "RoleArn": { "max": 1284, "min": 0, - "pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", "type": "string" }, "Rule": { @@ -5484,7 +5892,7 @@ "S3BucketName": { "max": 63, "min": 1, - "pattern": "^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$", + "pattern": "[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]", "type": "string" }, "S3ObjectKey": { @@ -5522,19 +5930,19 @@ "SamlMetadataXML": { "max": 10000000, "min": 1000, - "pattern": "^.*$", + "pattern": ".*", "type": "string" }, "SecretArn": { "max": 1284, "min": 0, - "pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", "type": "string" }, "SecurityGroupId": { "max": 200, "min": 1, - "pattern": "^[-0-9a-zA-Z]+$", + "pattern": "[-0-9a-zA-Z]+", "type": "string" }, "SecurityGroupIds": { @@ -5569,6 +5977,17 @@ ], "type": "structure" }, + "SnippetExcerpt": { + "members": { + "text": { + "shape": "SnippetExcerptText" + } + }, + "type": "structure" + }, + "SnippetExcerptText": { + "type": "string" + }, "SourceAttribution": { "members": { "citationNumber": { @@ -5617,8 +6036,8 @@ } }, "required": [ - "applicationId", "dataSourceId", + "applicationId", "indexId" ], "type": "structure" @@ -5657,8 +6076,8 @@ } }, "required": [ - "applicationId", "dataSourceId", + "applicationId", "indexId" ], "type": "structure" @@ -5720,7 +6139,7 @@ "SubnetId": { "max": 200, "min": 1, - "pattern": "^[-0-9a-zA-Z]+$", + "pattern": "[-0-9a-zA-Z]+", "type": "string" }, "SubnetIds": { @@ -5732,19 +6151,19 @@ "SyncSchedule": { "max": 998, "min": 0, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "SystemMessageId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{35}", "type": "string" }, "SystemMessageOverride": { "max": 350, "min": 0, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "Tag": { @@ -5820,6 +6239,36 @@ }, "type": "structure" }, + "TextInputEvent": { + "event": true, + "members": { + "userMessage": { + "shape": "UserMessage" + } + }, + "required": [ + "userMessage" + ], + "type": "structure" + }, + "TextOutputEvent": { + "event": true, + "members": { + "conversationId": { + "shape": "ConversationId" + }, + "systemMessage": { + "shape": "String" + }, + "systemMessageId": { + "shape": "MessageId" + }, + "userMessageId": { + "shape": "MessageId" + } + }, + "type": "structure" + }, "TextSegment": { "members": { "beginOffset": { @@ -5827,6 +6276,9 @@ }, "endOffset": { "shape": "Integer" + }, + "snippetExcerpt": { + "shape": "SnippetExcerpt" } }, "type": "structure" @@ -5885,7 +6337,7 @@ "TopicConfigurationName": { "max": 36, "min": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,35}$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]{0,35}", "type": "string" }, "TopicConfigurations": { @@ -5899,7 +6351,7 @@ "TopicDescription": { "max": 350, "min": 0, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "UntagResourceRequest": { @@ -5941,6 +6393,9 @@ "displayName": { "shape": "ApplicationName" }, + "identityCenterInstanceArn": { + "shape": "InstanceArn" + }, "roleArn": { "shape": "RoleArn" } @@ -6028,8 +6483,8 @@ }, "required": [ "applicationId", - "dataSourceId", - "indexId" + "indexId", + "dataSourceId" ], "type": "structure" }, @@ -6082,6 +6537,9 @@ "authConfiguration": { "shape": "PluginAuthConfiguration" }, + "customPluginConfiguration": { + "shape": "CustomPluginConfiguration" + }, "displayName": { "shape": "PluginName" }, @@ -6186,8 +6644,13 @@ "shape": "ApplicationId" }, "authenticationConfiguration": { + "deprecated": true, + "deprecatedMessage": "Property associated with legacy SAML IdP flow. Deprecated in favor of using AWS IAM Identity Center for user management.", "shape": "WebExperienceAuthConfiguration" }, + "roleArn": { + "shape": "RoleArn" + }, "samplePromptsControlMode": { "shape": "WebExperienceSamplePromptsControlMode" }, @@ -6219,7 +6682,7 @@ "Url": { "max": 2048, "min": 1, - "pattern": "^(https?|ftp|file)://([^\\s]*)$", + "pattern": "(https?|ftp|file)://([^\\s]*)", "type": "string" }, "UserAlias": { @@ -6254,7 +6717,7 @@ "UserId": { "max": 1024, "min": 1, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "UserIds": { @@ -6312,8 +6775,8 @@ } }, "required": [ - "message", - "name" + "name", + "message" ], "type": "structure" }, @@ -6354,7 +6817,7 @@ "WebExperienceArn": { "max": 1284, "min": 0, - "pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "pattern": "arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}", "type": "string" }, "WebExperienceAuthConfiguration": { @@ -6369,7 +6832,7 @@ "WebExperienceId": { "max": 36, "min": 36, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]*$", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9-]*", "type": "string" }, "WebExperienceSamplePromptsControlMode": { @@ -6392,13 +6855,13 @@ "WebExperienceSubtitle": { "max": 500, "min": 0, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "WebExperienceTitle": { "max": 500, "min": 0, - "pattern": "^\\P{C}*$", + "pattern": "\\P{C}*", "type": "string" }, "WebExperienceWelcomeMessage": { diff --git a/models/apis/qbusiness/2023-11-27/docs-2.json b/models/apis/qbusiness/2023-11-27/docs-2.json index bc32535618..3ed937a1a7 100644 --- a/models/apis/qbusiness/2023-11-27/docs-2.json +++ b/models/apis/qbusiness/2023-11-27/docs-2.json @@ -1,11 +1,12 @@ { "version": "2.0", - "service": "

Amazon Q is in preview release and is subject to change.

This is the Amazon Q Business API Reference. Amazon Q Business is a fully managed, generative-AI powered enterprise chat assistant that you can deploy within your organization. Amazon Q Business enhances employee productivity by supporting key tasks such as question-answering, knowledge discovery, writing email messages, summarizing text, drafting document outlines, and brainstorming ideas. Users ask questions of Amazon Q Business and get answers that are presented in a conversational manner. For an introduction to the service, see the Amazon Q Business User Guide .

For an overview of the Amazon Q Business APIs, see Overview of Amazon Q Business API operations.

For information about the IAM access control permissions you need to use this API, see IAM roles for Amazon Q Business in the Amazon Q Business User Guide.

You can use the following AWS SDKs to access Amazon Q Business APIs:

The following resources provide additional information about using the Amazon Q Business API:

", + "service": "

This is the Amazon Q Business API Reference. Amazon Q Business is a fully managed, generative-AI powered enterprise chat assistant that you can deploy within your organization. Amazon Q Business enhances employee productivity by supporting key tasks such as question-answering, knowledge discovery, writing email messages, summarizing text, drafting document outlines, and brainstorming ideas. Users ask questions of Amazon Q Business and get answers that are presented in a conversational manner. For an introduction to the service, see the Amazon Q Business User Guide .

For an overview of the Amazon Q Business APIs, see Overview of Amazon Q Business API operations.

For information about the IAM access control permissions you need to use this API, see IAM roles for Amazon Q Business in the Amazon Q Business User Guide.

You can use the following AWS SDKs to access Amazon Q Business APIs:

The following resources provide additional information about using the Amazon Q Business API:

", "operations": { "BatchDeleteDocument": "

Asynchronously deletes one or more documents added using the BatchPutDocument API from an Amazon Q Business index.

You can see the progress of the deletion, and any error messages related to the process, by using CloudWatch.

", "BatchPutDocument": "

Adds one or more documents to an Amazon Q Business index.

You use this API to:

You can see the progress of the deletion, and any error messages related to the process, by using CloudWatch.

", + "Chat": "

Starts or continues a streaming Amazon Q Business conversation.

", "ChatSync": "

Starts or continues a non-streaming Amazon Q Business conversation.

", - "CreateApplication": "

Creates an Amazon Q Business application.

", + "CreateApplication": "

Creates an Amazon Q Business application.

There are new tiers for Amazon Q Business. Not all features in Amazon Q Business Pro are also available in Amazon Q Business Lite. For information on what's included in Amazon Q Business Lite and what's included in Amazon Q Business Pro, see Amazon Q Business tiers. You must use the Amazon Q Business console to assign subscription tiers to users.

", "CreateDataSource": "

Creates a data source connector for an Amazon Q Business application.

CreateDataSource is a synchronous operation. The operation returns 200 if the data source was successfully created. Otherwise, an exception is raised.

", "CreateIndex": "

Creates an Amazon Q Business index.

To determine if index creation has completed, check the Status field returned from a call to DescribeIndex. The Status field is set to ACTIVE when the index is ready to use.

Once the index is active, you can index your documents using the BatchPutDocument API or the CreateDataSource API.

", "CreatePlugin": "

Creates an Amazon Q Business plugin.

", @@ -59,6 +60,18 @@ "UpdateWebExperience": "

Updates an Amazon Q Business web experience.

" }, "shapes": { + "APISchema": { + "base": "

Contains details about the OpenAPI schema for a custom plugin. For more information, see custom plugin OpenAPI schemas. You can either include the schema directly in the payload field or you can upload it to an S3 bucket and specify the S3 bucket location in the s3 field.

", + "refs": { + "CustomPluginConfiguration$apiSchema": "

Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema.

" + } + }, + "APISchemaType": { + "base": null, + "refs": { + "CustomPluginConfiguration$apiSchemaType": "

The type of OpenAPI schema to use.

" + } + }, "AccessConfiguration": { "base": "

Used to configure access permissions for a document.

", "refs": { @@ -89,10 +102,17 @@ "Message$actionExecution": null } }, + "ActionExecutionEvent": { + "base": "

A request from an end user signalling an intent to perform an Amazon Q Business plugin action during a streaming chat.

", + "refs": { + "ChatInputStream$actionExecutionEvent": "

A request from an end user to perform an Amazon Q Business plugin action.

" + } + }, "ActionExecutionPayload": { "base": null, "refs": { - "ActionExecution$payload": "

A mapping of field names to the field values in input that an end user provides to Amazon Q Business requests to perform their plugin action.

" + "ActionExecution$payload": "

A mapping of field names to the field values in input that an end user provides to Amazon Q Business requests to perform their plugin action.

", + "ActionExecutionEvent$payload": "

A mapping of field names to the field values in input that an end user provides to Amazon Q Business requests to perform their plugin action.

" } }, "ActionExecutionPayloadField": { @@ -112,7 +132,9 @@ "base": null, "refs": { "ActionExecution$payloadFieldNameSeparator": "

A string used to retain information about the hierarchical contexts within an action execution event payload.

", - "ActionReview$payloadFieldNameSeparator": "

A string used to retain information about the hierarchical contexts within an action review payload.

" + "ActionExecutionEvent$payloadFieldNameSeparator": "

A string used to retain information about the hierarchical contexts within a action execution event payload.

", + "ActionReview$payloadFieldNameSeparator": "

A string used to retain information about the hierarchical contexts within an action review payload.

", + "ActionReviewEvent$payloadFieldNameSeparator": "

A string used to retain information about the hierarchical contexts within an action review event payload.

" } }, "ActionPayloadFieldType": { @@ -126,8 +148,8 @@ "refs": { "ActionExecutionPayloadField$value": "

The content of a user input field in an plugin action execution payload.

", "ActionReviewPayloadField$value": "

The field value.

", - "ActionReviewPayloadFieldAllowedValue$displayValue": "

The name of the field.

", - "ActionReviewPayloadFieldAllowedValue$value": "

The field value.

" + "ActionReviewPayloadFieldAllowedValue$value": "

The field value.

", + "ActionReviewPayloadFieldAllowedValue$displayValue": "

The name of the field.

" } }, "ActionReview": { @@ -137,10 +159,17 @@ "Message$actionReview": null } }, + "ActionReviewEvent": { + "base": "

An output event that Amazon Q Business returns to an user who wants to perform a plugin action during a streaming chat conversation. It contains information about the selected action with a list of possible user input fields, some pre-populated by Amazon Q Business.

", + "refs": { + "ChatOutputStream$actionReviewEvent": "

A request from Amazon Q Business to the end user for information Amazon Q Business needs to successfully complete a requested plugin action.

" + } + }, "ActionReviewPayload": { "base": null, "refs": { - "ActionReview$payload": "

Field values that an end user needs to provide to Amazon Q Business for Amazon Q Business to perform the requested plugin action.

" + "ActionReview$payload": "

Field values that an end user needs to provide to Amazon Q Business for Amazon Q Business to perform the requested plugin action.

", + "ActionReviewEvent$payload": "

Field values that an end user needs to provide to Amazon Q Business for Amazon Q Business to perform the requested plugin action.

" } }, "ActionReviewPayloadField": { @@ -188,6 +217,7 @@ "Application$applicationId": "

The identifier for the Amazon Q Business application.

", "BatchDeleteDocumentRequest$applicationId": "

The identifier of the Amazon Q Business application.

", "BatchPutDocumentRequest$applicationId": "

The identifier of the Amazon Q Business application.

", + "ChatInput$applicationId": "

The identifier of the Amazon Q Business application linked to a streaming Amazon Q Business conversation.

", "ChatSyncInput$applicationId": "

The identifier of the Amazon Q Business application linked to the Amazon Q Business conversation.

", "CreateApplicationResponse$applicationId": "

The identifier of the Amazon Q Business application.

", "CreateDataSourceRequest$applicationId": "

The identifier of the Amazon Q Business application the data source will be attached to.

", @@ -284,9 +314,16 @@ "AttachmentInput": { "base": "

A file directly uploaded into a web experience chat.

", "refs": { + "AttachmentInputEvent$attachment": null, "AttachmentsInput$member": null } }, + "AttachmentInputEvent": { + "base": "

A file input event activated by a end user request to upload files into their web experience chat.

", + "refs": { + "ChatInputStream$attachmentEvent": "

A request by an end user to upload a file during chat.

" + } + }, "AttachmentName": { "base": null, "refs": { @@ -297,7 +334,8 @@ "AttachmentOutput": { "base": "

The details of a file uploaded during chat.

", "refs": { - "AttachmentsOutput$member": null + "AttachmentsOutput$member": null, + "FailedAttachmentEvent$attachment": null } }, "AttachmentStatus": { @@ -338,7 +376,8 @@ "refs": { "AttributeFilter$notFilter": "

Performs a logical NOT operation on all supplied filters.

", "AttributeFilters$member": null, - "ChatSyncInput$attributeFilter": "

Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.

" + "ChatSyncInput$attributeFilter": "

Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.

", + "ConfigurationEvent$attributeFilter": null } }, "AttributeFilters": { @@ -360,6 +399,49 @@ "DocumentAttributeTarget$attributeValueOperator": "

TRUE to delete the existing target value for your specified target attribute key. You cannot create a target value and set this to TRUE.

" } }, + "AuthChallengeRequest": { + "base": "

A request made by Amazon Q Business to a third paty authentication server to authenticate a custom plugin user.

", + "refs": { + "ChatSyncOutput$authChallengeRequest": "

An authentication verification event activated by an end user request to use a custom plugin.

" + } + }, + "AuthChallengeRequestEvent": { + "base": "

An authentication verification event activated by an end user request to use a custom plugin.

", + "refs": { + "ChatOutputStream$authChallengeRequestEvent": "

An authentication verification event activated by an end user request to use a custom plugin.

" + } + }, + "AuthChallengeResponse": { + "base": "

Contains details of the authentication information received from a third party authentication server in response to an authentication challenge.

", + "refs": { + "ChatSyncInput$authChallengeResponse": "

An authentication verification event response by a third party authentication server to Amazon Q Business.

" + } + }, + "AuthChallengeResponseEvent": { + "base": "

An authentication verification event response by a third party authentication server to Amazon Q Business.

", + "refs": { + "ChatInputStream$authChallengeResponseEvent": "

An authentication verification event response by a third party authentication server to Amazon Q Business.

" + } + }, + "AuthResponseKey": { + "base": null, + "refs": { + "AuthorizationResponseMap$key": null + } + }, + "AuthResponseValue": { + "base": null, + "refs": { + "AuthorizationResponseMap$value": null + } + }, + "AuthorizationResponseMap": { + "base": null, + "refs": { + "AuthChallengeResponse$responseMap": "

The mapping of key-value pairs in an authentication challenge response.

", + "AuthChallengeResponseEvent$responseMap": "

The mapping of key-value pairs in an authentication challenge response.

" + } + }, "BasicAuthConfiguration": { "base": "

Information about the basic authentication credentials used to configure a plugin.

", "refs": { @@ -431,16 +513,40 @@ "DateAttributeBoostingConfiguration$boostingDurationInSeconds": "

Specifies the duration, in seconds, of a boost applies to a DATE type document attribute.

" } }, + "ChatInput": { + "base": null, + "refs": { + } + }, + "ChatInputStream": { + "base": "

The streaming input for the Chat API.

", + "refs": { + "ChatInput$inputStream": "

The streaming input for the Chat API.

" + } + }, "ChatMode": { "base": null, "refs": { - "ChatSyncInput$chatMode": "

The chat modes available in an Amazon Q Business web experience.

For more information, see Admin controls and guardrails, Plugins, and Conversation settings.

" + "ChatSyncInput$chatMode": "

The chat modes available to an Amazon Q Business end user.

For more information, see Admin controls and guardrails, Plugins, and Conversation settings.

", + "ConfigurationEvent$chatMode": "

The chat modes available to an Amazon Q Business end user.

For more information, see Admin controls and guardrails, Plugins, and Conversation settings.

" } }, "ChatModeConfiguration": { "base": "

Configuration information for Amazon Q Business conversation modes.

For more information, see Admin controls and guardrails and Conversation settings.

", "refs": { - "ChatSyncInput$chatModeConfiguration": "

The chat mode configuration for an Amazon Q Business application.

" + "ChatSyncInput$chatModeConfiguration": "

The chat mode configuration for an Amazon Q Business application.

", + "ConfigurationEvent$chatModeConfiguration": null + } + }, + "ChatOutput": { + "base": null, + "refs": { + } + }, + "ChatOutputStream": { + "base": "

The streaming output for the Chat API.

", + "refs": { + "ChatOutput$outputStream": "

The streaming output for the Chat API.

" } }, "ChatSyncInput": { @@ -456,6 +562,7 @@ "ClientToken": { "base": null, "refs": { + "ChatInput$clientToken": "

A token that you provide to identify the chat input.

", "ChatSyncInput$clientToken": "

A token that you provide to identify a chat request.

", "CreateApplicationRequest$clientToken": "

A token that you provide to identify the request to create your Amazon Q Business application.

", "CreateDataSourceRequest$clientToken": "

A token you provide to identify a request to create a data source connector. Multiple calls to the CreateDataSource API with the same client token will create only one data source connector.

", @@ -467,6 +574,12 @@ "UpdateChatControlsConfigurationRequest$clientToken": "

A token that you provide to identify the request to update a Amazon Q Business application chat configuration.

" } }, + "ConfigurationEvent": { + "base": "

A configuration event activated by an end user request to select a specific chat mode.

", + "refs": { + "ChatInputStream$configurationEvent": "

A configuration event activated by an end user request to select a specific chat mode.

" + } + }, "ConflictException": { "base": "

You are trying to perform an action that conflicts with the current status of your resource. Fix any inconsistences with your resources and try again.

", "refs": { @@ -499,12 +612,17 @@ "ConversationId": { "base": null, "refs": { + "ActionReviewEvent$conversationId": "

The identifier of the conversation with which the action review event is associated.

", + "ChatInput$conversationId": "

The identifier of the Amazon Q Business conversation.

", "ChatSyncInput$conversationId": "

The identifier of the Amazon Q Business conversation.

", "ChatSyncOutput$conversationId": "

The identifier of the Amazon Q Business conversation.

", "Conversation$conversationId": "

The identifier of the Amazon Q Business conversation.

", "DeleteConversationRequest$conversationId": "

The identifier of the Amazon Q Business web experience conversation being deleted.

", + "FailedAttachmentEvent$conversationId": "

The identifier of the conversation associated with the failed file upload.

", "ListMessagesRequest$conversationId": "

The identifier of the Amazon Q Business web experience conversation.

", - "PutFeedbackRequest$conversationId": "

The identifier of the conversation the feedback is attached to.

" + "MetadataEvent$conversationId": "

The identifier of the conversation with which the generated metadata is associated.

", + "PutFeedbackRequest$conversationId": "

The identifier of the conversation the feedback is attached to.

", + "TextOutputEvent$conversationId": "

The identifier of the conversation with which the text output event is associated.

" } }, "ConversationTitle": { @@ -608,6 +726,14 @@ "CreatorModeConfiguration$creatorModeControl": "

Status information about whether CREATOR_MODE has been enabled or disabled. The default status is DISABLED.

" } }, + "CustomPluginConfiguration": { + "base": "

Configuration information required to create a custom plugin.

", + "refs": { + "CreatePluginRequest$customPluginConfiguration": "

Contains configuration for a custom plugin.

", + "GetPluginResponse$customPluginConfiguration": "

Configuration information required to create a custom plugin.

", + "UpdatePluginRequest$customPluginConfiguration": "

The configuration for a custom plugin.

" + } + }, "DataSource": { "base": "

A data source in an Amazon Q Business application.

", "refs": { @@ -859,9 +985,9 @@ "DocumentAttribute": { "base": "

A document attribute or metadata field.

", "refs": { + "AttributeFilter$equalsTo": "

Performs an equals operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue, longValue, stringListValue and stringValue.

", "AttributeFilter$containsAll": "

Returns true when a document contains all the specified document attributes or metadata fields. Supported for the following document attribute value types: stringListValue.

", "AttributeFilter$containsAny": "

Returns true when a document contains any of the specified document attributes or metadata fields. Supported for the following document attribute value types: dateValue, longValue, stringListValue and stringValue.

", - "AttributeFilter$equalsTo": "

Performs an equals operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue, longValue, stringListValue and stringValue.

", "AttributeFilter$greaterThan": "

Performs a greater than operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue and longValue.

", "AttributeFilter$greaterThanOrEquals": "

Performs a greater or equals than operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue and longValue.

", "AttributeFilter$lessThan": "

Performs a less than operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue and longValue.

", @@ -978,7 +1104,7 @@ "DocumentEnrichmentConditionOperator": { "base": null, "refs": { - "DocumentAttributeCondition$operator": "

The identifier of the document attribute used for the condition.

For example, 'Source_URI' could be an identifier for the attribute or metadata field that contains source URIs associated with the documents.

Amazon Kendra currently does not support _document_body as an attribute key used for the condition.

" + "DocumentAttributeCondition$operator": "

The identifier of the document attribute used for the condition.

For example, 'Source_URI' could be an identifier for the attribute or metadata field that contains source URIs associated with the documents.

Amazon Q Business currently does not support _document_body as an attribute key used for the condition.

" } }, "DocumentEnrichmentConfiguration": { @@ -999,6 +1125,12 @@ "FailedDocument$id": "

The identifier of the document that couldn't be removed from the Amazon Q Business index.

" } }, + "DocumentMetadataConfigurationName": { + "base": null, + "refs": { + "DocumentAttributeConfiguration$name": "

The name of the document attribute.

" + } + }, "DocumentStatus": { "base": null, "refs": { @@ -1030,6 +1162,12 @@ "GetApplicationResponse$encryptionConfiguration": "

The identifier of the Amazon Web Services KMS key that is used to encrypt your data. Amazon Q Business doesn't support asymmetric keys.

" } }, + "EndOfInputEvent": { + "base": "

The end of the streaming input for the Chat API.

", + "refs": { + "ChatInputStream$endOfInputEvent": "

The end of the streaming input for the Chat API.

" + } + }, "ErrorCode": { "base": null, "refs": { @@ -1085,6 +1223,12 @@ "StartDataSourceSyncJobResponse$executionId": "

The identifier for a particular synchronization job.

" } }, + "FailedAttachmentEvent": { + "base": "

A failed file upload during web experience chat.

", + "refs": { + "ChatOutputStream$failedAttachmentEvent": "

A failed file upload event during a web experience chat.

" + } + }, "FailedDocument": { "base": "

A list of documents that could not be removed from an Amazon Q Business index. Each entry contains an error message that indicates why the document couldn't be removed from the index.

", "refs": { @@ -1237,10 +1381,10 @@ } }, "HookConfiguration": { - "base": "

Provides the configuration information for invoking a Lambda function in Lambda to alter document metadata and content when ingesting documents into Amazon Q Business.

You can configure your Lambda function using PreExtractionHookConfiguration if you want to apply advanced alterations on the original or raw documents.

If you want to apply advanced alterations on the Amazon Q Business structured documents, you must configure your Lambda function using PostExtractionHookConfiguration.

You can only invoke one Lambda function. However, this function can invoke other functions it requires.

For more information, see Custom document enrichment.

", + "base": "

Provides the configuration information for invoking a Lambda function in Lambda to alter document metadata and content when ingesting documents into Amazon Q Business.

You can configure your Lambda function using the PreExtractionHookConfiguration parameter if you want to apply advanced alterations on the original or raw documents.

If you want to apply advanced alterations on the Amazon Q Business structured documents, you must configure your Lambda function using PostExtractionHookConfiguration.

You can only invoke one Lambda function. However, this function can invoke other functions it requires.

For more information, see Custom document enrichment.

", "refs": { - "DocumentEnrichmentConfiguration$postExtractionHookConfiguration": null, - "DocumentEnrichmentConfiguration$preExtractionHookConfiguration": null + "DocumentEnrichmentConfiguration$preExtractionHookConfiguration": null, + "DocumentEnrichmentConfiguration$postExtractionHookConfiguration": null } }, "IdcApplicationArn": { @@ -1327,6 +1471,13 @@ "Index$status": "

The current status of the index. When the status is ACTIVE, the index is ready.

" } }, + "IndexType": { + "base": null, + "refs": { + "CreateIndexRequest$type": "

The index type that's suitable for your needs. For more information on what's included in each type of index or index tier, see Amazon Q Business tiers.

", + "GetIndexResponse$type": "

The type of index attached to your Amazon Q Business application.

" + } + }, "IndexedTextBytes": { "base": null, "refs": { @@ -1360,7 +1511,8 @@ "InstanceArn": { "base": null, "refs": { - "CreateApplicationRequest$identityCenterInstanceArn": "

The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.

" + "CreateApplicationRequest$identityCenterInstanceArn": "

The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.

", + "UpdateApplicationRequest$identityCenterInstanceArn": "

The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.

" } }, "Integer": { @@ -1660,9 +1812,18 @@ "MessageId": { "base": null, "refs": { + "ActionReviewEvent$userMessageId": "

The identifier of the conversation with which the plugin action is associated.

", + "ActionReviewEvent$systemMessageId": "

The identifier of an Amazon Q Business AI generated associated with the action review event.

", + "ChatInput$parentMessageId": "

The identifier used to associate a user message with a AI generated response.

", "ChatSyncInput$parentMessageId": "

The identifier of the previous end user text input message in a conversation.

", "ChatSyncOutput$systemMessageId": "

The identifier of an Amazon Q Business AI generated message within the conversation.

", - "ChatSyncOutput$userMessageId": "

The identifier of an Amazon Q Business end user text input message within the conversation.

" + "ChatSyncOutput$userMessageId": "

The identifier of an Amazon Q Business end user text input message within the conversation.

", + "FailedAttachmentEvent$userMessageId": "

The identifier of the end user chat message associated with the file upload.

", + "FailedAttachmentEvent$systemMessageId": "

The identifier of the AI-generated message associated with the file upload.

", + "MetadataEvent$userMessageId": "

The identifier of an Amazon Q Business end user text input message within the conversation.

", + "MetadataEvent$systemMessageId": "

The identifier of an Amazon Q Business AI generated message within the conversation.

", + "TextOutputEvent$userMessageId": "

The identifier of an end user message in a TextOutputEvent.

", + "TextOutputEvent$systemMessageId": "

The identifier of an AI-generated message in a TextOutputEvent.

" } }, "MessageType": { @@ -1701,13 +1862,19 @@ "ListMessagesResponse$messages": "

An array of information on one or more messages.

" } }, + "MetadataEvent": { + "base": "

A metadata event for a AI-generated text output message in a Amazon Q Business conversation, containing associated metadata generated.

", + "refs": { + "ChatOutputStream$metadataEvent": "

A metadata event for a AI-generated text output message in a Amazon Q Business conversation.

" + } + }, "MetricValue": { "base": null, "refs": { "DataSourceSyncJobMetrics$documentsAdded": "

The current count of documents added from the data source during the data source sync.

", + "DataSourceSyncJobMetrics$documentsModified": "

The current count of documents modified in the data source during the data source sync.

", "DataSourceSyncJobMetrics$documentsDeleted": "

The current count of documents deleted from the data source during the data source sync.

", "DataSourceSyncJobMetrics$documentsFailed": "

The current count of documents that failed to sync from the data source during the data source sync.

", - "DataSourceSyncJobMetrics$documentsModified": "

The current count of documents modified in the data source during the data source sync.

", "DataSourceSyncJobMetrics$documentsScanned": "

The current count of documents crawled by the ongoing sync job in the data source.

" } }, @@ -1746,6 +1913,12 @@ "ListWebExperiencesResponse$nextToken": "

If the response is truncated, Amazon Q Business returns this token, which you can use in a later request to list the next set of messages.

" } }, + "NoAuthConfiguration": { + "base": "

Information about invoking a custom plugin without any authentication or authorization requirement.

", + "refs": { + "PluginAuthConfiguration$noAuthConfiguration": "

Information about invoking a custom plugin without any authentication.

" + } + }, "NumberAttributeBoostingConfiguration": { "base": "

Provides information on boosting NUMBER type document attributes.

For more information on how boosting document attributes work in Amazon Q Business, see Boosting using document attributes.

", "refs": { @@ -1764,6 +1937,12 @@ "PluginAuthConfiguration$oAuth2ClientCredentialConfiguration": "

Information about the OAuth 2.0 authentication credential/token used to configure a plugin.

" } }, + "Payload": { + "base": null, + "refs": { + "APISchema$payload": "

The JSON or YAML-formatted payload defining the OpenAPI schema for a custom plugin.

" + } + }, "Plugin": { "base": "

Information about an Amazon Q Business plugin and its configuration.

", "refs": { @@ -1785,17 +1964,33 @@ "UpdatePluginRequest$authConfiguration": "

The authentication configuration the plugin is using.

" } }, + "PluginBuildStatus": { + "base": null, + "refs": { + "CreatePluginResponse$buildStatus": "

The current status of a plugin. A plugin is modified asynchronously.

", + "GetPluginResponse$buildStatus": "

The current status of a plugin. A plugin is modified asynchronously.

", + "Plugin$buildStatus": "

The status of the plugin.

" + } + }, "PluginConfiguration": { "base": "

Configuration information required to invoke chat in PLUGIN_MODE.

For more information, see Admin controls and guardrails, Plugins, and Conversation settings.

", "refs": { "ChatModeConfiguration$pluginConfiguration": "

Configuration information required to invoke chat in PLUGIN_MODE.

" } }, + "PluginDescription": { + "base": null, + "refs": { + "CustomPluginConfiguration$description": "

A description for your custom plugin configuration.

" + } + }, "PluginId": { "base": null, "refs": { "ActionExecution$pluginId": "

The identifier of the plugin the action is attached to.

", + "ActionExecutionEvent$pluginId": "

The identifier of the plugin for which the action is being requested.

", "ActionReview$pluginId": "

The identifier of the plugin associated with the action review.

", + "ActionReviewEvent$pluginId": "

The identifier of the plugin associated with the action review event.

", "CreatePluginResponse$pluginId": "

The identifier of the plugin created.

", "DeletePluginRequest$pluginId": "

The identifier of the plugin being deleted.

", "GetPluginRequest$pluginId": "

The identifier of the plugin.

", @@ -1826,6 +2021,7 @@ "base": null, "refs": { "ActionReview$pluginType": "

The type of plugin.

", + "ActionReviewEvent$pluginType": "

The type of plugin.

", "CreatePluginRequest$type": "

The type of plugin you want to create.

", "GetPluginResponse$type": "

The type of the plugin.

", "Plugin$type": "

The type of the plugin.

" @@ -1975,7 +2171,8 @@ "SamlConfiguration$roleArn": "

The Amazon Resource Name (ARN) of an IAM role assumed by users when they authenticate into their Amazon Q Business web experience, containing the relevant Amazon Q Business permissions for conversing with Amazon Q Business.

", "UpdateApplicationRequest$roleArn": "

An Amazon Web Services Identity and Access Management (IAM) role that gives Amazon Q Business permission to access Amazon CloudWatch logs and metrics.

", "UpdateDataSourceRequest$roleArn": "

The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.

", - "UpdateRetrieverRequest$roleArn": "

The Amazon Resource Name (ARN) of an IAM role with permission to access the retriever and required resources.

" + "UpdateRetrieverRequest$roleArn": "

The Amazon Resource Name (ARN) of an IAM role with permission to access the retriever and required resources.

", + "UpdateWebExperienceRequest$roleArn": "

The Amazon Resource Name (ARN) of the role with permission to access the Amazon Q Business web experience and required resources.

" } }, "Rule": { @@ -2005,6 +2202,7 @@ "S3": { "base": "

Information required for Amazon Q Business to find a specific file in an Amazon S3 bucket.

", "refs": { + "APISchema$s3": "

Contains details about the S3 object containing the OpenAPI schema for a custom plugin. The schema could be in either JSON or YAML format.

", "DocumentContent$s3": "

The path to the document in an Amazon S3 bucket.

" } }, @@ -2024,8 +2222,8 @@ "SamlAttribute": { "base": null, "refs": { - "SamlConfiguration$userGroupAttribute": "

The group attribute name in your IdP that maps to user groups.

", - "SamlConfiguration$userIdAttribute": "

The user attribute name in your IdP that maps to the user email.

" + "SamlConfiguration$userIdAttribute": "

The user attribute name in your IdP that maps to the user email.

", + "SamlConfiguration$userGroupAttribute": "

The group attribute name in your IdP that maps to user groups.

" } }, "SamlConfiguration": { @@ -2064,6 +2262,18 @@ "refs": { } }, + "SnippetExcerpt": { + "base": "

Contains the relevant text excerpt from a source that was used to generate a citation text segment in an Amazon Q Business chat response.

", + "refs": { + "TextSegment$snippetExcerpt": "

The relevant text excerpt from a source that was used to generate a citation text segment in an Amazon Q Business chat response.

" + } + }, + "SnippetExcerptText": { + "base": null, + "refs": { + "SnippetExcerpt$text": "

The relevant text excerpt from a source that was used to generate a citation text segment in an Amazon Q chat response.

" + } + }, "SourceAttribution": { "base": "

The documents used to generate an Amazon Q Business web experience response.

", "refs": { @@ -2074,7 +2284,8 @@ "base": null, "refs": { "ChatSyncOutput$sourceAttributions": "

The source documents used to generate the conversation response.

", - "Message$sourceAttribution": "

The source documents used to generate Amazon Q Business web experience message.

" + "Message$sourceAttribution": "

The source documents used to generate Amazon Q Business web experience message.

", + "MetadataEvent$sourceAttributions": "

The source documents used to generate the conversation response.

" } }, "StartDataSourceSyncJobRequest": { @@ -2107,6 +2318,8 @@ "base": null, "refs": { "ActionReviewPayloadField$displayName": "

The name of the field.

", + "ActionReviewPayloadField$displayDescription": "

The field level description of each action review input field. This could be an explanation of the field. In the Amazon Q Business web experience, these descriptions could be used to display as tool tips to help users understand the field.

", + "ActionReviewPayloadField$allowedFormat": "

The expected data format for the action review input field value. For example, in PTO request, from and to would be of datetime allowed format.

", "ChatSyncOutput$systemMessage": "

An AI-generated message in a conversation.

", "ConflictException$resourceId": "

The identifier of the resource affected.

", "ConflictException$resourceType": "

The type of the resource affected.

", @@ -2114,25 +2327,26 @@ "DataSource$type": "

The type of the Amazon Q Business data source.

", "DataSourceSyncJob$dataSourceErrorCode": "

If the reason that the synchronization failed is due to an error with the underlying data source, this field contains a code that identifies the error.

", "DeleteUserRequest$userId": "

The user email being deleted.

", - "DocumentAttributeConfiguration$name": "

The name of the document attribute.

", "DocumentAttributeStringListValue$member": null, "GetDataSourceResponse$type": "

The type of the data source connector. For example, S3.

", "GetUserRequest$userId": "

The user email address attached to the user.

", "Message$messageId": "

The identifier of the Amazon Q Business web experience message.

", + "MetadataEvent$finalTextMessage": "

The final text output message generated by the system.

", "ResourceNotFoundException$resourceId": "

The identifier of the resource affected.

", "ResourceNotFoundException$resourceType": "

The type of the resource affected.

", "ServiceQuotaExceededException$resourceId": "

The identifier of the resource affected.

", "ServiceQuotaExceededException$resourceType": "

The type of the resource affected.

", - "SourceAttribution$snippet": "

The content extract from the document on which the generated response is based.

", "SourceAttribution$title": "

The title of the document which is the source for the Amazon Q Business generated response.

", + "SourceAttribution$snippet": "

The content extract from the document on which the generated response is based.

", "SourceAttribution$url": "

The URL of the document which is the source for the Amazon Q Business generated response.

", "StringAttributeValueBoosting$key": null, + "TextOutputEvent$systemMessage": "

An AI-generated message in a TextOutputEvent.

", "UpdateUserRequest$userId": "

The email id attached to the user.

", "UserAlias$userId": "

The identifier of the user id associated with the user aliases.

", "UserGroups$member": null, "UserIds$member": null, - "ValidationExceptionField$message": "

A message about the validation exception.

", - "ValidationExceptionField$name": "

The field name where the invalid entry was detected.

" + "ValidationExceptionField$name": "

The field name where the invalid entry was detected.

", + "ValidationExceptionField$message": "

A message about the validation exception.

" } }, "StringAttributeBoostingConfiguration": { @@ -2247,6 +2461,18 @@ "IndexStatistics$textDocumentStatistics": "

The number of documents indexed.

" } }, + "TextInputEvent": { + "base": "

An input event for a end user message in an Amazon Q Business web experience.

", + "refs": { + "ChatInputStream$textEvent": "

Information about the payload of the ChatInputStream event containing the end user message input.

" + } + }, + "TextOutputEvent": { + "base": "

An output event for an AI-generated response in an Amazon Q Business web experience.

", + "refs": { + "ChatOutputStream$textEvent": "

Information about the payload of the ChatOutputStream event containing the AI-generated message output.

" + } + }, "TextSegment": { "base": "

Provides information about a text extract in a chat response that can be attributed to a source document.

", "refs": { @@ -2272,8 +2498,8 @@ "Conversation$startTime": "

The start time of the conversation.

", "DataSource$createdAt": "

The Unix timestamp when the Amazon Q Business data source was created.

", "DataSource$updatedAt": "

The Unix timestamp when the Amazon Q Business data source was last updated.

", - "DataSourceSyncJob$endTime": "

The Unix timestamp when the synchronization job completed.

", "DataSourceSyncJob$startTime": "

The Unix time stamp when the data source synchronization job started.

", + "DataSourceSyncJob$endTime": "

The Unix timestamp when the synchronization job completed.

", "DocumentAttributeValue$dateValue": "

A date expressed as an ISO 8601 string.

It's important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

", "DocumentDetails$createdAt": "

The timestamp for when the document was created.

", "DocumentDetails$updatedAt": "

The timestamp for when the document was last updated.

", @@ -2287,13 +2513,13 @@ "GetPluginResponse$updatedAt": "

The timestamp for when the plugin was last updated.

", "GetRetrieverResponse$createdAt": "

The Unix timestamp when the retriever was created.

", "GetRetrieverResponse$updatedAt": "

The Unix timestamp when the retriever was last updated.

", - "GetWebExperienceResponse$createdAt": "

The Unix timestamp when the retriever was created.

", - "GetWebExperienceResponse$updatedAt": "

The Unix timestamp when the data source connector was last updated.

", + "GetWebExperienceResponse$createdAt": "

The Unix timestamp when the Amazon Q Business web experience was last created.

", + "GetWebExperienceResponse$updatedAt": "

The Unix timestamp when the Amazon Q Business web experience was last updated.

", "GroupStatusDetail$lastUpdatedAt": "

The Unix timestamp when the Amazon Q Business application was last updated.

", "Index$createdAt": "

The Unix timestamp when the index was created.

", "Index$updatedAt": "

The Unix timestamp when the index was last updated.

", - "ListDataSourceSyncJobsRequest$endTime": "

The end time of the data source connector sync.

", "ListDataSourceSyncJobsRequest$startTime": "

The start time of the data source connector sync.

", + "ListDataSourceSyncJobsRequest$endTime": "

The end time of the data source connector sync.

", "ListGroupsRequest$updatedEarlierThan": "

The timestamp identifier used for the latest PUT or DELETE action for mapping users to their groups.

", "Message$time": "

The timestamp of the first Amazon Q Business web experience message.

", "MessageUsefulnessFeedback$submittedAt": "

The timestamp for when the feedback was submitted.

", @@ -2430,6 +2656,8 @@ "Url": { "base": null, "refs": { + "AuthChallengeRequest$authorizationUrl": "

The URL sent by Amazon Q Business to the third party authentication server to authenticate a custom plugin user through an OAuth protocol.

", + "AuthChallengeRequestEvent$authorizationUrl": "

The URL sent by Amazon Q Business to a third party authentication server in response to an authentication verification event activated by an end user request to use a custom plugin.

", "CreatePluginRequest$serverUrl": "

The source URL used for plugin configuration.

", "GetPluginResponse$serverUrl": "

The source URL used for plugin configuration.

", "GetWebExperienceResponse$defaultEndpoint": "

The endpoint of your Amazon Q Business web experience.

", @@ -2449,16 +2677,17 @@ "base": null, "refs": { "GetUserResponse$userAliases": "

A list of user aliases attached to a user.

", - "UpdateUserRequest$userAliasesToDelete": "

The user aliases attached to the user id that are to be deleted.

", "UpdateUserRequest$userAliasesToUpdate": "

The user aliases attached to the user id that are to be updated.

", + "UpdateUserRequest$userAliasesToDelete": "

The user aliases attached to the user id that are to be deleted.

", "UpdateUserResponse$userAliasesAdded": "

The user aliases that have been to be added to a user id.

", - "UpdateUserResponse$userAliasesDeleted": "

The user aliases that have been deleted from a user id.

", - "UpdateUserResponse$userAliasesUpdated": "

The user aliases attached to a user id that have been updated.

" + "UpdateUserResponse$userAliasesUpdated": "

The user aliases attached to a user id that have been updated.

", + "UpdateUserResponse$userAliasesDeleted": "

The user aliases that have been deleted from a user id.

" } }, "UserGroups": { "base": null, "refs": { + "ChatInput$userGroups": "

The groups that a user associated with the chat input belongs to.

", "ChatSyncInput$userGroups": "

The groups that a user associated with the chat input belongs to.

", "UsersAndGroups$userGroups": "

The user groups associated with a topic control rule.

" } @@ -2466,6 +2695,7 @@ "UserId": { "base": null, "refs": { + "ChatInput$userId": "

The identifier of the user attached to the chat input.

", "ChatSyncInput$userId": "

The identifier of the user attached to the chat input.

", "DeleteConversationRequest$userId": "

The identifier of the user who is deleting the conversation.

", "ListConversationsRequest$userId": "

The identifier of the user involved in the Amazon Q Business web experience conversation.

", @@ -2483,14 +2713,15 @@ "UserMessage": { "base": null, "refs": { - "ChatSyncInput$userMessage": "

A end user message in a conversation.

" + "ChatSyncInput$userMessage": "

A end user message in a conversation.

", + "TextInputEvent$userMessage": "

A user message in a text message input event.

" } }, "UsersAndGroups": { "base": "

Provides information about users and groups associated with a topic control rule.

", "refs": { - "Rule$excludedUsersAndGroups": "

Users and groups to be excluded from a rule.

", - "Rule$includedUsersAndGroups": "

Users and groups to be included in a rule.

" + "Rule$includedUsersAndGroups": "

Users and groups to be included in a rule.

", + "Rule$excludedUsersAndGroups": "

Users and groups to be excluded from a rule.

" } }, "ValidationException": { diff --git a/models/apis/qbusiness/2023-11-27/smoke.json b/models/apis/qbusiness/2023-11-27/smoke.json new file mode 100644 index 0000000000..a9756813e4 --- /dev/null +++ b/models/apis/qbusiness/2023-11-27/smoke.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + ] +} diff --git a/models/apis/qbusiness/2023-11-27/waiters-2.json b/models/apis/qbusiness/2023-11-27/waiters-2.json new file mode 100644 index 0000000000..13f60ee66b --- /dev/null +++ b/models/apis/qbusiness/2023-11-27/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/models/apis/quicksight/2018-04-01/api-2.json b/models/apis/quicksight/2018-04-01/api-2.json index e02f56f60c..2565fe90d8 100644 --- a/models/apis/quicksight/2018-04-01/api-2.json +++ b/models/apis/quicksight/2018-04-01/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"quicksight", "jsonVersion":"1.0", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"Amazon QuickSight", "serviceId":"QuickSight", "signatureVersion":"v4", @@ -2844,6 +2845,22 @@ {"shape":"ResourceUnavailableException"} ] }, + "UpdateSPICECapacityConfiguration":{ + "name":"UpdateSPICECapacityConfiguration", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/spice-capacity-configuration" + }, + "input":{"shape":"UpdateSPICECapacityConfigurationRequest"}, + "output":{"shape":"UpdateSPICECapacityConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "UpdateTemplate":{ "name":"UpdateTemplate", "http":{ @@ -3336,7 +3353,15 @@ "members":{ "Dashboard":{"shape":"AnonymousUserDashboardEmbeddingConfiguration"}, "DashboardVisual":{"shape":"AnonymousUserDashboardVisualEmbeddingConfiguration"}, - "QSearchBar":{"shape":"AnonymousUserQSearchBarEmbeddingConfiguration"} + "QSearchBar":{"shape":"AnonymousUserQSearchBarEmbeddingConfiguration"}, + "GenerativeQnA":{"shape":"AnonymousUserGenerativeQnAEmbeddingConfiguration"} + } + }, + "AnonymousUserGenerativeQnAEmbeddingConfiguration":{ + "type":"structure", + "required":["InitialTopicId"], + "members":{ + "InitialTopicId":{"shape":"RestrictiveResourceId"} } }, "AnonymousUserQSearchBarEmbeddingConfiguration":{ @@ -5479,7 +5504,6 @@ "CreateAccountSubscriptionRequest":{ "type":"structure", "required":[ - "Edition", "AuthenticationMethod", "AwsAccountId", "AccountName", @@ -5501,6 +5525,9 @@ "AdminGroup":{"shape":"GroupsList"}, "AuthorGroup":{"shape":"GroupsList"}, "ReaderGroup":{"shape":"GroupsList"}, + "AdminProGroup":{"shape":"GroupsList"}, + "AuthorProGroup":{"shape":"GroupsList"}, + "ReaderProGroup":{"shape":"GroupsList"}, "FirstName":{"shape":"String"}, "LastName":{"shape":"String"}, "EmailAddress":{"shape":"String"}, @@ -11164,6 +11191,13 @@ "ForegroundColor":{"shape":"ConditionalFormattingColor"} } }, + "GaugeChartColorConfiguration":{ + "type":"structure", + "members":{ + "ForegroundColor":{"shape":"HexColor"}, + "BackgroundColor":{"shape":"HexColor"} + } + }, "GaugeChartConditionalFormatting":{ "type":"structure", "members":{ @@ -11190,6 +11224,7 @@ "DataLabels":{"shape":"DataLabelOptions"}, "TooltipOptions":{"shape":"TooltipOptions"}, "VisualPalette":{"shape":"VisualPalette"}, + "ColorConfiguration":{"shape":"GaugeChartColorConfiguration"}, "Interactions":{"shape":"VisualInteractionOptions"} } }, @@ -15053,7 +15088,7 @@ "PivotTableConditionalFormattingOptionList":{ "type":"list", "member":{"shape":"PivotTableConditionalFormattingOption"}, - "max":100 + "max":500 }, "PivotTableConditionalFormattingScope":{ "type":"structure", @@ -15421,6 +15456,13 @@ "MEASURE" ] }, + "PurchaseMode":{ + "type":"string", + "enum":[ + "MANUAL", + "AUTO_PURCHASE" + ] + }, "PutDataSetRefreshPropertiesRequest":{ "type":"structure", "required":[ @@ -15872,7 +15914,14 @@ "Dashboard":{"shape":"RegisteredUserDashboardEmbeddingConfiguration"}, "QuickSightConsole":{"shape":"RegisteredUserQuickSightConsoleEmbeddingConfiguration"}, "QSearchBar":{"shape":"RegisteredUserQSearchBarEmbeddingConfiguration"}, - "DashboardVisual":{"shape":"RegisteredUserDashboardVisualEmbeddingConfiguration"} + "DashboardVisual":{"shape":"RegisteredUserDashboardVisualEmbeddingConfiguration"}, + "GenerativeQnA":{"shape":"RegisteredUserGenerativeQnAEmbeddingConfiguration"} + } + }, + "RegisteredUserGenerativeQnAEmbeddingConfiguration":{ + "type":"structure", + "members":{ + "InitialTopicId":{"shape":"RestrictiveResourceId"} } }, "RegisteredUserQSearchBarEmbeddingConfiguration":{ @@ -16096,7 +16145,10 @@ "enum":[ "ADMIN", "AUTHOR", - "READER" + "READER", + "ADMIN_PRO", + "AUTHOR_PRO", + "READER_PRO" ] }, "RoleArn":{ @@ -16803,7 +16855,7 @@ "SeriesItemList":{ "type":"list", "member":{"shape":"SeriesItem"}, - "max":10 + "max":2000 }, "ServiceNowParameters":{ "type":"structure", @@ -17832,7 +17884,7 @@ "TableConditionalFormattingOptionList":{ "type":"list", "member":{"shape":"TableConditionalFormattingOption"}, - "max":100 + "max":500 }, "TableConfiguration":{ "type":"structure", @@ -18934,7 +18986,8 @@ "members":{ "Arn":{"shape":"Arn"}, "TopicId":{"shape":"TopicId"}, - "Name":{"shape":"ResourceName"} + "Name":{"shape":"ResourceName"}, + "UserExperienceVersion":{"shape":"TopicUserExperienceVersion"} } }, "TopicTimeGranularity":{ @@ -19981,6 +20034,31 @@ "Status":{"shape":"StatusCode"} } }, + "UpdateSPICECapacityConfigurationRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "PurchaseMode" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "location":"uri", + "locationName":"AwsAccountId" + }, + "PurchaseMode":{"shape":"PurchaseMode"} + } + }, + "UpdateSPICECapacityConfigurationResponse":{ + "type":"structure", + "members":{ + "RequestId":{"shape":"String"}, + "Status":{ + "shape":"StatusCode", + "location":"statusCode" + } + } + }, "UpdateTemplateAliasRequest":{ "type":"structure", "required":[ @@ -20444,7 +20522,10 @@ "AUTHOR", "READER", "RESTRICTED_AUTHOR", - "RESTRICTED_READER" + "RESTRICTED_READER", + "ADMIN_PRO", + "AUTHOR_PRO", + "READER_PRO" ] }, "VPCConnection":{ diff --git a/models/apis/quicksight/2018-04-01/docs-2.json b/models/apis/quicksight/2018-04-01/docs-2.json index 5c6c584a65..ebca724e41 100644 --- a/models/apis/quicksight/2018-04-01/docs-2.json +++ b/models/apis/quicksight/2018-04-01/docs-2.json @@ -162,6 +162,7 @@ "UpdatePublicSharingSettings": "

Use the UpdatePublicSharingSettings operation to turn on or turn off the public sharing settings of an Amazon QuickSight dashboard.

To use this operation, turn on session capacity pricing for your Amazon QuickSight account.

Before you can turn on public sharing on your account, make sure to give public sharing permissions to an administrative user in the Identity and Access Management (IAM) console. For more information on using IAM with Amazon QuickSight, see Using Amazon QuickSight with IAM in the Amazon QuickSight User Guide.

", "UpdateRefreshSchedule": "

Updates a refresh schedule for a dataset.

", "UpdateRoleCustomPermission": "

Updates the custom permissions that are associated with a role.

", + "UpdateSPICECapacityConfiguration": "

Updates the SPICE capacity configuration for a Amazon QuickSight account.

", "UpdateTemplate": "

Updates a template from an existing Amazon QuickSight analysis or another template.

", "UpdateTemplateAlias": "

Updates the template alias of a template.

", "UpdateTemplatePermissions": "

Updates the resource permissions for a template.

", @@ -433,6 +434,12 @@ "GenerateEmbedUrlForAnonymousUserRequest$ExperienceConfiguration": "

The configuration of the experience that you are embedding.

" } }, + "AnonymousUserGenerativeQnAEmbeddingConfiguration": { + "base": "

The settings that you want to use for the Generative Q&A experience.

", + "refs": { + "AnonymousUserEmbeddingExperienceConfiguration$GenerativeQnA": "

The Generative Q&A experience that you want to use for anonymous user embedding.

" + } + }, "AnonymousUserQSearchBarEmbeddingConfiguration": { "base": "

The settings that you want to use with the Q search bar.

", "refs": { @@ -1553,6 +1560,7 @@ "UpdatePublicSharingSettingsRequest$AwsAccountId": "

The Amazon Web Services account ID associated with your Amazon QuickSight subscription.

", "UpdateRefreshScheduleRequest$AwsAccountId": "

The Amazon Web Services account ID.

", "UpdateRoleCustomPermissionRequest$AwsAccountId": "

The ID for the Amazon Web Services account that you want to create a group in. The Amazon Web Services account ID that you provide must be the same Amazon Web Services account that contains your Amazon QuickSight account.

", + "UpdateSPICECapacityConfigurationRequest$AwsAccountId": "

The ID of the Amazon Web Services account that contains the SPICE configuration that you want to update.

", "UpdateTemplateAliasRequest$AwsAccountId": "

The ID of the Amazon Web Services account that contains the template alias that you're updating.

", "UpdateTemplatePermissionsRequest$AwsAccountId": "

The ID of the Amazon Web Services account that contains the template.

", "UpdateTemplateRequest$AwsAccountId": "

The ID of the Amazon Web Services account that contains the template that you're updating.

", @@ -4819,7 +4827,7 @@ "base": null, "refs": { "GenerateEmbedUrlForAnonymousUserResponse$EmbedUrl": "

The embed URL for the dashboard.

", - "GenerateEmbedUrlForRegisteredUserResponse$EmbedUrl": "

The embed URL for the Amazon QuickSight dashboard, visual, Q search bar, or console.

", + "GenerateEmbedUrlForRegisteredUserResponse$EmbedUrl": "

The embed URL for the Amazon QuickSight dashboard, visual, Q search bar, Generative Q&A experience, or console.

", "GetDashboardEmbedUrlResponse$EmbedUrl": "

A single-use URL that you can put into your server-side webpage to embed your dashboard. This URL is valid for 5 minutes. The API operation provides the URL with an auth_code value that enables one (and only one) sign-on to a user session that is valid for 10 hours.

", "GetSessionEmbedUrlResponse$EmbedUrl": "

A single-use URL that you can put into your server-side web page to embed your Amazon QuickSight session. This URL is valid for 5 minutes. The API operation provides the URL with an auth_code value that enables one (and only one) sign-on to a user session that is valid for 10 hours.

" } @@ -5598,6 +5606,12 @@ "GaugeChartConditionalFormattingOption$Arc": "

The options that determine the presentation of the arc of a GaugeChartVisual.

" } }, + "GaugeChartColorConfiguration": { + "base": "

The color configuration of a GaugeChartVisual.

", + "refs": { + "GaugeChartConfiguration$ColorConfiguration": "

The color configuration of a GaugeChartVisual.

" + } + }, "GaugeChartConditionalFormatting": { "base": "

The conditional formatting of a GaugeChartVisual.

", "refs": { @@ -5955,9 +5969,12 @@ "GroupsList": { "base": null, "refs": { - "CreateAccountSubscriptionRequest$AdminGroup": "

The admin group associated with your Active Directory or IAM Identity Center account. This field is required if ACTIVE_DIRECTORY or IAM_IDENTITY_CENTER is the selected authentication method of the new Amazon QuickSight account.

For more information about using IAM Identity Center in Amazon QuickSight, see Using IAM Identity Center with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide. For more information about using Active Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide.

", + "CreateAccountSubscriptionRequest$AdminGroup": "

The admin group associated with your Active Directory or IAM Identity Center account. Either this field or the AdminProGroup field is required if ACTIVE_DIRECTORY or IAM_IDENTITY_CENTER is the selected authentication method of the new Amazon QuickSight account.

For more information about using IAM Identity Center in Amazon QuickSight, see Using IAM Identity Center with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide. For more information about using Active Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide.

", "CreateAccountSubscriptionRequest$AuthorGroup": "

The author group associated with your Active Directory or IAM Identity Center account.

For more information about using IAM Identity Center in Amazon QuickSight, see Using IAM Identity Center with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide. For more information about using Active Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide.

", "CreateAccountSubscriptionRequest$ReaderGroup": "

The reader group associated with your Active Directory or IAM Identity Center account.

For more information about using IAM Identity Center in Amazon QuickSight, see Using IAM Identity Center with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide. For more information about using Active Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide.

", + "CreateAccountSubscriptionRequest$AdminProGroup": "

The admin pro group associated with your Active Directory or IAM Identity Center account. Either this field or the AdminGroup field is required if ACTIVE_DIRECTORY or IAM_IDENTITY_CENTER is the selected authentication method of the new Amazon QuickSight account.

For more information about using IAM Identity Center in Amazon QuickSight, see Using IAM Identity Center with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide. For more information about using Active Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide.

", + "CreateAccountSubscriptionRequest$AuthorProGroup": "

The author pro group associated with your Active Directory or IAM Identity Center account.

For more information about using IAM Identity Center in Amazon QuickSight, see Using IAM Identity Center with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide. For more information about using Active Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide.

", + "CreateAccountSubscriptionRequest$ReaderProGroup": "

The reader pro group associated with your Active Directory or IAM Identity Center account.

For more information about using IAM Identity Center in Amazon QuickSight, see Using IAM Identity Center with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide. For more information about using Active Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight Enterprise Edition in the Amazon QuickSight User Guide.

", "ListRoleMembershipsResponse$MembersList": "

The list of groups associated with a role

" } }, @@ -6050,6 +6067,8 @@ "DataPathColor$Color": "

The color that needs to be applied to the element.

", "FontConfiguration$FontColor": "

Determines the color of the text.

", "FunnelChartDataLabelOptions$LabelColor": "

The color of the data label text.

", + "GaugeChartColorConfiguration$ForegroundColor": "

The foreground color configuration of a GaugeChartVisual.

", + "GaugeChartColorConfiguration$BackgroundColor": "

The background color configuration of a GaugeChartVisual.

", "GeospatialHeatmapDataColor$Color": "

The hex color to be used in the heatmap point style.

", "GradientStop$Color": "

Determines the color.

", "KPISparklineOptions$Color": "

The color of the sparkline.

", @@ -6258,7 +6277,7 @@ "IdentityType": { "base": null, "refs": { - "RegisterUserRequest$IdentityType": "

Amazon QuickSight supports several ways of managing the identity of users. This parameter accepts two values:

", + "RegisterUserRequest$IdentityType": "

The identity type that your Amazon QuickSight account uses to manage the identity of users.

", "User$IdentityType": "

The type of identity authentication used by the user.

" } }, @@ -8550,6 +8569,12 @@ "NamedEntityDefinition$PropertyUsage": "

The property usage. Valid values for this structure are INHERIT, DIMENSION, and MEASURE.

" } }, + "PurchaseMode": { + "base": null, + "refs": { + "UpdateSPICECapacityConfigurationRequest$PurchaseMode": "

Determines how SPICE capacity can be purchased. The following options are available.

" + } + }, "PutDataSetRefreshPropertiesRequest": { "base": null, "refs": { @@ -8848,7 +8873,13 @@ "RegisteredUserEmbeddingExperienceConfiguration": { "base": "

The type of experience you want to embed. For registered users, you can embed Amazon QuickSight dashboards or the Amazon QuickSight console.

Exactly one of the experience configurations is required. You can choose Dashboard or QuickSightConsole. You cannot choose more than one experience configuration.

", "refs": { - "GenerateEmbedUrlForRegisteredUserRequest$ExperienceConfiguration": "

The experience you are embedding. For registered users, you can embed Amazon QuickSight dashboards, Amazon QuickSight visuals, the Amazon QuickSight Q search bar, or the entire Amazon QuickSight console.

" + "GenerateEmbedUrlForRegisteredUserRequest$ExperienceConfiguration": "

The experience that you want to embed. For registered users, you can embed Amazon QuickSight dashboards, Amazon QuickSight visuals, the Amazon QuickSight Q search bar, the Amazon QuickSight Generative Q&A experience, or the entire Amazon QuickSight console.

" + } + }, + "RegisteredUserGenerativeQnAEmbeddingConfiguration": { + "base": "

An object that provides information about the configuration of a Generative Q&A experience.

", + "refs": { + "RegisteredUserEmbeddingExperienceConfiguration$GenerativeQnA": "

The configuration details for embedding the Generative Q&A experience.

For more information about embedding the Generative Q&A experience, see Embedding Overview in the Amazon QuickSight User Guide.

" } }, "RegisteredUserQSearchBarEmbeddingConfiguration": { @@ -9095,7 +9126,8 @@ "RestrictiveResourceId": { "base": null, "refs": { - "AnonymousUserQSearchBarEmbeddingConfiguration$InitialTopicId": "

The QuickSight Q topic ID of the topic that you want the anonymous user to see first. This ID is included in the output URL. When the URL in response is accessed, Amazon QuickSight renders the Q search bar with this topic pre-selected.

The Amazon Resource Name (ARN) of this Q topic must be included in the AuthorizedResourceArns parameter. Otherwise, the request will fail with InvalidParameterValueException.

", + "AnonymousUserGenerativeQnAEmbeddingConfiguration$InitialTopicId": "

The Amazon QuickSight Q topic ID of the new reader experience topic that you want the anonymous user to see first. This ID is included in the output URL. When the URL in response is accessed, Amazon QuickSight renders the Generative Q&A experience with this new reader experience topic pre selected.

The Amazon Resource Name (ARN) of this Q new reader experience topic must be included in the AuthorizedResourceArns parameter. Otherwise, the request fails with an InvalidParameterValueException error.

", + "AnonymousUserQSearchBarEmbeddingConfiguration$InitialTopicId": "

The Amazon QuickSight Q topic ID of the legacy topic that you want the anonymous user to see first. This ID is included in the output URL. When the URL in response is accessed, Amazon QuickSight renders the Q search bar with this legacy topic pre-selected.

The Amazon Resource Name (ARN) of this Q legacy topic must be included in the AuthorizedResourceArns parameter. Otherwise, the request fails with an InvalidParameterValueException error.

", "CreateFolderMembershipRequest$FolderId": "

The ID of the folder.

", "CreateFolderMembershipRequest$MemberId": "

The ID of the asset that you want to add to the folder.

", "CreateFolderRequest$FolderId": "

The ID of the folder.

", @@ -9114,7 +9146,8 @@ "FolderSummary$FolderId": "

The ID of the folder.

", "ListFolderMembersRequest$FolderId": "

The ID of the folder.

", "MemberIdArnPair$MemberId": "

The ID of the member.

", - "RegisteredUserQSearchBarEmbeddingConfiguration$InitialTopicId": "

The ID of the Q topic that you want to make the starting topic in the Q search bar. You can find a topic ID by navigating to the Topics pane in the Amazon QuickSight application and opening a topic. The ID is in the URL for the topic that you open.

If you don't specify an initial topic, a list of all shared topics is shown in the Q bar for your readers. When you select an initial topic, you can specify whether or not readers are allowed to select other topics from the available ones in the list.

", + "RegisteredUserGenerativeQnAEmbeddingConfiguration$InitialTopicId": "

The ID of the new Q reader experience topic that you want to make the starting topic in the Generative Q&A experience. You can find a topic ID by navigating to the Topics pane in the Amazon QuickSight application and opening a topic. The ID is in the URL for the topic that you open.

If you don't specify an initial topic or you specify a legacy topic, a list of all shared new reader experience topics is shown in the Generative Q&A experience for your readers. When you select an initial new reader experience topic, you can specify whether or not readers are allowed to select other new reader experience topics from the available ones in the list.

", + "RegisteredUserQSearchBarEmbeddingConfiguration$InitialTopicId": "

The ID of the legacy Q topic that you want to use as the starting topic in the Q search bar. To locate the topic ID of the topic that you want to use, open the Amazon QuickSight console, navigate to the Topics pane, and choose thre topic that you want to use. The TopicID is located in the URL of the topic that opens. When you select an initial topic, you can specify whether or not readers are allowed to select other topics from the list of available topics.

If you don't specify an initial topic or if you specify a new reader experience topic, a list of all shared legacy topics is shown in the Q bar.

", "UpdateFolderPermissionsRequest$FolderId": "

The ID of the folder.

", "UpdateFolderPermissionsResponse$FolderId": "

The ID of the folder.

", "UpdateFolderRequest$FolderId": "

The ID of the folder.

", @@ -9147,7 +9180,7 @@ "base": null, "refs": { "DescribeRoleCustomPermissionResponse$CustomPermissionsName": "

The name of the custom permission that is described.

", - "RegisterUserRequest$CustomPermissionsName": "

(Enterprise edition only) The name of the custom permissions profile that you want to assign to this user. Customized permissions allows you to control a user's access by restricting access the following operations:

To add custom permissions to an existing user, use UpdateUser instead.

A set of custom permissions includes any combination of these restrictions. Currently, you need to create the profile names for custom permission sets by using the Amazon QuickSight console. Then, you use the RegisterUser API operation to assign the named set of permissions to a Amazon QuickSight user.

Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Amazon QuickSight users to one of the default security cohorts in Amazon QuickSight (admin, author, reader).

This feature is available only to Amazon QuickSight Enterprise edition subscriptions.

", + "RegisterUserRequest$CustomPermissionsName": "

(Enterprise edition only) The name of the custom permissions profile that you want to assign to this user. Customized permissions allows you to control a user's access by restricting access the following operations:

To add custom permissions to an existing user, use UpdateUser instead.

A set of custom permissions includes any combination of these restrictions. Currently, you need to create the profile names for custom permission sets by using the Amazon QuickSight console. Then, you use the RegisterUser API operation to assign the named set of permissions to a Amazon QuickSight user.

Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Amazon QuickSight users to one of the default security cohorts in Amazon QuickSight (admin, author, reader, admin pro, author pro, reader pro).

This feature is available only to Amazon QuickSight Enterprise edition subscriptions.

", "UpdateRoleCustomPermissionRequest$CustomPermissionsName": "

The name of the custom permission that you want to update the role with.

", "UpdateUserRequest$CustomPermissionsName": "

(Enterprise edition only) The name of the custom permissions profile that you want to assign to this user. Customized permissions allows you to control a user's access by restricting access the following operations:

A set of custom permissions includes any combination of these restrictions. Currently, you need to create the profile names for custom permission sets by using the Amazon QuickSight console. Then, you use the RegisterUser API operation to assign the named set of permissions to a Amazon QuickSight user.

Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Amazon QuickSight users to one of the default security cohorts in Amazon QuickSight (admin, author, reader).

This feature is available only to Amazon QuickSight Enterprise edition subscriptions.

", "User$CustomPermissionsName": "

The custom permissions profile associated with this user.

" @@ -10700,6 +10733,7 @@ "UpdatePublicSharingSettingsResponse$Status": "

The HTTP status of the request.

", "UpdateRefreshScheduleResponse$Status": "

The HTTP status of the request.

", "UpdateRoleCustomPermissionResponse$Status": "

The HTTP status of the request.

", + "UpdateSPICECapacityConfigurationResponse$Status": "

The HTTP status of the request.

", "UpdateTemplateAliasResponse$Status": "

The HTTP status of the request.

", "UpdateTemplatePermissionsResponse$Status": "

The HTTP status of the request.

", "UpdateTemplateResponse$Status": "

The HTTP status of the request.

", @@ -11084,6 +11118,7 @@ "UpdateRefreshScheduleResponse$RequestId": "

The Amazon Web Services request ID for this operation.

", "UpdateRefreshScheduleResponse$ScheduleId": "

The ID of the refresh schedule.

", "UpdateRoleCustomPermissionResponse$RequestId": "

The Amazon Web Services request ID for this operation.

", + "UpdateSPICECapacityConfigurationResponse$RequestId": "

The Amazon Web Services request ID for this operation.

", "UpdateTemplateAliasResponse$RequestId": "

The Amazon Web Services request ID for this operation.

", "UpdateTemplatePermissionsResponse$RequestId": "

The Amazon Web Services request ID for this operation.

", "UpdateTemplateResponse$RequestId": "

The Amazon Web Services request ID for this operation.

", @@ -12265,7 +12300,8 @@ "TopicUserExperienceVersion": { "base": null, "refs": { - "TopicDetails$UserExperienceVersion": "

The user experience version of a topic.

" + "TopicDetails$UserExperienceVersion": "

The user experience version of a topic.

", + "TopicSummary$UserExperienceVersion": "

The user experience version of the topic.

" } }, "TotalAggregationComputation": { @@ -12705,6 +12741,16 @@ "refs": { } }, + "UpdateSPICECapacityConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateSPICECapacityConfigurationResponse": { + "base": null, + "refs": { + } + }, "UpdateTemplateAliasRequest": { "base": null, "refs": { @@ -12852,8 +12898,8 @@ "base": null, "refs": { "RegisterUserRequest$UserRole": "

The Amazon QuickSight role for the user. The user role can be one of the following:

", - "UpdateUserRequest$Role": "

The Amazon QuickSight role of the user. The role can be one of the following default security cohorts:

The name of the Amazon QuickSight role is invisible to the user except for the console screens dealing with permissions.

", - "User$Role": "

The Amazon QuickSight role for the user. The user role can be one of the following:.

" + "UpdateUserRequest$Role": "

The Amazon QuickSight role of the user. The role can be one of the following default security cohorts:

The name of the Amazon QuickSight role is invisible to the user except for the console screens dealing with permissions.

", + "User$Role": "

The Amazon QuickSight role for the user. The user role can be one of the following:.

" } }, "VPCConnection": { diff --git a/models/apis/route53resolver/2018-04-01/api-2.json b/models/apis/route53resolver/2018-04-01/api-2.json index 98cad62dbe..eaa4b03c13 100644 --- a/models/apis/route53resolver/2018-04-01/api-2.json +++ b/models/apis/route53resolver/2018-04-01/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"route53resolver", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"Route53Resolver", "serviceFullName":"Amazon Route 53 Resolver", "serviceId":"Route53Resolver", @@ -1382,6 +1383,10 @@ "box":true }, "Name":{"shape":"Name"}, + "FirewallDomainRedirectionAction":{ + "shape":"FirewallDomainRedirectionAction", + "box":true + }, "Qtype":{ "shape":"Qtype", "box":true @@ -1795,6 +1800,13 @@ "max":255, "min":1 }, + "FirewallDomainRedirectionAction":{ + "type":"string", + "enum":[ + "INSPECT_REDIRECTION_DOMAIN", + "TRUST_REDIRECTION_DOMAIN" + ] + }, "FirewallDomainUpdateOperation":{ "type":"string", "enum":[ @@ -1830,6 +1842,7 @@ "CreatorRequestId":{"shape":"CreatorRequestId"}, "CreationTime":{"shape":"Rfc3339TimeString"}, "ModificationTime":{"shape":"Rfc3339TimeString"}, + "FirewallDomainRedirectionAction":{"shape":"FirewallDomainRedirectionAction"}, "Qtype":{"shape":"Qtype"} } }, @@ -3354,6 +3367,10 @@ "shape":"Name", "box":true }, + "FirewallDomainRedirectionAction":{ + "shape":"FirewallDomainRedirectionAction", + "box":true + }, "Qtype":{"shape":"Qtype"} } }, diff --git a/models/apis/route53resolver/2018-04-01/docs-2.json b/models/apis/route53resolver/2018-04-01/docs-2.json index c76802eac0..6d28d0364f 100644 --- a/models/apis/route53resolver/2018-04-01/docs-2.json +++ b/models/apis/route53resolver/2018-04-01/docs-2.json @@ -73,7 +73,7 @@ }, "shapes": { "AccessDeniedException": { - "base": "

The current account doesn't have the IAM permissions required to perform the specified Resolver operation.

", + "base": "

The current account doesn't have the IAM permissions required to perform the specified Resolver operation.

This error can also be thrown when a customer has reached the 5120 character limit for a resource policy for CloudWatch Logs.

", "refs": { } }, @@ -549,6 +549,14 @@ "FirewallDomains$member": null } }, + "FirewallDomainRedirectionAction": { + "base": null, + "refs": { + "CreateFirewallRuleRequest$FirewallDomainRedirectionAction": "

How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME, DNAME, ot ALIAS.

Inspect_Redirection_Domain (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the allow domain list.

Trust_Redirection_Domain inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the redirection list to the domain alloww list.

", + "FirewallRule$FirewallDomainRedirectionAction": "

How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME, DNAME, ot ALIAS.

Inspect_Redirection_Domain (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the allow domain list.

Trust_Redirection_Domain inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain alloww list.

", + "UpdateFirewallRuleRequest$FirewallDomainRedirectionAction": "

How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME, DNAME, ot ALIAS.

Inspect_Redirection_Domain (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the allow domain list.

Trust_Redirection_Domain inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain alloww list.

" + } + }, "FirewallDomainUpdateOperation": { "base": null, "refs": { @@ -1300,10 +1308,10 @@ "Qtype": { "base": null, "refs": { - "CreateFirewallRuleRequest$Qtype": "

The DNS query type you want the rule to evaluate. Allowed values are;

", - "DeleteFirewallRuleRequest$Qtype": "

The DNS query type that the rule you are deleting evaluates. Allowed values are;

", - "FirewallRule$Qtype": "

The DNS query type you want the rule to evaluate. Allowed values are;

", - "UpdateFirewallRuleRequest$Qtype": "

The DNS query type you want the rule to evaluate. Allowed values are;

" + "CreateFirewallRuleRequest$Qtype": "

The DNS query type you want the rule to evaluate. Allowed values are;

", + "DeleteFirewallRuleRequest$Qtype": "

The DNS query type that the rule you are deleting evaluates. Allowed values are;

", + "FirewallRule$Qtype": "

The DNS query type you want the rule to evaluate. Allowed values are;

", + "UpdateFirewallRuleRequest$Qtype": "

The DNS query type you want the rule to evaluate. Allowed values are;

" } }, "ResolverAutodefinedReverseStatus": { @@ -1653,7 +1661,7 @@ "SecurityGroupIds": { "base": null, "refs": { - "CreateResolverEndpointRequest$SecurityGroupIds": "

The ID of one or more security groups that you want to use to control access to this VPC. The security group that you specify must include one or more inbound rules (for inbound Resolver endpoints) or outbound rules (for outbound Resolver endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.

", + "CreateResolverEndpointRequest$SecurityGroupIds": "

The ID of one or more security groups that you want to use to control access to this VPC. The security group that you specify must include one or more inbound rules (for inbound Resolver endpoints) or outbound rules (for outbound Resolver endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.

Some security group rules will cause your connection to be tracked. For outbound resolver endpoint, it can potentially impact the maximum queries per second from outbound endpoint to your target name server. For inbound resolver endpoint, it can bring down the overall maximum queries per second per IP address to as low as 1500. To avoid connection tracking caused by security group, see Untracked connections.

", "ResolverEndpoint$SecurityGroupIds": "

The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.

" } }, diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index c5ff76ac2b..d7d2fb9f62 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"api.sagemaker", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"SageMaker", "serviceFullName":"Amazon SageMaker Service", "serviceId":"SageMaker", @@ -7487,7 +7488,8 @@ "Environment":{"shape":"TrainingEnvironmentMap"}, "RetryStrategy":{"shape":"RetryStrategy"}, "RemoteDebugConfig":{"shape":"RemoteDebugConfig"}, - "InfraCheckConfig":{"shape":"InfraCheckConfig"} + "InfraCheckConfig":{"shape":"InfraCheckConfig"}, + "SessionChainingConfig":{"shape":"SessionChainingConfig"} } }, "CreateTrainingJobResponse":{ @@ -11056,6 +11058,7 @@ "members":{ } }, + "EnableSessionTagChaining":{"type":"boolean"}, "Endpoint":{ "type":"structure", "required":[ @@ -18642,6 +18645,14 @@ "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", + "ml.g6.xlarge", + "ml.g6.2xlarge", + "ml.g6.4xlarge", + "ml.g6.8xlarge", + "ml.g6.12xlarge", + "ml.g6.16xlarge", + "ml.g6.24xlarge", + "ml.g6.48xlarge", "ml.p4d.24xlarge", "ml.c7g.large", "ml.c7g.xlarge", @@ -20274,6 +20285,12 @@ "ProvisioningParameters":{"shape":"ProvisioningParameters"} } }, + "SessionChainingConfig":{ + "type":"structure", + "members":{ + "EnableSessionTagChaining":{"shape":"EnableSessionTagChaining"} + } + }, "SessionExpirationDurationInSeconds":{ "type":"integer", "max":43200, diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index 09ee096959..6240ca51b4 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -5136,6 +5136,12 @@ "refs": { } }, + "EnableSessionTagChaining": { + "base": null, + "refs": { + "SessionChainingConfig$EnableSessionTagChaining": "

Set to True to allow SageMaker to extract session tags from a training job creation role and reuse these tags when assuming the training job execution role.

" + } + }, "Endpoint": { "base": "

A hosted endpoint for real-time inference.

", "refs": { @@ -13413,6 +13419,12 @@ "UpdateProjectInput$ServiceCatalogProvisioningUpdateDetails": "

The product ID and provisioning artifact ID to provision a service catalog. The provisioning artifact ID will default to the latest provisioning artifact ID of the product, if you don't provide the provisioning artifact ID. For more information, see What is Amazon Web Services Service Catalog.

" } }, + "SessionChainingConfig": { + "base": "

Contains information about attribute-based access control (ABAC) for a training job.

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

Contains information about attribute-based access control (ABAC) for the training job.

" + } + }, "SessionExpirationDurationInSeconds": { "base": null, "refs": { diff --git a/models/apis/signer/2017-08-25/api-2.json b/models/apis/signer/2017-08-25/api-2.json index baab1f8954..5b6b6e3b10 100644 --- a/models/apis/signer/2017-08-25/api-2.json +++ b/models/apis/signer/2017-08-25/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"signer", "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"signer", "serviceFullName":"AWS Signer", "serviceId":"signer", diff --git a/models/apis/signer/2017-08-25/docs-2.json b/models/apis/signer/2017-08-25/docs-2.json index 2af8413fe9..951d54eb21 100644 --- a/models/apis/signer/2017-08-25/docs-2.json +++ b/models/apis/signer/2017-08-25/docs-2.json @@ -18,7 +18,7 @@ "RevokeSignature": "

Changes the state of a signing job to REVOKED. This indicates that the signature is no longer valid.

", "RevokeSigningProfile": "

Changes the state of a signing profile to REVOKED. This indicates that signatures generated using the signing profile after an effective start date are no longer valid.

", "SignPayload": "

Signs a binary payload and returns a signature envelope.

", - "StartSigningJob": "

Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the ListSigningJobs operation for two years after they are performed. Note the following requirements:

You can call the DescribeSigningJob and the ListSigningJobs actions after you call StartSigningJob.

For a Java example that shows how to use this action, see StartSigningJob.

", + "StartSigningJob": "

Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the ListSigningJobs operation for two years after they are performed. Note the following requirements:

You can call the DescribeSigningJob and the ListSigningJobs actions after you call StartSigningJob.

For a Java example that shows how to use this action, see StartSigningJob.

", "TagResource": "

Adds one or more tags to a signing profile. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. To specify the signing profile, use its Amazon Resource Name (ARN). To specify the tag, use a key-value pair.

", "UntagResource": "

Removes one or more tags from a signing profile. To remove the tags, specify a list of tag keys.

" }, @@ -707,7 +707,7 @@ "String": { "base": null, "refs": { - "AddProfilePermissionRequest$action": "

The AWS Signer action permitted as part of cross-account permissions.

", + "AddProfilePermissionRequest$action": "

For cross-account signing. Grant a designated account permission to perform one or more of the following actions. Each action is associated with a specific API's operations. For more information about cross-account signing, see Using cross-account signing with signing profiles in the AWS Signer Developer Guide.

You can designate the following actions to an account.

", "AddProfilePermissionRequest$principal": "

The AWS principal receiving cross-account permissions. This may be an IAM role or another AWS account ID.

", "AddProfilePermissionRequest$revisionId": "

A unique identifier for the current profile revision.

", "AddProfilePermissionRequest$statementId": "

A unique identifier for the cross-account permission statement.

", diff --git a/service/chimesdkvoice/api.go b/service/chimesdkvoice/api.go index b2a14bb0f2..16913a3902 100644 --- a/service/chimesdkvoice/api.go +++ b/service/chimesdkvoice/api.go @@ -358,7 +358,12 @@ func (c *ChimeSDKVoice) BatchUpdatePhoneNumberRequest(input *BatchUpdatePhoneNum // BatchUpdatePhoneNumber API operation for Amazon Chime SDK Voice. // -// Updates one or more phone numbers. +// Updates phone number product types, calling names, or phone number names. +// You can update one attribute at a time for each UpdatePhoneNumberRequestItem. +// For example, you can update the product type, the calling name, or phone +// name. +// +// You cannot have a duplicate phoneNumberId in a request. // // 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 @@ -3587,7 +3592,12 @@ const opGetSipMediaApplicationAlexaSkillConfiguration = "GetSipMediaApplicationA // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-voice-2022-08-03/GetSipMediaApplicationAlexaSkillConfiguration +// +// Deprecated: Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page(https://developer.amazon.com/en-US/alexa/alexasmartproperties). func (c *ChimeSDKVoice) GetSipMediaApplicationAlexaSkillConfigurationRequest(input *GetSipMediaApplicationAlexaSkillConfigurationInput) (req *request.Request, output *GetSipMediaApplicationAlexaSkillConfigurationOutput) { + if c.Client.Config.Logger != nil { + c.Client.Config.Logger.Log("This operation, GetSipMediaApplicationAlexaSkillConfiguration, has been deprecated") + } op := &request.Operation{ Name: opGetSipMediaApplicationAlexaSkillConfiguration, HTTPMethod: "GET", @@ -3607,6 +3617,10 @@ func (c *ChimeSDKVoice) GetSipMediaApplicationAlexaSkillConfigurationRequest(inp // // Gets the Alexa Skill configuration for the SIP media application. // +// Due to changes made by the Amazon Alexa service, this API is no longer available +// for use. For more information, refer to the Alexa Smart Properties (https://developer.amazon.com/en-US/alexa/alexasmartproperties) +// page. +// // 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. @@ -3638,6 +3652,8 @@ func (c *ChimeSDKVoice) GetSipMediaApplicationAlexaSkillConfigurationRequest(inp // The service encountered an unexpected error. // // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-voice-2022-08-03/GetSipMediaApplicationAlexaSkillConfiguration +// +// Deprecated: Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page(https://developer.amazon.com/en-US/alexa/alexasmartproperties). func (c *ChimeSDKVoice) GetSipMediaApplicationAlexaSkillConfiguration(input *GetSipMediaApplicationAlexaSkillConfigurationInput) (*GetSipMediaApplicationAlexaSkillConfigurationOutput, error) { req, out := c.GetSipMediaApplicationAlexaSkillConfigurationRequest(input) return out, req.Send() @@ -3652,6 +3668,8 @@ func (c *ChimeSDKVoice) GetSipMediaApplicationAlexaSkillConfiguration(input *Get // 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. +// +// Deprecated: Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page(https://developer.amazon.com/en-US/alexa/alexasmartproperties). func (c *ChimeSDKVoice) GetSipMediaApplicationAlexaSkillConfigurationWithContext(ctx aws.Context, input *GetSipMediaApplicationAlexaSkillConfigurationInput, opts ...request.Option) (*GetSipMediaApplicationAlexaSkillConfigurationOutput, error) { req, out := c.GetSipMediaApplicationAlexaSkillConfigurationRequest(input) req.SetContext(ctx) @@ -6925,7 +6943,12 @@ const opPutSipMediaApplicationAlexaSkillConfiguration = "PutSipMediaApplicationA // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-voice-2022-08-03/PutSipMediaApplicationAlexaSkillConfiguration +// +// Deprecated: Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page(https://developer.amazon.com/en-US/alexa/alexasmartproperties). func (c *ChimeSDKVoice) PutSipMediaApplicationAlexaSkillConfigurationRequest(input *PutSipMediaApplicationAlexaSkillConfigurationInput) (req *request.Request, output *PutSipMediaApplicationAlexaSkillConfigurationOutput) { + if c.Client.Config.Logger != nil { + c.Client.Config.Logger.Log("This operation, PutSipMediaApplicationAlexaSkillConfiguration, has been deprecated") + } op := &request.Operation{ Name: opPutSipMediaApplicationAlexaSkillConfiguration, HTTPMethod: "PUT", @@ -6945,6 +6968,10 @@ func (c *ChimeSDKVoice) PutSipMediaApplicationAlexaSkillConfigurationRequest(inp // // Updates the Alexa Skill configuration for the SIP media application. // +// Due to changes made by the Amazon Alexa service, this API is no longer available +// for use. For more information, refer to the Alexa Smart Properties (https://developer.amazon.com/en-US/alexa/alexasmartproperties) +// page. +// // 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. @@ -6976,6 +7003,8 @@ func (c *ChimeSDKVoice) PutSipMediaApplicationAlexaSkillConfigurationRequest(inp // The service encountered an unexpected error. // // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-voice-2022-08-03/PutSipMediaApplicationAlexaSkillConfiguration +// +// Deprecated: Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page(https://developer.amazon.com/en-US/alexa/alexasmartproperties). func (c *ChimeSDKVoice) PutSipMediaApplicationAlexaSkillConfiguration(input *PutSipMediaApplicationAlexaSkillConfigurationInput) (*PutSipMediaApplicationAlexaSkillConfigurationOutput, error) { req, out := c.PutSipMediaApplicationAlexaSkillConfigurationRequest(input) return out, req.Send() @@ -6990,6 +7019,8 @@ func (c *ChimeSDKVoice) PutSipMediaApplicationAlexaSkillConfiguration(input *Put // 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. +// +// Deprecated: Due to changes made by the Amazon Alexa service, this API is no longer available for use. For more information, refer to the Alexa Smart Properties page(https://developer.amazon.com/en-US/alexa/alexasmartproperties). func (c *ChimeSDKVoice) PutSipMediaApplicationAlexaSkillConfigurationWithContext(ctx aws.Context, input *PutSipMediaApplicationAlexaSkillConfigurationInput, opts ...request.Option) (*PutSipMediaApplicationAlexaSkillConfigurationOutput, error) { req, out := c.PutSipMediaApplicationAlexaSkillConfigurationRequest(input) req.SetContext(ctx) @@ -8819,10 +8850,10 @@ func (c *ChimeSDKVoice) UpdatePhoneNumberRequest(input *UpdatePhoneNumberInput) // UpdatePhoneNumber API operation for Amazon Chime SDK Voice. // -// Updates phone number details, such as product type or calling name, for the -// specified phone number ID. You can update one phone number detail at a time. -// For example, you can update either the product type or the calling name in -// one action. +// Updates phone number details, such as product type, calling name, or phone +// number name for the specified phone number ID. You can update one phone number +// detail at a time. For example, you can update either the product type, calling +// name, or phone number name in one action. // // For numbers outside the U.S., you must use the Amazon Chime SDK SIP Media // Application Dial-In product type. @@ -19119,6 +19150,10 @@ func (s *SipMediaApplication) SetUpdatedTimestamp(v time.Time) *SipMediaApplicat } // The Alexa Skill configuration of a SIP media application. +// +// Due to changes made by the Amazon Alexa service, this data type is no longer +// available for use. For more information, refer to the Alexa Smart Properties +// (https://developer.amazon.com/en-US/alexa/alexasmartproperties) page. type SipMediaApplicationAlexaSkillConfiguration struct { _ struct{} `type:"structure"` @@ -20830,7 +20865,7 @@ type UpdatePhoneNumberInput struct { // String and GoString methods. CallingName *string `type:"string" sensitive:"true"` - // Specifies the name assigned to one or more phone numbers. + // Specifies the updated name assigned to one or more phone numbers. // // Name is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by UpdatePhoneNumberInput's diff --git a/service/codeartifact/api.go b/service/codeartifact/api.go index c20977dbb9..a85ec4d739 100644 --- a/service/codeartifact/api.go +++ b/service/codeartifact/api.go @@ -2460,6 +2460,8 @@ func (c *CodeArtifact) GetRepositoryEndpointRequest(input *GetRepositoryEndpoint // // - pypi // +// - ruby +// // - swift // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5614,8 +5616,8 @@ type AssociatedPackage struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The name of the associated package. @@ -5785,8 +5787,8 @@ type CopyPackageVersionsInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package that contains the versions to be copied. @@ -6768,8 +6770,8 @@ type DeletePackageInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package to delete. @@ -6943,8 +6945,8 @@ type DeletePackageVersionsInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package with the versions to delete. @@ -7598,8 +7600,8 @@ type DescribePackageInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the requested package. @@ -7774,8 +7776,8 @@ type DescribePackageVersionInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the requested package version. @@ -8207,8 +8209,8 @@ type DisposePackageVersionsInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package with the versions you want to dispose. @@ -8670,8 +8672,8 @@ type GetAssociatedPackageGroupInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The package from which to get the associated package group. @@ -9050,8 +9052,8 @@ type GetPackageVersionAssetInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package that contains the requested asset. @@ -9292,8 +9294,8 @@ type GetPackageVersionReadmeInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package version that contains the requested readme file. @@ -9430,8 +9432,8 @@ type GetPackageVersionReadmeOutput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The name of the package that contains the returned readme file. @@ -10437,8 +10439,8 @@ type ListPackageVersionAssetsInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous @@ -10603,8 +10605,8 @@ type ListPackageVersionAssetsOutput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // If there are additional results, this is the token for the next set of results. @@ -10716,8 +10718,8 @@ type ListPackageVersionDependenciesInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous @@ -10873,8 +10875,8 @@ type ListPackageVersionDependenciesOutput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous @@ -10991,8 +10993,8 @@ type ListPackageVersionsInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous @@ -11172,8 +11174,8 @@ type ListPackageVersionsOutput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // If there are additional results, this is the token for the next set of results. @@ -11274,8 +11276,8 @@ type ListPackagesInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous @@ -11975,8 +11977,8 @@ type PackageDependency struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The name of the package that this package depends on. @@ -12049,8 +12051,8 @@ type PackageDescription struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The package origin configuration for the package. @@ -12627,8 +12629,8 @@ type PackageSummary struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // A PackageOriginConfiguration (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageOriginConfiguration.html) @@ -12711,8 +12713,8 @@ type PackageVersionDescription struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // A PackageVersionOrigin (https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PackageVersionOrigin.html) @@ -13460,8 +13462,8 @@ type PutPackageOriginConfigurationInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package to be updated. @@ -14913,8 +14915,8 @@ type UpdatePackageVersionsStatusInput struct { // // * The namespace of a generic package is its namespace. // - // * Python and NuGet package versions do not contain a corresponding component, - // package versions of those formats do not have a namespace. + // * Python, NuGet, and Ruby package versions do not contain a corresponding + // component, package versions of those formats do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package with the version statuses to update. @@ -15500,6 +15502,9 @@ const ( // PackageFormatGeneric is a PackageFormat enum value PackageFormatGeneric = "generic" + // PackageFormatRuby is a PackageFormat enum value + PackageFormatRuby = "ruby" + // PackageFormatSwift is a PackageFormat enum value PackageFormatSwift = "swift" ) @@ -15512,6 +15517,7 @@ func PackageFormat_Values() []string { PackageFormatMaven, PackageFormatNuget, PackageFormatGeneric, + PackageFormatRuby, PackageFormatSwift, } } diff --git a/service/codeartifact/doc.go b/service/codeartifact/doc.go index e9afed3a0b..a8c2c10cf3 100644 --- a/service/codeartifact/doc.go +++ b/service/codeartifact/doc.go @@ -18,8 +18,8 @@ // each of which maps to a set of assets, or files. Repositories are polyglot, // so a single repository can contain packages of any supported type. Each // repository exposes endpoints for fetching and publishing packages using -// tools like the npm CLI, the Maven CLI ( mvn ), Python CLIs ( pip and twine), -// NuGet CLIs (nuget and dotnet), and the Swift package manager ( swift ). +// tools such as the npm CLI or the Maven CLI ( mvn ). For a list of supported +// package managers, see the CodeArtifact User Guide (https://docs.aws.amazon.com/codeartifact/latest/ug/welcome.html). // // - Domain: Repositories are aggregated into a higher-level entity known // as a domain. All package assets and metadata are stored in the domain, @@ -37,16 +37,13 @@ // // - Package: A package is a bundle of software and the metadata required // to resolve dependencies and install the software. CodeArtifact supports -// npm (https://docs.aws.amazon.com/codeartifact/latest/ug/using-npm.html), -// PyPI (https://docs.aws.amazon.com/codeartifact/latest/ug/using-python.html), -// Maven (https://docs.aws.amazon.com/codeartifact/latest/ug/using-maven), -// NuGet (https://docs.aws.amazon.com/codeartifact/latest/ug/using-nuget), -// Swift (https://docs.aws.amazon.com/codeartifact/latest/ug/using-swift), -// and generic (https://docs.aws.amazon.com/codeartifact/latest/ug/using-generic) -// package formats. In CodeArtifact, a package consists of: A name (for example, -// webpack is the name of a popular npm package) An optional namespace (for -// example, @types in @types/node) A set of versions (for example, 1.0.0, -// 1.0.1, 1.0.2, etc.) Package-level metadata (for example, npm tags) +// npm, PyPI, Maven, NuGet, Swift, Ruby, and generic package formats. For +// more information about the supported package formats and how to use CodeArtifact +// with them, see the CodeArtifact User Guide (https://docs.aws.amazon.com/codeartifact/latest/ug/welcome.html). +// In CodeArtifact, a package consists of: A name (for example, webpack is +// the name of a popular npm package) An optional namespace (for example, +// @types in @types/node) A set of versions (for example, 1.0.0, 1.0.1, 1.0.2, +// etc.) Package-level metadata (for example, npm tags) // // - Package group: A group of packages that match a specified definition. // Package groups can be used to apply configuration to multiple packages @@ -148,7 +145,7 @@ // // - GetRepositoryEndpoint: Returns the endpoint of a repository for a specific // package format. A repository has one endpoint for each package format: -// generic maven npm nuget pypi swift +// generic maven npm nuget pypi ruby swift // // - GetRepositoryPermissionsPolicy: Returns the resource policy that is // set on a repository. diff --git a/service/fms/api.go b/service/fms/api.go index d974c5c22c..4c3c52210f 100644 --- a/service/fms/api.go +++ b/service/fms/api.go @@ -10654,6 +10654,9 @@ type NetworkAclEntrySet struct { // Provide these in the order in which you want them to run. Firewall Manager // will assign the specific rule numbers for you, in the network ACLs that it // creates. + // + // You must specify at least one first entry or one last entry in any network + // ACL policy. FirstEntries []*NetworkAclEntry `type:"list"` // Applies only when remediation is enabled for the policy as a whole. Firewall @@ -10688,6 +10691,9 @@ type NetworkAclEntrySet struct { // Provide these in the order in which you want them to run. Firewall Manager // will assign the specific rule numbers for you, in the network ACLs that it // creates. + // + // You must specify at least one first entry or one last entry in any network + // ACL policy. LastEntries []*NetworkAclEntry `type:"list"` } @@ -15116,12 +15122,44 @@ type StatefulEngineOptions struct { _ struct{} `type:"structure"` // Indicates how to manage the order of stateful rule evaluation for the policy. - // DEFAULT_ACTION_ORDER is the default behavior. Stateful rules are provided - // to the rule engine as Suricata compatible strings, and Suricata evaluates - // them based on certain settings. For more information, see Evaluation order - // for stateful rules (https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html) + // Stateful rules are provided to the rule engine as Suricata compatible strings, + // and Suricata evaluates them based on certain settings. For more information, + // see Evaluation order for stateful rules (https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html) // in the Network Firewall Developer Guide. + // + // Default: DEFAULT_ACTION_ORDER RuleOrder *string `type:"string" enum:"RuleOrder"` + + // Indicates how Network Firewall should handle traffic when a network connection + // breaks midstream. + // + // * DROP - Fail closed and drop all subsequent traffic going to the firewall. + // + // * CONTINUE - Continue to apply rules to subsequent traffic without context + // from traffic before the break. This impacts the behavior of rules that + // depend on context. For example, with a stateful rule that drops HTTP traffic, + // Network Firewall won't match subsequent traffic because the it won't have + // the context from session initialization, which defines the application + // layer protocol as HTTP. However, a TCP-layer rule using a flow:stateless + // rule would still match, and so would the aws:drop_strict default action. + // + // * REJECT - Fail closed and drop all subsequent traffic going to the firewall. + // With this option, Network Firewall also sends a TCP reject packet back + // to the client so the client can immediately establish a new session. With + // the new session, Network Firewall will have context and will apply rules + // appropriately. For applications that are reliant on long-lived TCP connections + // that trigger Gateway Load Balancer idle timeouts, this is the recommended + // setting. + // + // * FMS_IGNORE - Firewall Manager doesn't monitor or modify the Network + // Firewall stream exception policy settings. + // + // For more information, see Stream exception policy in your firewall policy + // (https://docs.aws.amazon.com/network-firewall/latest/developerguide/stream-exception-policy.html) + // in the Network Firewall Developer Guide. + // + // Default: FMS_IGNORE + StreamExceptionPolicy *string `type:"string" enum:"StreamExceptionPolicy"` } // String returns the string representation. @@ -15148,6 +15186,12 @@ func (s *StatefulEngineOptions) SetRuleOrder(v string) *StatefulEngineOptions { return s } +// SetStreamExceptionPolicy sets the StreamExceptionPolicy field's value. +func (s *StatefulEngineOptions) SetStreamExceptionPolicy(v string) *StatefulEngineOptions { + s.StreamExceptionPolicy = &v + return s +} + // Network Firewall stateful rule group, used in a NetworkFirewallPolicyDescription. type StatefulRuleGroup struct { _ struct{} `type:"structure"` @@ -16268,6 +16312,30 @@ func SecurityServiceType_Values() []string { } } +const ( + // StreamExceptionPolicyDrop is a StreamExceptionPolicy enum value + StreamExceptionPolicyDrop = "DROP" + + // StreamExceptionPolicyContinue is a StreamExceptionPolicy enum value + StreamExceptionPolicyContinue = "CONTINUE" + + // StreamExceptionPolicyReject is a StreamExceptionPolicy enum value + StreamExceptionPolicyReject = "REJECT" + + // StreamExceptionPolicyFmsIgnore is a StreamExceptionPolicy enum value + StreamExceptionPolicyFmsIgnore = "FMS_IGNORE" +) + +// StreamExceptionPolicy_Values returns all elements of the StreamExceptionPolicy enum +func StreamExceptionPolicy_Values() []string { + return []string{ + StreamExceptionPolicyDrop, + StreamExceptionPolicyContinue, + StreamExceptionPolicyReject, + StreamExceptionPolicyFmsIgnore, + } +} + const ( // TargetTypeGateway is a TargetType enum value TargetTypeGateway = "GATEWAY" diff --git a/service/omics/api.go b/service/omics/api.go index 2db8ea4c82..dc59f04435 100644 --- a/service/omics/api.go +++ b/service/omics/api.go @@ -163,7 +163,7 @@ func (c *Omics) AcceptShareRequest(input *AcceptShareInput) (req *request.Reques // AcceptShare API operation for Amazon Omics. // -// Accepts a share for an analytics store. +// Accept a resource share request. // // 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 @@ -1345,8 +1345,17 @@ func (c *Omics) CreateShareRequest(input *CreateShareInput) (req *request.Reques // CreateShare API operation for Amazon Omics. // -// Creates a share offer that can be accepted outside the account by a subscriber. -// The share is created by the owner and accepted by the principal subscriber. +// Creates a cross-account shared resource. The resource owner makes an offer +// to share the resource with the principal subscriber (an AWS user with a different +// account than the resource owner). +// +// The following resources support cross-account sharing: +// +// - Healthomics variant stores +// +// - Healthomics annotation stores +// +// - Private workflows // // 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 @@ -2344,7 +2353,9 @@ func (c *Omics) DeleteShareRequest(input *DeleteShareInput) (req *request.Reques // DeleteShare API operation for Amazon Omics. // -// Deletes a share of an analytics store. +// Deletes a resource share. If you are the resource owner, the subscriber will +// no longer have access to the shared resource. If you are the subscriber, +// this operation deletes your access to the share. // // 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 @@ -3796,6 +3807,9 @@ func (c *Omics) GetRunRequest(input *GetRunInput) (req *request.Request, output // // Gets information about a workflow run. // +// If a workflow is shared with you, you cannot export information about the +// run. +// // 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. @@ -4196,7 +4210,7 @@ func (c *Omics) GetShareRequest(input *GetShareInput) (req *request.Request, out // GetShare API operation for Amazon Omics. // -// Retrieves the metadata for a share. +// Retrieves the metadata for the specified resource share. // // 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 @@ -4483,6 +4497,8 @@ func (c *Omics) GetWorkflowRequest(input *GetWorkflowInput) (req *request.Reques // // Gets information about a workflow. // +// If a workflow is shared with you, you cannot export the workflow. +// // 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. @@ -7055,7 +7071,8 @@ func (c *Omics) ListSharesRequest(input *ListSharesInput) (req *request.Request, // ListShares API operation for Amazon Omics. // -// Lists all shares associated with an account. +// Retrieves the resource shares associated with an account. Use the filter +// parameter to retrieve a specific subset of the shares. // // 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 @@ -8262,11 +8279,20 @@ func (c *Omics) StartRunRequest(input *StartRunInput) (req *request.Request, out // Starts a workflow run. To duplicate a run, specify the run's ID and a role // ARN. The remaining parameters are copied from the previous run. // +// StartRun will not support re-run for a workflow that is shared with you. +// // The total number of runs in your account is subject to a quota per Region. // To avoid needing to delete runs manually, you can set the retention mode // to REMOVE. Runs with this setting are deleted automatically when the run // quoata is exceeded. // +// By default, the run uses STATIC storage. For STATIC storage, set the storageCapacity +// field. You can set the storage type to DYNAMIC. You do not set storageCapacity, +// because HealthOmics dynamically scales the storage up or down as required. +// For more information about static and dynamic storage, see Running workflows +// (https://docs.aws.amazon.com/omics/latest/dev/Using-workflows.html) in the +// AWS HealthOmics 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. @@ -9307,7 +9333,7 @@ func (s AbortMultipartReadSetUploadOutput) GoString() string { type AcceptShareInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID for a share offer for analytics store data. + // The ID of the resource share. // // ShareId is a required field ShareId *string `location:"uri" locationName:"shareId" type:"string" required:"true"` @@ -9356,7 +9382,7 @@ func (s *AcceptShareInput) SetShareId(v string) *AcceptShareInput { type AcceptShareOutput struct { _ struct{} `type:"structure"` - // The status of an analytics store share. + // The status of the resource share. Status *string `locationName:"status" type:"string" enum:"ShareStatus"` } @@ -12028,18 +12054,18 @@ func (s *CreateSequenceStoreOutput) SetSseConfig(v *SseConfig) *CreateSequenceSt type CreateShareInput struct { _ struct{} `type:"structure"` - // The principal subscriber is the account being given access to the analytics - // store data through the share offer. + // The principal subscriber is the account being offered shared access to the + // resource. // // PrincipalSubscriber is a required field PrincipalSubscriber *string `locationName:"principalSubscriber" type:"string" required:"true"` - // The resource ARN for the analytics store to be shared. + // The ARN of the resource to be shared. // // ResourceArn is a required field ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` - // A name given to the share. + // A name that the owner defines for the share. ShareName *string `locationName:"shareName" min:"1" type:"string"` } @@ -12101,13 +12127,13 @@ func (s *CreateShareInput) SetShareName(v string) *CreateShareInput { type CreateShareOutput struct { _ struct{} `type:"structure"` - // An ID generated for the share. + // The ID that HealthOmics generates for the share. ShareId *string `locationName:"shareId" type:"string"` - // A name given to the share. + // The name of the share. ShareName *string `locationName:"shareName" min:"1" type:"string"` - // The status of a share. + // The status of the share. Status *string `locationName:"status" type:"string" enum:"ShareStatus"` } @@ -12349,7 +12375,7 @@ type CreateWorkflowInput struct { // each request. RequestId *string `locationName:"requestId" min:"1" type:"string" idempotencyToken:"true"` - // A storage capacity for the workflow in gibibytes. + // The storage capacity for the workflow in gibibytes. StorageCapacity *int64 `locationName:"storageCapacity" type:"integer"` // Tags for the workflow. @@ -13104,7 +13130,7 @@ func (s DeleteSequenceStoreOutput) GoString() string { type DeleteShareInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ID for the share request to be deleted. + // The ID for the resource share to be deleted. // // ShareId is a required field ShareId *string `location:"uri" locationName:"shareId" type:"string" required:"true"` @@ -13693,16 +13719,21 @@ func (s *FileInformation) SetTotalParts(v int64) *FileInformation { return s } -// Use filters to focus the returned annotation store versions on a specific -// parameter, such as the status of the annotation store. +// Use filters to return a subset of resources. You can define filters for specific +// parameters, such as the resource status. type Filter struct { _ struct{} `type:"structure"` - // The Amazon Resource Number (Arn) for an analytics store. + // Filter based on the Amazon Resource Number (ARN) of the resource. You can + // specify up to 10 values. ResourceArns []*string `locationName:"resourceArns" min:"1" type:"list"` - // The status of an annotation store version. - Status []*string `locationName:"status" type:"list" enum:"ShareStatus"` + // Filter based on the resource status. You can specify up to 10 values. + Status []*string `locationName:"status" min:"1" type:"list" enum:"ShareStatus"` + + // The type of resources to be filtered. You can specify one or more of the + // resource types. + Type []*string `locationName:"type" min:"1" type:"list" enum:"ShareResourceType"` } // String returns the string representation. @@ -13729,6 +13760,12 @@ func (s *Filter) Validate() error { if s.ResourceArns != nil && len(s.ResourceArns) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArns", 1)) } + if s.Status != nil && len(s.Status) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Status", 1)) + } + if s.Type != nil && len(s.Type) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Type", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -13748,6 +13785,12 @@ func (s *Filter) SetStatus(v []*string) *Filter { return s } +// SetType sets the Type field's value. +func (s *Filter) SetType(v []*string) *Filter { + s.Type = v + return s +} + // Formatting options for a file. type FormatOptions struct { _ struct{} `type:"structure"` @@ -16257,9 +16300,14 @@ type GetRunOutput struct { // The run's stop time. StopTime *time.Time `locationName:"stopTime" type:"timestamp" timestampFormat:"iso8601"` - // The run's storage capacity in gigabytes. + // The run's storage capacity in gibibytes. For dynamic storage, after the run + // has completed, this value is the maximum amount of storage used during the + // run. StorageCapacity *int64 `locationName:"storageCapacity" type:"integer"` + // The run's storage type. + StorageType *string `locationName:"storageType" min:"1" type:"string" enum:"StorageType"` + // The run's tags. Tags map[string]*string `locationName:"tags" type:"map"` @@ -16269,6 +16317,9 @@ type GetRunOutput struct { // The run's workflow ID. WorkflowId *string `locationName:"workflowId" min:"1" type:"string"` + // The ID of the workflow owner. + WorkflowOwnerId *string `locationName:"workflowOwnerId" type:"string"` + // The run's workflow type. WorkflowType *string `locationName:"workflowType" min:"1" type:"string" enum:"WorkflowType"` } @@ -16435,6 +16486,12 @@ func (s *GetRunOutput) SetStorageCapacity(v int64) *GetRunOutput { return s } +// SetStorageType sets the StorageType field's value. +func (s *GetRunOutput) SetStorageType(v string) *GetRunOutput { + s.StorageType = &v + return s +} + // SetTags sets the Tags field's value. func (s *GetRunOutput) SetTags(v map[string]*string) *GetRunOutput { s.Tags = v @@ -16453,6 +16510,12 @@ func (s *GetRunOutput) SetWorkflowId(v string) *GetRunOutput { return s } +// SetWorkflowOwnerId sets the WorkflowOwnerId field's value. +func (s *GetRunOutput) SetWorkflowOwnerId(v string) *GetRunOutput { + s.WorkflowOwnerId = &v + return s +} + // SetWorkflowType sets the WorkflowType field's value. func (s *GetRunOutput) SetWorkflowType(v string) *GetRunOutput { s.WorkflowType = &v @@ -16826,7 +16889,7 @@ func (s *GetSequenceStoreOutput) SetSseConfig(v *SseConfig) *GetSequenceStoreOut type GetShareInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The generated ID for a share. + // The ID of the share. // // ShareId is a required field ShareId *string `location:"uri" locationName:"shareId" type:"string" required:"true"` @@ -16875,8 +16938,8 @@ func (s *GetShareInput) SetShareId(v string) *GetShareInput { type GetShareOutput struct { _ struct{} `type:"structure"` - // An analytic store share details object. contains status, resourceArn, ownerId, - // etc. + // A resource share details object. The object includes the status, the resourceArn, + // and ownerId. Share *ShareDetails `locationName:"share" type:"structure"` } @@ -17308,6 +17371,9 @@ type GetWorkflowInput struct { // The workflow's type. Type *string `location:"querystring" locationName:"type" min:"1" type:"string" enum:"WorkflowType"` + + // The ID of the workflow owner. + WorkflowOwnerId *string `location:"querystring" locationName:"workflowOwnerId" type:"string"` } // String returns the string representation. @@ -17365,6 +17431,12 @@ func (s *GetWorkflowInput) SetType(v string) *GetWorkflowInput { return s } +// SetWorkflowOwnerId sets the WorkflowOwnerId field's value. +func (s *GetWorkflowInput) SetWorkflowOwnerId(v string) *GetWorkflowInput { + s.WorkflowOwnerId = &v + return s +} + type GetWorkflowOutput struct { _ struct{} `type:"structure"` @@ -17410,7 +17482,7 @@ type GetWorkflowOutput struct { // The workflow's status message. StatusMessage *string `locationName:"statusMessage" type:"string"` - // The workflow's storage capacity in gigabytes. + // The workflow's storage capacity in gibibytes. StorageCapacity *int64 `locationName:"storageCapacity" type:"integer"` // The workflow's tags. @@ -20176,7 +20248,7 @@ func (s *ListSequenceStoresOutput) SetSequenceStores(v []*SequenceStoreDetail) * type ListSharesInput struct { _ struct{} `type:"structure"` - // Attributes used to filter for a specific subset of shares. + // Attributes that you use to filter for a specific subset of resource shares. Filter *Filter `locationName:"filter" type:"structure"` // The maximum number of shares to return in one page of results. @@ -20186,7 +20258,7 @@ type ListSharesInput struct { // call. Used to get the next page of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - // The account that owns the analytics store shared. + // The account that owns the resource shares. // // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"` @@ -20259,7 +20331,7 @@ type ListSharesOutput struct { // Used to get the next page of results. NextToken *string `locationName:"nextToken" type:"string"` - // The shares available and their meta details. + // The shares available and their metadata details. // // Shares is a required field Shares []*ShareDetails `locationName:"shares" type:"list" required:"true"` @@ -20692,14 +20764,14 @@ type ListWorkflowsInput struct { // The maximum number of workflows to return in one page of results. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The workflows' name. + // Filter the list by workflow name. Name *string `location:"querystring" locationName:"name" min:"1" type:"string"` // Specify the pagination token from a previous request to retrieve the next // page of results. StartingToken *string `location:"querystring" locationName:"startingToken" min:"1" type:"string"` - // The workflows' type. + // Filter the list by workflow type. Type *string `location:"querystring" locationName:"type" min:"1" type:"string" enum:"WorkflowType"` } @@ -20770,7 +20842,7 @@ func (s *ListWorkflowsInput) SetType(v string) *ListWorkflowsInput { type ListWorkflowsOutput struct { _ struct{} `type:"structure"` - // The workflows' items. + // A list of workflow items. Items []*WorkflowListItem `locationName:"items" type:"list"` // A pagination token that's included if more results are available. @@ -22444,9 +22516,14 @@ type RunListItem struct { // When the run stopped. StopTime *time.Time `locationName:"stopTime" type:"timestamp" timestampFormat:"iso8601"` - // The run's storage capacity. + // The run's storage capacity in gibibytes. For dynamic storage, after the run + // has completed, this value is the maximum amount of storage used during the + // run. StorageCapacity *int64 `locationName:"storageCapacity" type:"integer"` + // The run's storage type. + StorageType *string `locationName:"storageType" min:"1" type:"string" enum:"StorageType"` + // The run's workflow ID. WorkflowId *string `locationName:"workflowId" min:"1" type:"string"` } @@ -22523,6 +22600,12 @@ func (s *RunListItem) SetStorageCapacity(v int64) *RunListItem { return s } +// SetStorageType sets the StorageType field's value. +func (s *RunListItem) SetStorageType(v string) *RunListItem { + s.StorageType = &v + return s +} + // SetWorkflowId sets the WorkflowId field's value. func (s *RunListItem) SetWorkflowId(v string) *RunListItem { s.WorkflowId = &v @@ -22899,37 +22982,39 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } -// The details of a share. +// The details of a resource share. type ShareDetails struct { _ struct{} `type:"structure"` - // The timestamp for when the share was created. + // The timestamp of when the resource share was created. CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` - // The account ID for the data owner. The owner creates the share offer. + // The account ID for the data owner. The owner creates the resource share. OwnerId *string `locationName:"ownerId" type:"string"` - // The principal subscriber is the account the analytics store data is being - // shared with. + // The principal subscriber is the account that is sharing the resource. PrincipalSubscriber *string `locationName:"principalSubscriber" type:"string"` - // The resource Arn of the analytics store being shared. + // The Arn of the shared resource. ResourceArn *string `locationName:"resourceArn" type:"string"` - // The ID for a share offer for an analytics store . + // The ID of the shared resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The ID of the resource share. ShareId *string `locationName:"shareId" type:"string"` - // The name of the share. + // The name of the resource share. ShareName *string `locationName:"shareName" min:"1" type:"string"` - // The status of a share. + // The status of the share. Status *string `locationName:"status" type:"string" enum:"ShareStatus"` - // The status message for a share. It provides more details on the status of - // the share. + // The status message for a resource share. It provides additional details about + // the share status. StatusMessage *string `locationName:"statusMessage" type:"string"` - // The timestamp of the share update. + // The timestamp of the resource share update. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"` } @@ -22975,6 +23060,12 @@ func (s *ShareDetails) SetResourceArn(v string) *ShareDetails { return s } +// SetResourceId sets the ResourceId field's value. +func (s *ShareDetails) SetResourceId(v string) *ShareDetails { + s.ResourceId = &v + return s +} + // SetShareId sets the ShareId field's value. func (s *ShareDetails) SetShareId(v string) *ShareDetails { s.ShareId = &v @@ -24333,15 +24424,25 @@ type StartRunInput struct { // The ID of a run to duplicate. RunId *string `locationName:"runId" min:"1" type:"string"` - // A storage capacity for the run in gibibytes. + // A storage capacity for the run in gibibytes. This field is not required if + // the storage type is dynamic (the system ignores any value that you enter). StorageCapacity *int64 `locationName:"storageCapacity" type:"integer"` + // The run's storage type. By default, the run uses STATIC storage type, which + // allocates a fixed amount of storage. If you set the storage type to DYNAMIC, + // HealthOmics dynamically scales the storage up or down, based on file system + // utilization. + StorageType *string `locationName:"storageType" min:"1" type:"string" enum:"StorageType"` + // Tags for the run. Tags map[string]*string `locationName:"tags" type:"map"` // The run's workflow ID. WorkflowId *string `locationName:"workflowId" min:"1" type:"string"` + // The ID of the workflow owner. + WorkflowOwnerId *string `locationName:"workflowOwnerId" type:"string"` + // The run's workflow type. WorkflowType *string `locationName:"workflowType" min:"1" type:"string" enum:"WorkflowType"` } @@ -24394,6 +24495,9 @@ func (s *StartRunInput) Validate() error { if s.RunId != nil && len(*s.RunId) < 1 { invalidParams.Add(request.NewErrParamMinLen("RunId", 1)) } + if s.StorageType != nil && len(*s.StorageType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StorageType", 1)) + } if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) } @@ -24467,6 +24571,12 @@ func (s *StartRunInput) SetStorageCapacity(v int64) *StartRunInput { return s } +// SetStorageType sets the StorageType field's value. +func (s *StartRunInput) SetStorageType(v string) *StartRunInput { + s.StorageType = &v + return s +} + // SetTags sets the Tags field's value. func (s *StartRunInput) SetTags(v map[string]*string) *StartRunInput { s.Tags = v @@ -24479,6 +24589,12 @@ func (s *StartRunInput) SetWorkflowId(v string) *StartRunInput { return s } +// SetWorkflowOwnerId sets the WorkflowOwnerId field's value. +func (s *StartRunInput) SetWorkflowOwnerId(v string) *StartRunInput { + s.WorkflowOwnerId = &v + return s +} + // SetWorkflowType sets the WorkflowType field's value. func (s *StartRunInput) SetWorkflowType(v string) *StartRunInput { s.WorkflowType = &v @@ -27576,6 +27692,26 @@ func SchemaValueType_Values() []string { } } +const ( + // ShareResourceTypeVariantStore is a ShareResourceType enum value + ShareResourceTypeVariantStore = "VARIANT_STORE" + + // ShareResourceTypeAnnotationStore is a ShareResourceType enum value + ShareResourceTypeAnnotationStore = "ANNOTATION_STORE" + + // ShareResourceTypeWorkflow is a ShareResourceType enum value + ShareResourceTypeWorkflow = "WORKFLOW" +) + +// ShareResourceType_Values returns all elements of the ShareResourceType enum +func ShareResourceType_Values() []string { + return []string{ + ShareResourceTypeVariantStore, + ShareResourceTypeAnnotationStore, + ShareResourceTypeWorkflow, + } +} + const ( // ShareStatusPending is a ShareStatus enum value ShareStatusPending = "PENDING" @@ -27608,6 +27744,22 @@ func ShareStatus_Values() []string { } } +const ( + // StorageTypeStatic is a StorageType enum value + StorageTypeStatic = "STATIC" + + // StorageTypeDynamic is a StorageType enum value + StorageTypeDynamic = "DYNAMIC" +) + +// StorageType_Values returns all elements of the StorageType enum +func StorageType_Values() []string { + return []string{ + StorageTypeStatic, + StorageTypeDynamic, + } +} + const ( // StoreFormatGff is a StoreFormat enum value StoreFormatGff = "GFF" diff --git a/service/opensearchservice/api.go b/service/opensearchservice/api.go index 77c47f9034..eb7c635819 100644 --- a/service/opensearchservice/api.go +++ b/service/opensearchservice/api.go @@ -13514,6 +13514,9 @@ type DomainStatus struct { // for all traffic. DomainEndpointOptions *DomainEndpointOptions `type:"structure"` + // The DualStack Hosted Zone Id for the domain. + DomainEndpointV2HostedZoneId *string `type:"string"` + // Unique identifier for the domain. // // DomainId is a required field @@ -13545,7 +13548,11 @@ type DomainStatus struct { EndpointV2 *string `type:"string"` // The key-value pair that exists if the OpenSearch Service domain uses VPC - // endpoints. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'. + // endpoints. For example: + // + // * IPv4 IP addresses - 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com' + // + // * Dual stack IP addresses - 'vpcv2':'vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.aos.us-east-1.on.aws' Endpoints map[string]*string `type:"map"` // Version of OpenSearch or Elasticsearch that the domain is running, in the @@ -13675,6 +13682,12 @@ func (s *DomainStatus) SetDomainEndpointOptions(v *DomainEndpointOptions) *Domai return s } +// SetDomainEndpointV2HostedZoneId sets the DomainEndpointV2HostedZoneId field's value. +func (s *DomainStatus) SetDomainEndpointV2HostedZoneId(v string) *DomainStatus { + s.DomainEndpointV2HostedZoneId = &v + return s +} + // SetDomainId sets the DomainId field's value. func (s *DomainStatus) SetDomainId(v string) *DomainStatus { s.DomainId = &v diff --git a/service/pinpointsmsvoicev2/api.go b/service/pinpointsmsvoicev2/api.go index 71baead1a7..dbcdffdbf7 100644 --- a/service/pinpointsmsvoicev2/api.go +++ b/service/pinpointsmsvoicev2/api.go @@ -123,6 +123,109 @@ func (c *PinpointSMSVoiceV2) AssociateOriginationIdentityWithContext(ctx aws.Con return out, req.Send() } +const opAssociateProtectConfiguration = "AssociateProtectConfiguration" + +// AssociateProtectConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the AssociateProtectConfiguration 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 AssociateProtectConfiguration for more information on using the AssociateProtectConfiguration +// 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 AssociateProtectConfigurationRequest method. +// req, resp := client.AssociateProtectConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/AssociateProtectConfiguration +func (c *PinpointSMSVoiceV2) AssociateProtectConfigurationRequest(input *AssociateProtectConfigurationInput) (req *request.Request, output *AssociateProtectConfigurationOutput) { + op := &request.Operation{ + Name: opAssociateProtectConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateProtectConfigurationInput{} + } + + output = &AssociateProtectConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateProtectConfiguration API operation for Amazon Pinpoint SMS Voice V2. +// +// Associate a protect configuration with a configuration set. This replaces +// the configuration sets current protect configuration. A configuration set +// can only be associated with one protect configuration at a time. A protect +// configuration can be associated with multiple configuration sets. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation AssociateProtectConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - ConflictException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time +// or it could be that the requested action isn't valid for the current state +// or configuration of the resource. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/AssociateProtectConfiguration +func (c *PinpointSMSVoiceV2) AssociateProtectConfiguration(input *AssociateProtectConfigurationInput) (*AssociateProtectConfigurationOutput, error) { + req, out := c.AssociateProtectConfigurationRequest(input) + return out, req.Send() +} + +// AssociateProtectConfigurationWithContext is the same as AssociateProtectConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateProtectConfiguration 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 *PinpointSMSVoiceV2) AssociateProtectConfigurationWithContext(ctx aws.Context, input *AssociateProtectConfigurationInput, opts ...request.Option) (*AssociateProtectConfigurationOutput, error) { + req, out := c.AssociateProtectConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateConfigurationSet = "CreateConfigurationSet" // CreateConfigurationSetRequest generates a "aws/request.Request" representing the @@ -566,6 +669,103 @@ func (c *PinpointSMSVoiceV2) CreatePoolWithContext(ctx aws.Context, input *Creat return out, req.Send() } +const opCreateProtectConfiguration = "CreateProtectConfiguration" + +// CreateProtectConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateProtectConfiguration 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 CreateProtectConfiguration for more information on using the CreateProtectConfiguration +// 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 CreateProtectConfigurationRequest method. +// req, resp := client.CreateProtectConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/CreateProtectConfiguration +func (c *PinpointSMSVoiceV2) CreateProtectConfigurationRequest(input *CreateProtectConfigurationInput) (req *request.Request, output *CreateProtectConfigurationOutput) { + op := &request.Operation{ + Name: opCreateProtectConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateProtectConfigurationInput{} + } + + output = &CreateProtectConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProtectConfiguration API operation for Amazon Pinpoint SMS Voice V2. +// +// Create a new protect configuration. By default all country rule sets for +// each capability are set to ALLOW. Update the country rule sets using UpdateProtectConfigurationCountryRuleSet. +// A protect configurations name is stored as a Tag with the key set to Name +// and value as the name of the protect configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation CreateProtectConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ServiceQuotaExceededException +// The request would cause a service quota to be exceeded. +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ValidationException +// A validation exception for a field. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/CreateProtectConfiguration +func (c *PinpointSMSVoiceV2) CreateProtectConfiguration(input *CreateProtectConfigurationInput) (*CreateProtectConfigurationOutput, error) { + req, out := c.CreateProtectConfigurationRequest(input) + return out, req.Send() +} + +// CreateProtectConfigurationWithContext is the same as CreateProtectConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProtectConfiguration 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 *PinpointSMSVoiceV2) CreateProtectConfigurationWithContext(ctx aws.Context, input *CreateProtectConfigurationInput, opts ...request.Option) (*CreateProtectConfigurationOutput, error) { + req, out := c.CreateProtectConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateRegistration = "CreateRegistration" // CreateRegistrationRequest generates a "aws/request.Request" representing the @@ -1078,6 +1278,100 @@ func (c *PinpointSMSVoiceV2) CreateVerifiedDestinationNumberWithContext(ctx aws. return out, req.Send() } +const opDeleteAccountDefaultProtectConfiguration = "DeleteAccountDefaultProtectConfiguration" + +// DeleteAccountDefaultProtectConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAccountDefaultProtectConfiguration 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 DeleteAccountDefaultProtectConfiguration for more information on using the DeleteAccountDefaultProtectConfiguration +// 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 DeleteAccountDefaultProtectConfigurationRequest method. +// req, resp := client.DeleteAccountDefaultProtectConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteAccountDefaultProtectConfiguration +func (c *PinpointSMSVoiceV2) DeleteAccountDefaultProtectConfigurationRequest(input *DeleteAccountDefaultProtectConfigurationInput) (req *request.Request, output *DeleteAccountDefaultProtectConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteAccountDefaultProtectConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAccountDefaultProtectConfigurationInput{} + } + + output = &DeleteAccountDefaultProtectConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteAccountDefaultProtectConfiguration API operation for Amazon Pinpoint SMS Voice V2. +// +// Removes the current account default protect configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation DeleteAccountDefaultProtectConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteAccountDefaultProtectConfiguration +func (c *PinpointSMSVoiceV2) DeleteAccountDefaultProtectConfiguration(input *DeleteAccountDefaultProtectConfigurationInput) (*DeleteAccountDefaultProtectConfigurationOutput, error) { + req, out := c.DeleteAccountDefaultProtectConfigurationRequest(input) + return out, req.Send() +} + +// DeleteAccountDefaultProtectConfigurationWithContext is the same as DeleteAccountDefaultProtectConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAccountDefaultProtectConfiguration 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 *PinpointSMSVoiceV2) DeleteAccountDefaultProtectConfigurationWithContext(ctx aws.Context, input *DeleteAccountDefaultProtectConfigurationInput, opts ...request.Option) (*DeleteAccountDefaultProtectConfigurationOutput, error) { + req, out := c.DeleteAccountDefaultProtectConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteConfigurationSet = "DeleteConfigurationSet" // DeleteConfigurationSetRequest generates a "aws/request.Request" representing the @@ -1581,61 +1875,62 @@ func (c *PinpointSMSVoiceV2) DeleteKeywordWithContext(ctx aws.Context, input *De return out, req.Send() } -const opDeleteOptOutList = "DeleteOptOutList" +const opDeleteMediaMessageSpendLimitOverride = "DeleteMediaMessageSpendLimitOverride" -// DeleteOptOutListRequest generates a "aws/request.Request" representing the -// client's request for the DeleteOptOutList operation. The "output" return +// DeleteMediaMessageSpendLimitOverrideRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMediaMessageSpendLimitOverride 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 DeleteOptOutList for more information on using the DeleteOptOutList +// See DeleteMediaMessageSpendLimitOverride for more information on using the DeleteMediaMessageSpendLimitOverride // 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 DeleteOptOutListRequest method. -// req, resp := client.DeleteOptOutListRequest(params) +// // Example sending a request using the DeleteMediaMessageSpendLimitOverrideRequest method. +// req, resp := client.DeleteMediaMessageSpendLimitOverrideRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteOptOutList -func (c *PinpointSMSVoiceV2) DeleteOptOutListRequest(input *DeleteOptOutListInput) (req *request.Request, output *DeleteOptOutListOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteMediaMessageSpendLimitOverride +func (c *PinpointSMSVoiceV2) DeleteMediaMessageSpendLimitOverrideRequest(input *DeleteMediaMessageSpendLimitOverrideInput) (req *request.Request, output *DeleteMediaMessageSpendLimitOverrideOutput) { op := &request.Operation{ - Name: opDeleteOptOutList, + Name: opDeleteMediaMessageSpendLimitOverride, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteOptOutListInput{} + input = &DeleteMediaMessageSpendLimitOverrideInput{} } - output = &DeleteOptOutListOutput{} + output = &DeleteMediaMessageSpendLimitOverrideOutput{} req = c.newRequest(op, input, output) return } -// DeleteOptOutList API operation for Amazon Pinpoint SMS Voice V2. -// -// Deletes an existing opt-out list. All opted out phone numbers in the opt-out -// list are deleted. +// DeleteMediaMessageSpendLimitOverride API operation for Amazon Pinpoint SMS Voice V2. // -// If the specified opt-out list name doesn't exist or is in-use by an origination -// phone number or pool, an error is returned. +// Deletes an account-level monthly spending limit override for sending multimedia +// messages (MMS). Deleting a spend limit override will set the EnforcedLimit +// to equal the MaxLimit, which is controlled by Amazon Web Services. For more +// information on spend limits (quotas) see Quotas for Server Migration Service +// (https://docs.aws.amazon.com/sms-voice/latest/userguide/quotas.html) in the +// Server Migration Service 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. // // See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's -// API operation DeleteOptOutList for usage and error information. +// API operation DeleteMediaMessageSpendLimitOverride for usage and error information. // // Returned Error Types: // @@ -1647,29 +1942,124 @@ func (c *PinpointSMSVoiceV2) DeleteOptOutListRequest(input *DeleteOptOutListInpu // The request was denied because you don't have sufficient permissions to access // the resource. // -// - ResourceNotFoundException -// A requested resource couldn't be found. -// // - ValidationException // A validation exception for a field. // -// - ConflictException -// Your request has conflicting operations. This can occur if you're trying -// to perform more than one operation on the same resource at the same time -// or it could be that the requested action isn't valid for the current state -// or configuration of the resource. -// // - InternalServerException // The API encountered an unexpected error and couldn't complete the request. // You might be able to successfully issue the request again in the future. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteOptOutList -func (c *PinpointSMSVoiceV2) DeleteOptOutList(input *DeleteOptOutListInput) (*DeleteOptOutListOutput, error) { - req, out := c.DeleteOptOutListRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteMediaMessageSpendLimitOverride +func (c *PinpointSMSVoiceV2) DeleteMediaMessageSpendLimitOverride(input *DeleteMediaMessageSpendLimitOverrideInput) (*DeleteMediaMessageSpendLimitOverrideOutput, error) { + req, out := c.DeleteMediaMessageSpendLimitOverrideRequest(input) return out, req.Send() } -// DeleteOptOutListWithContext is the same as DeleteOptOutList with the addition of +// DeleteMediaMessageSpendLimitOverrideWithContext is the same as DeleteMediaMessageSpendLimitOverride with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMediaMessageSpendLimitOverride 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 *PinpointSMSVoiceV2) DeleteMediaMessageSpendLimitOverrideWithContext(ctx aws.Context, input *DeleteMediaMessageSpendLimitOverrideInput, opts ...request.Option) (*DeleteMediaMessageSpendLimitOverrideOutput, error) { + req, out := c.DeleteMediaMessageSpendLimitOverrideRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteOptOutList = "DeleteOptOutList" + +// DeleteOptOutListRequest generates a "aws/request.Request" representing the +// client's request for the DeleteOptOutList 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 DeleteOptOutList for more information on using the DeleteOptOutList +// 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 DeleteOptOutListRequest method. +// req, resp := client.DeleteOptOutListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteOptOutList +func (c *PinpointSMSVoiceV2) DeleteOptOutListRequest(input *DeleteOptOutListInput) (req *request.Request, output *DeleteOptOutListOutput) { + op := &request.Operation{ + Name: opDeleteOptOutList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteOptOutListInput{} + } + + output = &DeleteOptOutListOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteOptOutList API operation for Amazon Pinpoint SMS Voice V2. +// +// Deletes an existing opt-out list. All opted out phone numbers in the opt-out +// list are deleted. +// +// If the specified opt-out list name doesn't exist or is in-use by an origination +// phone number or pool, an error is returned. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation DeleteOptOutList for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - ConflictException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time +// or it could be that the requested action isn't valid for the current state +// or configuration of the resource. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteOptOutList +func (c *PinpointSMSVoiceV2) DeleteOptOutList(input *DeleteOptOutListInput) (*DeleteOptOutListOutput, error) { + req, out := c.DeleteOptOutListRequest(input) + return out, req.Send() +} + +// DeleteOptOutListWithContext is the same as DeleteOptOutList with the addition of // the ability to pass a context and additional request options. // // See DeleteOptOutList for details on how to use this API operation. @@ -1899,6 +2289,108 @@ func (c *PinpointSMSVoiceV2) DeletePoolWithContext(ctx aws.Context, input *Delet return out, req.Send() } +const opDeleteProtectConfiguration = "DeleteProtectConfiguration" + +// DeleteProtectConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProtectConfiguration 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 DeleteProtectConfiguration for more information on using the DeleteProtectConfiguration +// 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 DeleteProtectConfigurationRequest method. +// req, resp := client.DeleteProtectConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteProtectConfiguration +func (c *PinpointSMSVoiceV2) DeleteProtectConfigurationRequest(input *DeleteProtectConfigurationInput) (req *request.Request, output *DeleteProtectConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteProtectConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteProtectConfigurationInput{} + } + + output = &DeleteProtectConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteProtectConfiguration API operation for Amazon Pinpoint SMS Voice V2. +// +// Permanently delete the protect configuration. The protect configuration must +// have deletion protection disabled and must not be associated as the account +// default protect configuration or associated with a configuration set. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation DeleteProtectConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - ConflictException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time +// or it could be that the requested action isn't valid for the current state +// or configuration of the resource. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DeleteProtectConfiguration +func (c *PinpointSMSVoiceV2) DeleteProtectConfiguration(input *DeleteProtectConfigurationInput) (*DeleteProtectConfigurationOutput, error) { + req, out := c.DeleteProtectConfigurationRequest(input) + return out, req.Send() +} + +// DeleteProtectConfigurationWithContext is the same as DeleteProtectConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProtectConfiguration 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 *PinpointSMSVoiceV2) DeleteProtectConfigurationWithContext(ctx aws.Context, input *DeleteProtectConfigurationInput, opts ...request.Option) (*DeleteProtectConfigurationOutput, error) { + req, out := c.DeleteProtectConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteRegistration = "DeleteRegistration" // DeleteRegistrationRequest generates a "aws/request.Request" representing the @@ -3761,34 +4253,34 @@ func (c *PinpointSMSVoiceV2) DescribePoolsPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opDescribeRegistrationAttachments = "DescribeRegistrationAttachments" +const opDescribeProtectConfigurations = "DescribeProtectConfigurations" -// DescribeRegistrationAttachmentsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeRegistrationAttachments operation. The "output" return +// DescribeProtectConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeProtectConfigurations 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 DescribeRegistrationAttachments for more information on using the DescribeRegistrationAttachments +// See DescribeProtectConfigurations for more information on using the DescribeProtectConfigurations // 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 DescribeRegistrationAttachmentsRequest method. -// req, resp := client.DescribeRegistrationAttachmentsRequest(params) +// // Example sending a request using the DescribeProtectConfigurationsRequest method. +// req, resp := client.DescribeProtectConfigurationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeRegistrationAttachments -func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsRequest(input *DescribeRegistrationAttachmentsInput) (req *request.Request, output *DescribeRegistrationAttachmentsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeProtectConfigurations +func (c *PinpointSMSVoiceV2) DescribeProtectConfigurationsRequest(input *DescribeProtectConfigurationsInput) (req *request.Request, output *DescribeProtectConfigurationsOutput) { op := &request.Operation{ - Name: opDescribeRegistrationAttachments, + Name: opDescribeProtectConfigurations, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -3800,25 +4292,25 @@ func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsRequest(input *Descr } if input == nil { - input = &DescribeRegistrationAttachmentsInput{} + input = &DescribeProtectConfigurationsInput{} } - output = &DescribeRegistrationAttachmentsOutput{} + output = &DescribeProtectConfigurationsOutput{} req = c.newRequest(op, input, output) return } -// DescribeRegistrationAttachments API operation for Amazon Pinpoint SMS Voice V2. +// DescribeProtectConfigurations API operation for Amazon Pinpoint SMS Voice V2. // -// Retrieves the specified registration attachments or all registration attachments -// associated with your Amazon Web Services account. +// Retrieves the protect configurations that match any of filters. If a filter +// isn’t provided then all protect configurations are returned. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's -// API operation DescribeRegistrationAttachments for usage and error information. +// API operation DescribeProtectConfigurations for usage and error information. // // Returned Error Types: // @@ -3840,64 +4332,64 @@ func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsRequest(input *Descr // The API encountered an unexpected error and couldn't complete the request. // You might be able to successfully issue the request again in the future. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeRegistrationAttachments -func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachments(input *DescribeRegistrationAttachmentsInput) (*DescribeRegistrationAttachmentsOutput, error) { - req, out := c.DescribeRegistrationAttachmentsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeProtectConfigurations +func (c *PinpointSMSVoiceV2) DescribeProtectConfigurations(input *DescribeProtectConfigurationsInput) (*DescribeProtectConfigurationsOutput, error) { + req, out := c.DescribeProtectConfigurationsRequest(input) return out, req.Send() } -// DescribeRegistrationAttachmentsWithContext is the same as DescribeRegistrationAttachments with the addition of +// DescribeProtectConfigurationsWithContext is the same as DescribeProtectConfigurations with the addition of // the ability to pass a context and additional request options. // -// See DescribeRegistrationAttachments for details on how to use this API operation. +// See DescribeProtectConfigurations 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 *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsWithContext(ctx aws.Context, input *DescribeRegistrationAttachmentsInput, opts ...request.Option) (*DescribeRegistrationAttachmentsOutput, error) { - req, out := c.DescribeRegistrationAttachmentsRequest(input) +func (c *PinpointSMSVoiceV2) DescribeProtectConfigurationsWithContext(ctx aws.Context, input *DescribeProtectConfigurationsInput, opts ...request.Option) (*DescribeProtectConfigurationsOutput, error) { + req, out := c.DescribeProtectConfigurationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeRegistrationAttachmentsPages iterates over the pages of a DescribeRegistrationAttachments operation, +// DescribeProtectConfigurationsPages iterates over the pages of a DescribeProtectConfigurations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeRegistrationAttachments method for more information on how to use this operation. +// See DescribeProtectConfigurations method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a DescribeRegistrationAttachments operation. +// // Example iterating over at most 3 pages of a DescribeProtectConfigurations operation. // pageNum := 0 -// err := client.DescribeRegistrationAttachmentsPages(params, -// func(page *pinpointsmsvoicev2.DescribeRegistrationAttachmentsOutput, lastPage bool) bool { +// err := client.DescribeProtectConfigurationsPages(params, +// func(page *pinpointsmsvoicev2.DescribeProtectConfigurationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsPages(input *DescribeRegistrationAttachmentsInput, fn func(*DescribeRegistrationAttachmentsOutput, bool) bool) error { - return c.DescribeRegistrationAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *PinpointSMSVoiceV2) DescribeProtectConfigurationsPages(input *DescribeProtectConfigurationsInput, fn func(*DescribeProtectConfigurationsOutput, bool) bool) error { + return c.DescribeProtectConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeRegistrationAttachmentsPagesWithContext same as DescribeRegistrationAttachmentsPages except +// DescribeProtectConfigurationsPagesWithContext same as DescribeProtectConfigurationsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsPagesWithContext(ctx aws.Context, input *DescribeRegistrationAttachmentsInput, fn func(*DescribeRegistrationAttachmentsOutput, bool) bool, opts ...request.Option) error { +func (c *PinpointSMSVoiceV2) DescribeProtectConfigurationsPagesWithContext(ctx aws.Context, input *DescribeProtectConfigurationsInput, fn func(*DescribeProtectConfigurationsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeRegistrationAttachmentsInput + var inCpy *DescribeProtectConfigurationsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeRegistrationAttachmentsRequest(inCpy) + req, _ := c.DescribeProtectConfigurationsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3905,7 +4397,7 @@ func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsPagesWithContext(ctx } for p.Next() { - if !fn(p.Page().(*DescribeRegistrationAttachmentsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeProtectConfigurationsOutput), !p.HasNextPage()) { break } } @@ -3913,34 +4405,34 @@ func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsPagesWithContext(ctx return p.Err() } -const opDescribeRegistrationFieldDefinitions = "DescribeRegistrationFieldDefinitions" +const opDescribeRegistrationAttachments = "DescribeRegistrationAttachments" -// DescribeRegistrationFieldDefinitionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeRegistrationFieldDefinitions operation. The "output" return +// DescribeRegistrationAttachmentsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRegistrationAttachments 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 DescribeRegistrationFieldDefinitions for more information on using the DescribeRegistrationFieldDefinitions +// See DescribeRegistrationAttachments for more information on using the DescribeRegistrationAttachments // 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 DescribeRegistrationFieldDefinitionsRequest method. -// req, resp := client.DescribeRegistrationFieldDefinitionsRequest(params) +// // Example sending a request using the DescribeRegistrationAttachmentsRequest method. +// req, resp := client.DescribeRegistrationAttachmentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeRegistrationFieldDefinitions -func (c *PinpointSMSVoiceV2) DescribeRegistrationFieldDefinitionsRequest(input *DescribeRegistrationFieldDefinitionsInput) (req *request.Request, output *DescribeRegistrationFieldDefinitionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeRegistrationAttachments +func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsRequest(input *DescribeRegistrationAttachmentsInput) (req *request.Request, output *DescribeRegistrationAttachmentsOutput) { op := &request.Operation{ - Name: opDescribeRegistrationFieldDefinitions, + Name: opDescribeRegistrationAttachments, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -3952,26 +4444,25 @@ func (c *PinpointSMSVoiceV2) DescribeRegistrationFieldDefinitionsRequest(input * } if input == nil { - input = &DescribeRegistrationFieldDefinitionsInput{} + input = &DescribeRegistrationAttachmentsInput{} } - output = &DescribeRegistrationFieldDefinitionsOutput{} + output = &DescribeRegistrationAttachmentsOutput{} req = c.newRequest(op, input, output) return } -// DescribeRegistrationFieldDefinitions API operation for Amazon Pinpoint SMS Voice V2. +// DescribeRegistrationAttachments API operation for Amazon Pinpoint SMS Voice V2. // -// Retrieves the specified registration type field definitions. You can use -// DescribeRegistrationFieldDefinitions to view the requirements for creating, -// filling out, and submitting each registration type. +// Retrieves the specified registration attachments or all registration attachments +// associated with your Amazon Web Services account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's -// API operation DescribeRegistrationFieldDefinitions for usage and error information. +// API operation DescribeRegistrationAttachments for usage and error information. // // Returned Error Types: // @@ -3983,6 +4474,9 @@ func (c *PinpointSMSVoiceV2) DescribeRegistrationFieldDefinitionsRequest(input * // The request was denied because you don't have sufficient permissions to access // the resource. // +// - ResourceNotFoundException +// A requested resource couldn't be found. +// // - ValidationException // A validation exception for a field. // @@ -3990,13 +4484,163 @@ func (c *PinpointSMSVoiceV2) DescribeRegistrationFieldDefinitionsRequest(input * // The API encountered an unexpected error and couldn't complete the request. // You might be able to successfully issue the request again in the future. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeRegistrationFieldDefinitions -func (c *PinpointSMSVoiceV2) DescribeRegistrationFieldDefinitions(input *DescribeRegistrationFieldDefinitionsInput) (*DescribeRegistrationFieldDefinitionsOutput, error) { - req, out := c.DescribeRegistrationFieldDefinitionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeRegistrationAttachments +func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachments(input *DescribeRegistrationAttachmentsInput) (*DescribeRegistrationAttachmentsOutput, error) { + req, out := c.DescribeRegistrationAttachmentsRequest(input) return out, req.Send() } -// DescribeRegistrationFieldDefinitionsWithContext is the same as DescribeRegistrationFieldDefinitions with the addition of +// DescribeRegistrationAttachmentsWithContext is the same as DescribeRegistrationAttachments with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRegistrationAttachments 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 *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsWithContext(ctx aws.Context, input *DescribeRegistrationAttachmentsInput, opts ...request.Option) (*DescribeRegistrationAttachmentsOutput, error) { + req, out := c.DescribeRegistrationAttachmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeRegistrationAttachmentsPages iterates over the pages of a DescribeRegistrationAttachments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeRegistrationAttachments method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeRegistrationAttachments operation. +// pageNum := 0 +// err := client.DescribeRegistrationAttachmentsPages(params, +// func(page *pinpointsmsvoicev2.DescribeRegistrationAttachmentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsPages(input *DescribeRegistrationAttachmentsInput, fn func(*DescribeRegistrationAttachmentsOutput, bool) bool) error { + return c.DescribeRegistrationAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeRegistrationAttachmentsPagesWithContext same as DescribeRegistrationAttachmentsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *PinpointSMSVoiceV2) DescribeRegistrationAttachmentsPagesWithContext(ctx aws.Context, input *DescribeRegistrationAttachmentsInput, fn func(*DescribeRegistrationAttachmentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeRegistrationAttachmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeRegistrationAttachmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeRegistrationAttachmentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeRegistrationFieldDefinitions = "DescribeRegistrationFieldDefinitions" + +// DescribeRegistrationFieldDefinitionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRegistrationFieldDefinitions 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 DescribeRegistrationFieldDefinitions for more information on using the DescribeRegistrationFieldDefinitions +// 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 DescribeRegistrationFieldDefinitionsRequest method. +// req, resp := client.DescribeRegistrationFieldDefinitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeRegistrationFieldDefinitions +func (c *PinpointSMSVoiceV2) DescribeRegistrationFieldDefinitionsRequest(input *DescribeRegistrationFieldDefinitionsInput) (req *request.Request, output *DescribeRegistrationFieldDefinitionsOutput) { + op := &request.Operation{ + Name: opDescribeRegistrationFieldDefinitions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeRegistrationFieldDefinitionsInput{} + } + + output = &DescribeRegistrationFieldDefinitionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRegistrationFieldDefinitions API operation for Amazon Pinpoint SMS Voice V2. +// +// Retrieves the specified registration type field definitions. You can use +// DescribeRegistrationFieldDefinitions to view the requirements for creating, +// filling out, and submitting each registration type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation DescribeRegistrationFieldDefinitions for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ValidationException +// A validation exception for a field. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DescribeRegistrationFieldDefinitions +func (c *PinpointSMSVoiceV2) DescribeRegistrationFieldDefinitions(input *DescribeRegistrationFieldDefinitionsInput) (*DescribeRegistrationFieldDefinitionsOutput, error) { + req, out := c.DescribeRegistrationFieldDefinitionsRequest(input) + return out, req.Send() +} + +// DescribeRegistrationFieldDefinitionsWithContext is the same as DescribeRegistrationFieldDefinitions with the addition of // the ability to pass a context and additional request options. // // See DescribeRegistrationFieldDefinitions for details on how to use this API operation. @@ -5384,6 +6028,106 @@ func (c *PinpointSMSVoiceV2) DisassociateOriginationIdentityWithContext(ctx aws. return out, req.Send() } +const opDisassociateProtectConfiguration = "DisassociateProtectConfiguration" + +// DisassociateProtectConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateProtectConfiguration 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 DisassociateProtectConfiguration for more information on using the DisassociateProtectConfiguration +// 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 DisassociateProtectConfigurationRequest method. +// req, resp := client.DisassociateProtectConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DisassociateProtectConfiguration +func (c *PinpointSMSVoiceV2) DisassociateProtectConfigurationRequest(input *DisassociateProtectConfigurationInput) (req *request.Request, output *DisassociateProtectConfigurationOutput) { + op := &request.Operation{ + Name: opDisassociateProtectConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateProtectConfigurationInput{} + } + + output = &DisassociateProtectConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateProtectConfiguration API operation for Amazon Pinpoint SMS Voice V2. +// +// Disassociate a protect configuration from a configuration set. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation DisassociateProtectConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - ConflictException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time +// or it could be that the requested action isn't valid for the current state +// or configuration of the resource. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/DisassociateProtectConfiguration +func (c *PinpointSMSVoiceV2) DisassociateProtectConfiguration(input *DisassociateProtectConfigurationInput) (*DisassociateProtectConfigurationOutput, error) { + req, out := c.DisassociateProtectConfigurationRequest(input) + return out, req.Send() +} + +// DisassociateProtectConfigurationWithContext is the same as DisassociateProtectConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateProtectConfiguration 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 *PinpointSMSVoiceV2) DisassociateProtectConfigurationWithContext(ctx aws.Context, input *DisassociateProtectConfigurationInput, opts ...request.Option) (*DisassociateProtectConfigurationOutput, error) { + req, out := c.DisassociateProtectConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDiscardRegistrationVersion = "DiscardRegistrationVersion" // DiscardRegistrationVersionRequest generates a "aws/request.Request" representing the @@ -5484,66 +6228,58 @@ func (c *PinpointSMSVoiceV2) DiscardRegistrationVersionWithContext(ctx aws.Conte return out, req.Send() } -const opListPoolOriginationIdentities = "ListPoolOriginationIdentities" +const opGetProtectConfigurationCountryRuleSet = "GetProtectConfigurationCountryRuleSet" -// ListPoolOriginationIdentitiesRequest generates a "aws/request.Request" representing the -// client's request for the ListPoolOriginationIdentities operation. The "output" return +// GetProtectConfigurationCountryRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the GetProtectConfigurationCountryRuleSet 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 ListPoolOriginationIdentities for more information on using the ListPoolOriginationIdentities +// See GetProtectConfigurationCountryRuleSet for more information on using the GetProtectConfigurationCountryRuleSet // 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 ListPoolOriginationIdentitiesRequest method. -// req, resp := client.ListPoolOriginationIdentitiesRequest(params) +// // Example sending a request using the GetProtectConfigurationCountryRuleSetRequest method. +// req, resp := client.GetProtectConfigurationCountryRuleSetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/ListPoolOriginationIdentities -func (c *PinpointSMSVoiceV2) ListPoolOriginationIdentitiesRequest(input *ListPoolOriginationIdentitiesInput) (req *request.Request, output *ListPoolOriginationIdentitiesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/GetProtectConfigurationCountryRuleSet +func (c *PinpointSMSVoiceV2) GetProtectConfigurationCountryRuleSetRequest(input *GetProtectConfigurationCountryRuleSetInput) (req *request.Request, output *GetProtectConfigurationCountryRuleSetOutput) { op := &request.Operation{ - Name: opListPoolOriginationIdentities, + Name: opGetProtectConfigurationCountryRuleSet, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListPoolOriginationIdentitiesInput{} + input = &GetProtectConfigurationCountryRuleSetInput{} } - output = &ListPoolOriginationIdentitiesOutput{} + output = &GetProtectConfigurationCountryRuleSetOutput{} req = c.newRequest(op, input, output) return } -// ListPoolOriginationIdentities API operation for Amazon Pinpoint SMS Voice V2. -// -// Lists all associated origination identities in your pool. +// GetProtectConfigurationCountryRuleSet API operation for Amazon Pinpoint SMS Voice V2. // -// If you specify filters, the output includes information for only those origination -// identities that meet the filter criteria. +// Retrieve the CountryRuleSet for the specified NumberCapability from a protect +// configuration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's -// API operation ListPoolOriginationIdentities for usage and error information. +// API operation GetProtectConfigurationCountryRuleSet for usage and error information. // // Returned Error Types: // @@ -5565,13 +6301,116 @@ func (c *PinpointSMSVoiceV2) ListPoolOriginationIdentitiesRequest(input *ListPoo // The API encountered an unexpected error and couldn't complete the request. // You might be able to successfully issue the request again in the future. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/ListPoolOriginationIdentities -func (c *PinpointSMSVoiceV2) ListPoolOriginationIdentities(input *ListPoolOriginationIdentitiesInput) (*ListPoolOriginationIdentitiesOutput, error) { - req, out := c.ListPoolOriginationIdentitiesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/GetProtectConfigurationCountryRuleSet +func (c *PinpointSMSVoiceV2) GetProtectConfigurationCountryRuleSet(input *GetProtectConfigurationCountryRuleSetInput) (*GetProtectConfigurationCountryRuleSetOutput, error) { + req, out := c.GetProtectConfigurationCountryRuleSetRequest(input) return out, req.Send() } -// ListPoolOriginationIdentitiesWithContext is the same as ListPoolOriginationIdentities with the addition of +// GetProtectConfigurationCountryRuleSetWithContext is the same as GetProtectConfigurationCountryRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See GetProtectConfigurationCountryRuleSet 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 *PinpointSMSVoiceV2) GetProtectConfigurationCountryRuleSetWithContext(ctx aws.Context, input *GetProtectConfigurationCountryRuleSetInput, opts ...request.Option) (*GetProtectConfigurationCountryRuleSetOutput, error) { + req, out := c.GetProtectConfigurationCountryRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPoolOriginationIdentities = "ListPoolOriginationIdentities" + +// ListPoolOriginationIdentitiesRequest generates a "aws/request.Request" representing the +// client's request for the ListPoolOriginationIdentities 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 ListPoolOriginationIdentities for more information on using the ListPoolOriginationIdentities +// 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 ListPoolOriginationIdentitiesRequest method. +// req, resp := client.ListPoolOriginationIdentitiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/ListPoolOriginationIdentities +func (c *PinpointSMSVoiceV2) ListPoolOriginationIdentitiesRequest(input *ListPoolOriginationIdentitiesInput) (req *request.Request, output *ListPoolOriginationIdentitiesOutput) { + op := &request.Operation{ + Name: opListPoolOriginationIdentities, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPoolOriginationIdentitiesInput{} + } + + output = &ListPoolOriginationIdentitiesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPoolOriginationIdentities API operation for Amazon Pinpoint SMS Voice V2. +// +// Lists all associated origination identities in your pool. +// +// If you specify filters, the output includes information for only those origination +// identities that meet the filter criteria. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation ListPoolOriginationIdentities for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/ListPoolOriginationIdentities +func (c *PinpointSMSVoiceV2) ListPoolOriginationIdentities(input *ListPoolOriginationIdentitiesInput) (*ListPoolOriginationIdentitiesOutput, error) { + req, out := c.ListPoolOriginationIdentitiesRequest(input) + return out, req.Send() +} + +// ListPoolOriginationIdentitiesWithContext is the same as ListPoolOriginationIdentities with the addition of // the ability to pass a context and additional request options. // // See ListPoolOriginationIdentities for details on how to use this API operation. @@ -6708,6 +7547,110 @@ func (c *PinpointSMSVoiceV2) SendDestinationNumberVerificationCodeWithContext(ct return out, req.Send() } +const opSendMediaMessage = "SendMediaMessage" + +// SendMediaMessageRequest generates a "aws/request.Request" representing the +// client's request for the SendMediaMessage 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 SendMediaMessage for more information on using the SendMediaMessage +// 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 SendMediaMessageRequest method. +// req, resp := client.SendMediaMessageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/SendMediaMessage +func (c *PinpointSMSVoiceV2) SendMediaMessageRequest(input *SendMediaMessageInput) (req *request.Request, output *SendMediaMessageOutput) { + op := &request.Operation{ + Name: opSendMediaMessage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendMediaMessageInput{} + } + + output = &SendMediaMessageOutput{} + req = c.newRequest(op, input, output) + return +} + +// SendMediaMessage API operation for Amazon Pinpoint SMS Voice V2. +// +// Creates a new multimedia message (MMS) and sends it to a recipient's phone +// number. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation SendMediaMessage for usage and error information. +// +// Returned Error Types: +// +// - ServiceQuotaExceededException +// The request would cause a service quota to be exceeded. +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - ConflictException +// Your request has conflicting operations. This can occur if you're trying +// to perform more than one operation on the same resource at the same time +// or it could be that the requested action isn't valid for the current state +// or configuration of the resource. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/SendMediaMessage +func (c *PinpointSMSVoiceV2) SendMediaMessage(input *SendMediaMessageInput) (*SendMediaMessageOutput, error) { + req, out := c.SendMediaMessageRequest(input) + return out, req.Send() +} + +// SendMediaMessageWithContext is the same as SendMediaMessage with the addition of +// the ability to pass a context and additional request options. +// +// See SendMediaMessage 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 *PinpointSMSVoiceV2) SendMediaMessageWithContext(ctx aws.Context, input *SendMediaMessageInput, opts ...request.Option) (*SendMediaMessageOutput, error) { + req, out := c.SendMediaMessageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSendTextMessage = "SendTextMessage" // SendTextMessageRequest generates a "aws/request.Request" representing the @@ -6922,6 +7865,102 @@ func (c *PinpointSMSVoiceV2) SendVoiceMessageWithContext(ctx aws.Context, input return out, req.Send() } +const opSetAccountDefaultProtectConfiguration = "SetAccountDefaultProtectConfiguration" + +// SetAccountDefaultProtectConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the SetAccountDefaultProtectConfiguration 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 SetAccountDefaultProtectConfiguration for more information on using the SetAccountDefaultProtectConfiguration +// 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 SetAccountDefaultProtectConfigurationRequest method. +// req, resp := client.SetAccountDefaultProtectConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/SetAccountDefaultProtectConfiguration +func (c *PinpointSMSVoiceV2) SetAccountDefaultProtectConfigurationRequest(input *SetAccountDefaultProtectConfigurationInput) (req *request.Request, output *SetAccountDefaultProtectConfigurationOutput) { + op := &request.Operation{ + Name: opSetAccountDefaultProtectConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetAccountDefaultProtectConfigurationInput{} + } + + output = &SetAccountDefaultProtectConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// SetAccountDefaultProtectConfiguration API operation for Amazon Pinpoint SMS Voice V2. +// +// Set a protect configuration as your account default. You can only have one +// account default protect configuration at a time. The current account default +// protect configuration is replaced with the provided protect configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation SetAccountDefaultProtectConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/SetAccountDefaultProtectConfiguration +func (c *PinpointSMSVoiceV2) SetAccountDefaultProtectConfiguration(input *SetAccountDefaultProtectConfigurationInput) (*SetAccountDefaultProtectConfigurationOutput, error) { + req, out := c.SetAccountDefaultProtectConfigurationRequest(input) + return out, req.Send() +} + +// SetAccountDefaultProtectConfigurationWithContext is the same as SetAccountDefaultProtectConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See SetAccountDefaultProtectConfiguration 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 *PinpointSMSVoiceV2) SetAccountDefaultProtectConfigurationWithContext(ctx aws.Context, input *SetAccountDefaultProtectConfigurationInput, opts ...request.Option) (*SetAccountDefaultProtectConfigurationOutput, error) { + req, out := c.SetAccountDefaultProtectConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSetDefaultMessageType = "SetDefaultMessageType" // SetDefaultMessageTypeRequest generates a "aws/request.Request" representing the @@ -7121,7 +8160,100 @@ func (c *PinpointSMSVoiceV2) SetDefaultSenderIdWithContext(ctx aws.Context, inpu return out, req.Send() } -const opSetTextMessageSpendLimitOverride = "SetTextMessageSpendLimitOverride" +const opSetMediaMessageSpendLimitOverride = "SetMediaMessageSpendLimitOverride" + +// SetMediaMessageSpendLimitOverrideRequest generates a "aws/request.Request" representing the +// client's request for the SetMediaMessageSpendLimitOverride 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 SetMediaMessageSpendLimitOverride for more information on using the SetMediaMessageSpendLimitOverride +// 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 SetMediaMessageSpendLimitOverrideRequest method. +// req, resp := client.SetMediaMessageSpendLimitOverrideRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/SetMediaMessageSpendLimitOverride +func (c *PinpointSMSVoiceV2) SetMediaMessageSpendLimitOverrideRequest(input *SetMediaMessageSpendLimitOverrideInput) (req *request.Request, output *SetMediaMessageSpendLimitOverrideOutput) { + op := &request.Operation{ + Name: opSetMediaMessageSpendLimitOverride, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetMediaMessageSpendLimitOverrideInput{} + } + + output = &SetMediaMessageSpendLimitOverrideOutput{} + req = c.newRequest(op, input, output) + return +} + +// SetMediaMessageSpendLimitOverride API operation for Amazon Pinpoint SMS Voice V2. +// +// Sets an account level monthly spend limit override for sending MMS messages. +// The requested spend limit must be less than or equal to the MaxLimit, which +// is set by Amazon Web Services. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation SetMediaMessageSpendLimitOverride for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ValidationException +// A validation exception for a field. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/SetMediaMessageSpendLimitOverride +func (c *PinpointSMSVoiceV2) SetMediaMessageSpendLimitOverride(input *SetMediaMessageSpendLimitOverrideInput) (*SetMediaMessageSpendLimitOverrideOutput, error) { + req, out := c.SetMediaMessageSpendLimitOverrideRequest(input) + return out, req.Send() +} + +// SetMediaMessageSpendLimitOverrideWithContext is the same as SetMediaMessageSpendLimitOverride with the addition of +// the ability to pass a context and additional request options. +// +// See SetMediaMessageSpendLimitOverride 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 *PinpointSMSVoiceV2) SetMediaMessageSpendLimitOverrideWithContext(ctx aws.Context, input *SetMediaMessageSpendLimitOverrideInput, opts ...request.Option) (*SetMediaMessageSpendLimitOverrideOutput, error) { + req, out := c.SetMediaMessageSpendLimitOverrideRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetTextMessageSpendLimitOverride = "SetTextMessageSpendLimitOverride" // SetTextMessageSpendLimitOverrideRequest generates a "aws/request.Request" representing the // client's request for the SetTextMessageSpendLimitOverride operation. The "output" return @@ -7924,6 +9056,196 @@ func (c *PinpointSMSVoiceV2) UpdatePoolWithContext(ctx aws.Context, input *Updat return out, req.Send() } +const opUpdateProtectConfiguration = "UpdateProtectConfiguration" + +// UpdateProtectConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProtectConfiguration 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 UpdateProtectConfiguration for more information on using the UpdateProtectConfiguration +// 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 UpdateProtectConfigurationRequest method. +// req, resp := client.UpdateProtectConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/UpdateProtectConfiguration +func (c *PinpointSMSVoiceV2) UpdateProtectConfigurationRequest(input *UpdateProtectConfigurationInput) (req *request.Request, output *UpdateProtectConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateProtectConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateProtectConfigurationInput{} + } + + output = &UpdateProtectConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateProtectConfiguration API operation for Amazon Pinpoint SMS Voice V2. +// +// Update the setting for an existing protect configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation UpdateProtectConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/UpdateProtectConfiguration +func (c *PinpointSMSVoiceV2) UpdateProtectConfiguration(input *UpdateProtectConfigurationInput) (*UpdateProtectConfigurationOutput, error) { + req, out := c.UpdateProtectConfigurationRequest(input) + return out, req.Send() +} + +// UpdateProtectConfigurationWithContext is the same as UpdateProtectConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProtectConfiguration 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 *PinpointSMSVoiceV2) UpdateProtectConfigurationWithContext(ctx aws.Context, input *UpdateProtectConfigurationInput, opts ...request.Option) (*UpdateProtectConfigurationOutput, error) { + req, out := c.UpdateProtectConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateProtectConfigurationCountryRuleSet = "UpdateProtectConfigurationCountryRuleSet" + +// UpdateProtectConfigurationCountryRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProtectConfigurationCountryRuleSet 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 UpdateProtectConfigurationCountryRuleSet for more information on using the UpdateProtectConfigurationCountryRuleSet +// 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 UpdateProtectConfigurationCountryRuleSetRequest method. +// req, resp := client.UpdateProtectConfigurationCountryRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/UpdateProtectConfigurationCountryRuleSet +func (c *PinpointSMSVoiceV2) UpdateProtectConfigurationCountryRuleSetRequest(input *UpdateProtectConfigurationCountryRuleSetInput) (req *request.Request, output *UpdateProtectConfigurationCountryRuleSetOutput) { + op := &request.Operation{ + Name: opUpdateProtectConfigurationCountryRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateProtectConfigurationCountryRuleSetInput{} + } + + output = &UpdateProtectConfigurationCountryRuleSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateProtectConfigurationCountryRuleSet API operation for Amazon Pinpoint SMS Voice V2. +// +// Update a country rule set to ALLOW or BLOCK messages to be sent to the specified +// destination counties. You can update one or multiple countries at a time. +// The updates are only applied to the specified NumberCapability type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint SMS Voice V2's +// API operation UpdateProtectConfigurationCountryRuleSet for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// An error that occurred because too many requests were sent during a certain +// amount of time. +// +// - AccessDeniedException +// The request was denied because you don't have sufficient permissions to access +// the resource. +// +// - ResourceNotFoundException +// A requested resource couldn't be found. +// +// - ValidationException +// A validation exception for a field. +// +// - InternalServerException +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-v2-2022-03-31/UpdateProtectConfigurationCountryRuleSet +func (c *PinpointSMSVoiceV2) UpdateProtectConfigurationCountryRuleSet(input *UpdateProtectConfigurationCountryRuleSetInput) (*UpdateProtectConfigurationCountryRuleSetOutput, error) { + req, out := c.UpdateProtectConfigurationCountryRuleSetRequest(input) + return out, req.Send() +} + +// UpdateProtectConfigurationCountryRuleSetWithContext is the same as UpdateProtectConfigurationCountryRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProtectConfigurationCountryRuleSet 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 *PinpointSMSVoiceV2) UpdateProtectConfigurationCountryRuleSetWithContext(ctx aws.Context, input *UpdateProtectConfigurationCountryRuleSetInput, opts ...request.Option) (*UpdateProtectConfigurationCountryRuleSetOutput, error) { + req, out := c.UpdateProtectConfigurationCountryRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateSenderId = "UpdateSenderId" // UpdateSenderIdRequest generates a "aws/request.Request" representing the @@ -8459,22 +9781,18 @@ func (s *AssociateOriginationIdentityOutput) SetPoolId(v string) *AssociateOrigi return s } -// Contains the destination configuration to use when publishing message sending -// events. -type CloudWatchLogsDestination struct { +type AssociateProtectConfigurationInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of an Amazon Identity and Access Management - // (IAM) role that is able to write event data to an Amazon CloudWatch destination. + // The name of the ConfigurationSet. // - // IamRoleArn is a required field - IamRoleArn *string `min:"20" type:"string" required:"true"` + // ConfigurationSetName is a required field + ConfigurationSetName *string `min:"1" type:"string" required:"true"` - // The name of the Amazon CloudWatch log group that you want to record events - // in. + // The unique identifier for the protect configuration. // - // LogGroupArn is a required field - LogGroupArn *string `min:"20" type:"string" required:"true"` + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -8482,7 +9800,7 @@ type CloudWatchLogsDestination 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 CloudWatchLogsDestination) String() string { +func (s AssociateProtectConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -8491,24 +9809,24 @@ func (s CloudWatchLogsDestination) 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 CloudWatchLogsDestination) GoString() string { +func (s AssociateProtectConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CloudWatchLogsDestination) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsDestination"} - if s.IamRoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) +func (s *AssociateProtectConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateProtectConfigurationInput"} + if s.ConfigurationSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName")) } - if s.IamRoleArn != nil && len(*s.IamRoleArn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 20)) + if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1)) } - if s.LogGroupArn == nil { - invalidParams.Add(request.NewErrParamRequired("LogGroupArn")) + if s.ProtectConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectConfigurationId")) } - if s.LogGroupArn != nil && len(*s.LogGroupArn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("LogGroupArn", 20)) + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) } if invalidParams.Len() > 0 { @@ -8517,19 +9835,155 @@ func (s *CloudWatchLogsDestination) Validate() error { return nil } -// SetIamRoleArn sets the IamRoleArn field's value. -func (s *CloudWatchLogsDestination) SetIamRoleArn(v string) *CloudWatchLogsDestination { - s.IamRoleArn = &v +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *AssociateProtectConfigurationInput) SetConfigurationSetName(v string) *AssociateProtectConfigurationInput { + s.ConfigurationSetName = &v return s } -// SetLogGroupArn sets the LogGroupArn field's value. -func (s *CloudWatchLogsDestination) SetLogGroupArn(v string) *CloudWatchLogsDestination { - s.LogGroupArn = &v +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *AssociateProtectConfigurationInput) SetProtectConfigurationId(v string) *AssociateProtectConfigurationInput { + s.ProtectConfigurationId = &v return s } -// The information for configuration sets that meet a specified criteria. +type AssociateProtectConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configuration set. + // + // ConfigurationSetArn is a required field + ConfigurationSetArn *string `type:"string" required:"true"` + + // The name of the ConfigurationSet. + // + // ConfigurationSetName is a required field + ConfigurationSetName *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the protect configuration. + // + // ProtectConfigurationArn is a required field + ProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateProtectConfigurationOutput) 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 AssociateProtectConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfigurationSetArn sets the ConfigurationSetArn field's value. +func (s *AssociateProtectConfigurationOutput) SetConfigurationSetArn(v string) *AssociateProtectConfigurationOutput { + s.ConfigurationSetArn = &v + return s +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *AssociateProtectConfigurationOutput) SetConfigurationSetName(v string) *AssociateProtectConfigurationOutput { + s.ConfigurationSetName = &v + return s +} + +// SetProtectConfigurationArn sets the ProtectConfigurationArn field's value. +func (s *AssociateProtectConfigurationOutput) SetProtectConfigurationArn(v string) *AssociateProtectConfigurationOutput { + s.ProtectConfigurationArn = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *AssociateProtectConfigurationOutput) SetProtectConfigurationId(v string) *AssociateProtectConfigurationOutput { + s.ProtectConfigurationId = &v + return s +} + +// Contains the destination configuration to use when publishing message sending +// events. +type CloudWatchLogsDestination struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of an Identity and Access Management role + // that is able to write event data to an Amazon CloudWatch destination. + // + // IamRoleArn is a required field + IamRoleArn *string `min:"20" type:"string" required:"true"` + + // The name of the Amazon CloudWatch log group that you want to record events + // in. + // + // LogGroupArn is a required field + LogGroupArn *string `min:"20" 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 CloudWatchLogsDestination) 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 CloudWatchLogsDestination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloudWatchLogsDestination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsDestination"} + if s.IamRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) + } + if s.IamRoleArn != nil && len(*s.IamRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 20)) + } + if s.LogGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("LogGroupArn")) + } + if s.LogGroupArn != nil && len(*s.LogGroupArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("LogGroupArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *CloudWatchLogsDestination) SetIamRoleArn(v string) *CloudWatchLogsDestination { + s.IamRoleArn = &v + return s +} + +// SetLogGroupArn sets the LogGroupArn field's value. +func (s *CloudWatchLogsDestination) SetLogGroupArn(v string) *CloudWatchLogsDestination { + s.LogGroupArn = &v + return s +} + +// The information for configuration sets that meet a specified criteria. type ConfigurationSetFilter struct { _ struct{} `type:"structure"` @@ -8627,6 +10081,9 @@ type ConfigurationSetInformation struct { // // EventDestinations is a required field EventDestinations []*EventDestination `type:"list" required:"true"` + + // The unique identifier for the protect configuration. + ProtectConfigurationId *string `min:"1" type:"string"` } // String returns the string representation. @@ -8683,6 +10140,12 @@ func (s *ConfigurationSetInformation) SetEventDestinations(v []*EventDestination return s } +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *ConfigurationSetInformation) SetProtectConfigurationId(v string) *ConfigurationSetInformation { + s.ProtectConfigurationId = &v + return s +} + // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time // or it could be that the requested action isn't valid for the current state @@ -8911,7 +10374,7 @@ type CreateEventDestinationInput struct { ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` // An object that contains information about an event destination for logging - // to Amazon CloudWatch logs. + // to Amazon CloudWatch Logs. CloudWatchLogsDestination *CloudWatchLogsDestination `type:"structure"` // Either the name of the configuration set or the configuration set ARN to @@ -9523,6 +10986,170 @@ func (s *CreatePoolOutput) SetTwoWayEnabled(v bool) *CreatePoolOutput { return s } +type CreateProtectConfigurationInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. If you don't specify a client token, a randomly generated + // token is used for the request to ensure idempotency. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // When set to true deletion protection is enabled. By default this is set to + // false. + DeletionProtectionEnabled *bool `type:"boolean"` + + // An array of key and value pair tags that are associated with the resource. + Tags []*Tag `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 CreateProtectConfigurationInput) 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 CreateProtectConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProtectConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProtectConfigurationInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateProtectConfigurationInput) SetClientToken(v string) *CreateProtectConfigurationInput { + s.ClientToken = &v + return s +} + +// SetDeletionProtectionEnabled sets the DeletionProtectionEnabled field's value. +func (s *CreateProtectConfigurationInput) SetDeletionProtectionEnabled(v bool) *CreateProtectConfigurationInput { + s.DeletionProtectionEnabled = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateProtectConfigurationInput) SetTags(v []*Tag) *CreateProtectConfigurationInput { + s.Tags = v + return s +} + +type CreateProtectConfigurationOutput struct { + _ struct{} `type:"structure"` + + // This is true if the protect configuration is set as your account default + // protect configuration. + // + // AccountDefault is a required field + AccountDefault *bool `type:"boolean" required:"true"` + + // The time when the protect configuration was created, in UNIX epoch time (https://www.epochconverter.com/) + // format. + // + // CreatedTimestamp is a required field + CreatedTimestamp *time.Time `type:"timestamp" required:"true"` + + // When set to true deletion protection is enabled. By default this is set to + // false. + // + // DeletionProtectionEnabled is a required field + DeletionProtectionEnabled *bool `type:"boolean" required:"true"` + + // The Amazon Resource Name (ARN) of the protect configuration. + // + // ProtectConfigurationArn is a required field + ProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` + + // An array of key and value pair tags that are associated with the resource. + Tags []*Tag `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 CreateProtectConfigurationOutput) 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 CreateProtectConfigurationOutput) GoString() string { + return s.String() +} + +// SetAccountDefault sets the AccountDefault field's value. +func (s *CreateProtectConfigurationOutput) SetAccountDefault(v bool) *CreateProtectConfigurationOutput { + s.AccountDefault = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *CreateProtectConfigurationOutput) SetCreatedTimestamp(v time.Time) *CreateProtectConfigurationOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDeletionProtectionEnabled sets the DeletionProtectionEnabled field's value. +func (s *CreateProtectConfigurationOutput) SetDeletionProtectionEnabled(v bool) *CreateProtectConfigurationOutput { + s.DeletionProtectionEnabled = &v + return s +} + +// SetProtectConfigurationArn sets the ProtectConfigurationArn field's value. +func (s *CreateProtectConfigurationOutput) SetProtectConfigurationArn(v string) *CreateProtectConfigurationOutput { + s.ProtectConfigurationArn = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *CreateProtectConfigurationOutput) SetProtectConfigurationId(v string) *CreateProtectConfigurationOutput { + s.ProtectConfigurationId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateProtectConfigurationOutput) SetTags(v []*Tag) *CreateProtectConfigurationOutput { + s.Tags = v + return s +} + type CreateRegistrationAssociationInput struct { _ struct{} `type:"structure"` @@ -10409,11 +12036,77 @@ func (s *CreateVerifiedDestinationNumberOutput) SetVerifiedDestinationNumberId(v return s } -type DeleteConfigurationSetInput struct { +type DeleteAccountDefaultProtectConfigurationInput struct { _ struct{} `type:"structure"` +} - // The name of the configuration set or the configuration set ARN that you want - // to delete. The ConfigurationSetName and ConfigurationSetArn can be found +// 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 DeleteAccountDefaultProtectConfigurationInput) 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 DeleteAccountDefaultProtectConfigurationInput) GoString() string { + return s.String() +} + +type DeleteAccountDefaultProtectConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the account default protect configuration. + // + // DefaultProtectConfigurationArn is a required field + DefaultProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier of the account default protect configuration. + // + // DefaultProtectConfigurationId is a required field + DefaultProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAccountDefaultProtectConfigurationOutput) 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 DeleteAccountDefaultProtectConfigurationOutput) GoString() string { + return s.String() +} + +// SetDefaultProtectConfigurationArn sets the DefaultProtectConfigurationArn field's value. +func (s *DeleteAccountDefaultProtectConfigurationOutput) SetDefaultProtectConfigurationArn(v string) *DeleteAccountDefaultProtectConfigurationOutput { + s.DefaultProtectConfigurationArn = &v + return s +} + +// SetDefaultProtectConfigurationId sets the DefaultProtectConfigurationId field's value. +func (s *DeleteAccountDefaultProtectConfigurationOutput) SetDefaultProtectConfigurationId(v string) *DeleteAccountDefaultProtectConfigurationOutput { + s.DefaultProtectConfigurationId = &v + return s +} + +type DeleteConfigurationSetInput struct { + _ struct{} `type:"structure"` + + // The name of the configuration set or the configuration set ARN that you want + // to delete. The ConfigurationSetName and ConfigurationSetArn can be found // using the DescribeConfigurationSets action. // // ConfigurationSetName is a required field @@ -10993,6 +12686,59 @@ func (s *DeleteKeywordOutput) SetOriginationIdentityArn(v string) *DeleteKeyword return s } +type DeleteMediaMessageSpendLimitOverrideInput 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 DeleteMediaMessageSpendLimitOverrideInput) 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 DeleteMediaMessageSpendLimitOverrideInput) GoString() string { + return s.String() +} + +type DeleteMediaMessageSpendLimitOverrideOutput struct { + _ struct{} `type:"structure"` + + // The current monthly limit, in US dollars. + MonthlyLimit *int64 `type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMediaMessageSpendLimitOverrideOutput) 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 DeleteMediaMessageSpendLimitOverrideOutput) GoString() string { + return s.String() +} + +// SetMonthlyLimit sets the MonthlyLimit field's value. +func (s *DeleteMediaMessageSpendLimitOverrideOutput) SetMonthlyLimit(v int64) *DeleteMediaMessageSpendLimitOverrideOutput { + s.MonthlyLimit = &v + return s +} + type DeleteOptOutListInput struct { _ struct{} `type:"structure"` @@ -11413,6 +13159,135 @@ func (s *DeletePoolOutput) SetTwoWayEnabled(v bool) *DeletePoolOutput { return s } +type DeleteProtectConfigurationInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProtectConfigurationInput) 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 DeleteProtectConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProtectConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProtectConfigurationInput"} + if s.ProtectConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectConfigurationId")) + } + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *DeleteProtectConfigurationInput) SetProtectConfigurationId(v string) *DeleteProtectConfigurationInput { + s.ProtectConfigurationId = &v + return s +} + +type DeleteProtectConfigurationOutput struct { + _ struct{} `type:"structure"` + + // This is true if the protect configuration is set as your account default + // protect configuration. + // + // AccountDefault is a required field + AccountDefault *bool `type:"boolean" required:"true"` + + // The time when the protect configuration was created, in UNIX epoch time (https://www.epochconverter.com/) + // format. + // + // CreatedTimestamp is a required field + CreatedTimestamp *time.Time `type:"timestamp" required:"true"` + + // The status of deletion protection for the protect configuration. When set + // to true deletion protection is enabled. By default this is set to false. + // + // DeletionProtectionEnabled is a required field + DeletionProtectionEnabled *bool `type:"boolean" required:"true"` + + // The Amazon Resource Name (ARN) of the protect configuration. + // + // ProtectConfigurationArn is a required field + ProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProtectConfigurationOutput) 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 DeleteProtectConfigurationOutput) GoString() string { + return s.String() +} + +// SetAccountDefault sets the AccountDefault field's value. +func (s *DeleteProtectConfigurationOutput) SetAccountDefault(v bool) *DeleteProtectConfigurationOutput { + s.AccountDefault = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *DeleteProtectConfigurationOutput) SetCreatedTimestamp(v time.Time) *DeleteProtectConfigurationOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDeletionProtectionEnabled sets the DeletionProtectionEnabled field's value. +func (s *DeleteProtectConfigurationOutput) SetDeletionProtectionEnabled(v bool) *DeleteProtectConfigurationOutput { + s.DeletionProtectionEnabled = &v + return s +} + +// SetProtectConfigurationArn sets the ProtectConfigurationArn field's value. +func (s *DeleteProtectConfigurationOutput) SetProtectConfigurationArn(v string) *DeleteProtectConfigurationOutput { + s.ProtectConfigurationArn = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *DeleteProtectConfigurationOutput) SetProtectConfigurationId(v string) *DeleteProtectConfigurationOutput { + s.ProtectConfigurationId = &v + return s +} + type DeleteRegistrationAttachmentInput struct { _ struct{} `type:"structure"` @@ -13129,11 +15004,11 @@ func (s *DescribePoolsOutput) SetPools(v []*PoolInformation) *DescribePoolsOutpu return s } -type DescribeRegistrationAttachmentsInput struct { +type DescribeProtectConfigurationsInput struct { _ struct{} `type:"structure"` - // An array of RegistrationAttachmentFilter objects to filter the results. - Filters []*RegistrationAttachmentFilter `type:"list"` + // An array of ProtectConfigurationFilter objects to filter the results. + Filters []*ProtectConfigurationFilter `type:"list"` // The maximum number of results to return per each request. MaxResults *int64 `min:"1" type:"integer"` @@ -13142,9 +15017,8 @@ type DescribeRegistrationAttachmentsInput struct { // to supply a value for this field in the initial request. NextToken *string `min:"1" type:"string"` - // The unique identifier of registration attachments to find. This is an array - // of RegistrationAttachmentId. - RegistrationAttachmentIds []*string `type:"list"` + // An array of protect configuration identifiers to search for. + ProtectConfigurationIds []*string `type:"list"` } // String returns the string representation. @@ -13152,7 +15026,7 @@ type DescribeRegistrationAttachmentsInput 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 DescribeRegistrationAttachmentsInput) String() string { +func (s DescribeProtectConfigurationsInput) String() string { return awsutil.Prettify(s) } @@ -13161,13 +15035,13 @@ func (s DescribeRegistrationAttachmentsInput) 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 DescribeRegistrationAttachmentsInput) GoString() string { +func (s DescribeProtectConfigurationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeRegistrationAttachmentsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeRegistrationAttachmentsInput"} +func (s *DescribeProtectConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeProtectConfigurationsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -13192,41 +15066,39 @@ func (s *DescribeRegistrationAttachmentsInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *DescribeRegistrationAttachmentsInput) SetFilters(v []*RegistrationAttachmentFilter) *DescribeRegistrationAttachmentsInput { +func (s *DescribeProtectConfigurationsInput) SetFilters(v []*ProtectConfigurationFilter) *DescribeProtectConfigurationsInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *DescribeRegistrationAttachmentsInput) SetMaxResults(v int64) *DescribeRegistrationAttachmentsInput { +func (s *DescribeProtectConfigurationsInput) SetMaxResults(v int64) *DescribeProtectConfigurationsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeRegistrationAttachmentsInput) SetNextToken(v string) *DescribeRegistrationAttachmentsInput { +func (s *DescribeProtectConfigurationsInput) SetNextToken(v string) *DescribeProtectConfigurationsInput { s.NextToken = &v return s } -// SetRegistrationAttachmentIds sets the RegistrationAttachmentIds field's value. -func (s *DescribeRegistrationAttachmentsInput) SetRegistrationAttachmentIds(v []*string) *DescribeRegistrationAttachmentsInput { - s.RegistrationAttachmentIds = v +// SetProtectConfigurationIds sets the ProtectConfigurationIds field's value. +func (s *DescribeProtectConfigurationsInput) SetProtectConfigurationIds(v []*string) *DescribeProtectConfigurationsInput { + s.ProtectConfigurationIds = v return s } -type DescribeRegistrationAttachmentsOutput struct { +type DescribeProtectConfigurationsOutput struct { _ struct{} `type:"structure"` // The token to be used for the next set of paginated results. You don't need // to supply a value for this field in the initial request. NextToken *string `min:"1" type:"string"` - // An array of RegistrationAttachments objects that contain the details for - // the requested registration attachments. - // - // RegistrationAttachments is a required field - RegistrationAttachments []*RegistrationAttachmentsInformation `type:"list" required:"true"` + // An array of ProtectConfigurationInformation objects that contain the details + // for the request. + ProtectConfigurations []*ProtectConfigurationInformation `min:"1" type:"list"` } // String returns the string representation. @@ -13234,7 +15106,7 @@ type DescribeRegistrationAttachmentsOutput 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 DescribeRegistrationAttachmentsOutput) String() string { +func (s DescribeProtectConfigurationsOutput) String() string { return awsutil.Prettify(s) } @@ -13243,27 +15115,27 @@ func (s DescribeRegistrationAttachmentsOutput) 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 DescribeRegistrationAttachmentsOutput) GoString() string { +func (s DescribeProtectConfigurationsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *DescribeRegistrationAttachmentsOutput) SetNextToken(v string) *DescribeRegistrationAttachmentsOutput { +func (s *DescribeProtectConfigurationsOutput) SetNextToken(v string) *DescribeProtectConfigurationsOutput { s.NextToken = &v return s } -// SetRegistrationAttachments sets the RegistrationAttachments field's value. -func (s *DescribeRegistrationAttachmentsOutput) SetRegistrationAttachments(v []*RegistrationAttachmentsInformation) *DescribeRegistrationAttachmentsOutput { - s.RegistrationAttachments = v +// SetProtectConfigurations sets the ProtectConfigurations field's value. +func (s *DescribeProtectConfigurationsOutput) SetProtectConfigurations(v []*ProtectConfigurationInformation) *DescribeProtectConfigurationsOutput { + s.ProtectConfigurations = v return s } -type DescribeRegistrationFieldDefinitionsInput struct { +type DescribeRegistrationAttachmentsInput struct { _ struct{} `type:"structure"` - // An array of paths to the registration form field. - FieldPaths []*string `type:"list"` + // An array of RegistrationAttachmentFilter objects to filter the results. + Filters []*RegistrationAttachmentFilter `type:"list"` // The maximum number of results to return per each request. MaxResults *int64 `min:"1" type:"integer"` @@ -13272,14 +15144,9 @@ type DescribeRegistrationFieldDefinitionsInput struct { // to supply a value for this field in the initial request. NextToken *string `min:"1" type:"string"` - // The type of registration form. The list of RegistrationTypes can be found - // using the DescribeRegistrationTypeDefinitions action. - // - // RegistrationType is a required field - RegistrationType *string `min:"1" type:"string" required:"true"` - - // The path to the section of the registration. - SectionPath *string `min:"1" type:"string"` + // The unique identifier of registration attachments to find. This is an array + // of RegistrationAttachmentId. + RegistrationAttachmentIds []*string `type:"list"` } // String returns the string representation. @@ -13287,7 +15154,7 @@ type DescribeRegistrationFieldDefinitionsInput 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 DescribeRegistrationFieldDefinitionsInput) String() string { +func (s DescribeRegistrationAttachmentsInput) String() string { return awsutil.Prettify(s) } @@ -13296,27 +15163,28 @@ func (s DescribeRegistrationFieldDefinitionsInput) 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 DescribeRegistrationFieldDefinitionsInput) GoString() string { +func (s DescribeRegistrationAttachmentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeRegistrationFieldDefinitionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeRegistrationFieldDefinitionsInput"} +func (s *DescribeRegistrationAttachmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRegistrationAttachmentsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.RegistrationType == nil { - invalidParams.Add(request.NewErrParamRequired("RegistrationType")) - } - if s.RegistrationType != nil && len(*s.RegistrationType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RegistrationType", 1)) - } - if s.SectionPath != nil && len(*s.SectionPath) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SectionPath", 1)) + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -13325,9 +15193,143 @@ func (s *DescribeRegistrationFieldDefinitionsInput) Validate() error { return nil } -// SetFieldPaths sets the FieldPaths field's value. -func (s *DescribeRegistrationFieldDefinitionsInput) SetFieldPaths(v []*string) *DescribeRegistrationFieldDefinitionsInput { - s.FieldPaths = v +// SetFilters sets the Filters field's value. +func (s *DescribeRegistrationAttachmentsInput) SetFilters(v []*RegistrationAttachmentFilter) *DescribeRegistrationAttachmentsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeRegistrationAttachmentsInput) SetMaxResults(v int64) *DescribeRegistrationAttachmentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeRegistrationAttachmentsInput) SetNextToken(v string) *DescribeRegistrationAttachmentsInput { + s.NextToken = &v + return s +} + +// SetRegistrationAttachmentIds sets the RegistrationAttachmentIds field's value. +func (s *DescribeRegistrationAttachmentsInput) SetRegistrationAttachmentIds(v []*string) *DescribeRegistrationAttachmentsInput { + s.RegistrationAttachmentIds = v + return s +} + +type DescribeRegistrationAttachmentsOutput struct { + _ struct{} `type:"structure"` + + // The token to be used for the next set of paginated results. You don't need + // to supply a value for this field in the initial request. + NextToken *string `min:"1" type:"string"` + + // An array of RegistrationAttachments objects that contain the details for + // the requested registration attachments. + // + // RegistrationAttachments is a required field + RegistrationAttachments []*RegistrationAttachmentsInformation `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRegistrationAttachmentsOutput) 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 DescribeRegistrationAttachmentsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeRegistrationAttachmentsOutput) SetNextToken(v string) *DescribeRegistrationAttachmentsOutput { + s.NextToken = &v + return s +} + +// SetRegistrationAttachments sets the RegistrationAttachments field's value. +func (s *DescribeRegistrationAttachmentsOutput) SetRegistrationAttachments(v []*RegistrationAttachmentsInformation) *DescribeRegistrationAttachmentsOutput { + s.RegistrationAttachments = v + return s +} + +type DescribeRegistrationFieldDefinitionsInput struct { + _ struct{} `type:"structure"` + + // An array of paths to the registration form field. + FieldPaths []*string `type:"list"` + + // The maximum number of results to return per each request. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to be used for the next set of paginated results. You don't need + // to supply a value for this field in the initial request. + NextToken *string `min:"1" type:"string"` + + // The type of registration form. The list of RegistrationTypes can be found + // using the DescribeRegistrationTypeDefinitions action. + // + // RegistrationType is a required field + RegistrationType *string `min:"1" type:"string" required:"true"` + + // The path to the section of the registration. + SectionPath *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 DescribeRegistrationFieldDefinitionsInput) 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 DescribeRegistrationFieldDefinitionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRegistrationFieldDefinitionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRegistrationFieldDefinitionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.RegistrationType == nil { + invalidParams.Add(request.NewErrParamRequired("RegistrationType")) + } + if s.RegistrationType != nil && len(*s.RegistrationType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistrationType", 1)) + } + if s.SectionPath != nil && len(*s.SectionPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SectionPath", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFieldPaths sets the FieldPaths field's value. +func (s *DescribeRegistrationFieldDefinitionsInput) SetFieldPaths(v []*string) *DescribeRegistrationFieldDefinitionsInput { + s.FieldPaths = v return s } @@ -14702,6 +16704,138 @@ func (s *DisassociateOriginationIdentityOutput) SetPoolId(v string) *Disassociat return s } +type DisassociateProtectConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the ConfigurationSet. + // + // ConfigurationSetName is a required field + ConfigurationSetName *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateProtectConfigurationInput) 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 DisassociateProtectConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateProtectConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateProtectConfigurationInput"} + if s.ConfigurationSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationSetName")) + } + if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1)) + } + if s.ProtectConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectConfigurationId")) + } + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *DisassociateProtectConfigurationInput) SetConfigurationSetName(v string) *DisassociateProtectConfigurationInput { + s.ConfigurationSetName = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *DisassociateProtectConfigurationInput) SetProtectConfigurationId(v string) *DisassociateProtectConfigurationInput { + s.ProtectConfigurationId = &v + return s +} + +type DisassociateProtectConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configuration set. + // + // ConfigurationSetArn is a required field + ConfigurationSetArn *string `type:"string" required:"true"` + + // The name of the ConfigurationSet. + // + // ConfigurationSetName is a required field + ConfigurationSetName *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the protect configuration. + // + // ProtectConfigurationArn is a required field + ProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateProtectConfigurationOutput) 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 DisassociateProtectConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfigurationSetArn sets the ConfigurationSetArn field's value. +func (s *DisassociateProtectConfigurationOutput) SetConfigurationSetArn(v string) *DisassociateProtectConfigurationOutput { + s.ConfigurationSetArn = &v + return s +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *DisassociateProtectConfigurationOutput) SetConfigurationSetName(v string) *DisassociateProtectConfigurationOutput { + s.ConfigurationSetName = &v + return s +} + +// SetProtectConfigurationArn sets the ProtectConfigurationArn field's value. +func (s *DisassociateProtectConfigurationOutput) SetProtectConfigurationArn(v string) *DisassociateProtectConfigurationOutput { + s.ProtectConfigurationArn = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *DisassociateProtectConfigurationOutput) SetProtectConfigurationId(v string) *DisassociateProtectConfigurationOutput { + s.ProtectConfigurationId = &v + return s +} + type DiscardRegistrationVersionInput struct { _ struct{} `type:"structure"` @@ -14850,7 +16984,7 @@ func (s *DiscardRegistrationVersionOutput) SetVersionNumber(v int64) *DiscardReg // Contains information about an event destination. // // Event destinations are associated with configuration sets, which enable you -// to publish message sending events to CloudWatch, Kinesis Data Firehose,or +// to publish message sending events to CloudWatch, Kinesis Data Firehose, or // Amazon SNS. type EventDestination struct { _ struct{} `type:"structure"` @@ -14939,16 +17073,19 @@ func (s *EventDestination) SetSnsDestination(v *SnsDestination) *EventDestinatio return s } -// The API encountered an unexpected error and couldn't complete the request. -// You might be able to successfully issue the request again in the future. -type InternalServerException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type GetProtectConfigurationCountryRuleSetInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The capability type to return the CountryRuleSet for. Valid values are SMS, + // VOICE, or MMS. + // + // NumberCapability is a required field + NumberCapability *string `type:"string" required:"true" enum:"NumberCapability"` - // The unique identifier of the request. - RequestId *string `type:"string"` + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -14956,7 +17093,7 @@ type InternalServerException 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 InternalServerException) String() string { +func (s GetProtectConfigurationCountryRuleSetInput) String() string { return awsutil.Prettify(s) } @@ -14965,15 +17102,147 @@ func (s InternalServerException) 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 InternalServerException) GoString() string { +func (s GetProtectConfigurationCountryRuleSetInput) GoString() string { return s.String() } -func newErrorInternalServerException(v protocol.ResponseMetadata) error { - return &InternalServerException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetProtectConfigurationCountryRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProtectConfigurationCountryRuleSetInput"} + if s.NumberCapability == nil { + invalidParams.Add(request.NewErrParamRequired("NumberCapability")) + } + if s.ProtectConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectConfigurationId")) + } + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) } -} + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNumberCapability sets the NumberCapability field's value. +func (s *GetProtectConfigurationCountryRuleSetInput) SetNumberCapability(v string) *GetProtectConfigurationCountryRuleSetInput { + s.NumberCapability = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *GetProtectConfigurationCountryRuleSetInput) SetProtectConfigurationId(v string) *GetProtectConfigurationCountryRuleSetInput { + s.ProtectConfigurationId = &v + return s +} + +type GetProtectConfigurationCountryRuleSetOutput struct { + _ struct{} `type:"structure"` + + // A map of ProtectConfigurationCountryRuleSetInformation objects that contain + // the details for the requested NumberCapability. The Key is the two-letter + // ISO country code. For a list of supported ISO country codes, see Supported + // countries and regions (SMS channel) (https://docs.aws.amazon.com/sms-voice/latest/userguide/phone-numbers-sms-by-country.html) + // in the Amazon Pinpoint SMS user guide. + // + // CountryRuleSet is a required field + CountryRuleSet map[string]*ProtectConfigurationCountryRuleSetInformation `min:"1" type:"map" required:"true"` + + // The capability type associated with the returned ProtectConfigurationCountryRuleSetInformation + // objects. + // + // NumberCapability is a required field + NumberCapability *string `type:"string" required:"true" enum:"NumberCapability"` + + // The Amazon Resource Name (ARN) of the protect configuration. + // + // ProtectConfigurationArn is a required field + ProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProtectConfigurationCountryRuleSetOutput) 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 GetProtectConfigurationCountryRuleSetOutput) GoString() string { + return s.String() +} + +// SetCountryRuleSet sets the CountryRuleSet field's value. +func (s *GetProtectConfigurationCountryRuleSetOutput) SetCountryRuleSet(v map[string]*ProtectConfigurationCountryRuleSetInformation) *GetProtectConfigurationCountryRuleSetOutput { + s.CountryRuleSet = v + return s +} + +// SetNumberCapability sets the NumberCapability field's value. +func (s *GetProtectConfigurationCountryRuleSetOutput) SetNumberCapability(v string) *GetProtectConfigurationCountryRuleSetOutput { + s.NumberCapability = &v + return s +} + +// SetProtectConfigurationArn sets the ProtectConfigurationArn field's value. +func (s *GetProtectConfigurationCountryRuleSetOutput) SetProtectConfigurationArn(v string) *GetProtectConfigurationCountryRuleSetOutput { + s.ProtectConfigurationArn = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *GetProtectConfigurationCountryRuleSetOutput) SetProtectConfigurationId(v string) *GetProtectConfigurationCountryRuleSetOutput { + s.ProtectConfigurationId = &v + return s +} + +// The API encountered an unexpected error and couldn't complete the request. +// You might be able to successfully issue the request again in the future. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The unique identifier of the request. + RequestId *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 InternalServerException) 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 InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} // Code returns the exception type name. func (s *InternalServerException) Code() string { @@ -15128,7 +17397,7 @@ func (s *KeywordInformation) SetKeywordMessage(v string) *KeywordInformation { } // Contains the delivery stream Amazon Resource Name (ARN), and the ARN of the -// Identity and Access Management (IAM) role associated with an Kinesis Data +// Identity and Access Management (IAM) role associated with a Kinesis Data // Firehose event destination. // // Event destinations, such as Kinesis Data Firehose, are associated with configuration @@ -15141,8 +17410,8 @@ type KinesisFirehoseDestination struct { // DeliveryStreamArn is a required field DeliveryStreamArn *string `min:"20" type:"string" required:"true"` - // The ARN of an Amazon Identity and Access Management (IAM) role that is able - // to write event data to an Amazon Firehose destination. + // The ARN of an Identity and Access Management role that is able to write event + // data to an Amazon Kinesis Data Firehose destination. // // IamRoleArn is a required field IamRoleArn *string `min:"20" type:"string" required:"true"` @@ -16453,6 +18722,199 @@ func (s *PoolOriginationIdentitiesFilter) SetValues(v []*string) *PoolOriginatio return s } +// The types of statuses that can be used. +type ProtectConfigurationCountryRuleSetInformation struct { + _ struct{} `type:"structure"` + + // The types of protection that can be used. + // + // ProtectStatus is a required field + ProtectStatus *string `type:"string" required:"true" enum:"ProtectStatus"` +} + +// 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 ProtectConfigurationCountryRuleSetInformation) 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 ProtectConfigurationCountryRuleSetInformation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProtectConfigurationCountryRuleSetInformation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProtectConfigurationCountryRuleSetInformation"} + if s.ProtectStatus == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectStatus")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProtectStatus sets the ProtectStatus field's value. +func (s *ProtectConfigurationCountryRuleSetInformation) SetProtectStatus(v string) *ProtectConfigurationCountryRuleSetInformation { + s.ProtectStatus = &v + return s +} + +// The filter definition for filtering protect configurations that meet a specified +// criteria. +type ProtectConfigurationFilter struct { + _ struct{} `type:"structure"` + + // The name of the attribute to filter on. + // + // Name is a required field + Name *string `type:"string" required:"true" enum:"ProtectConfigurationFilterName"` + + // An array of values to filter for. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProtectConfigurationFilter) 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 ProtectConfigurationFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProtectConfigurationFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProtectConfigurationFilter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ProtectConfigurationFilter) SetName(v string) *ProtectConfigurationFilter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *ProtectConfigurationFilter) SetValues(v []*string) *ProtectConfigurationFilter { + s.Values = v + return s +} + +// Provides information on the specified protect configuration. +type ProtectConfigurationInformation struct { + _ struct{} `type:"structure"` + + // This is true if the protect configuration is set as your account default + // protect configuration. + // + // AccountDefault is a required field + AccountDefault *bool `type:"boolean" required:"true"` + + // The time when the protect configuration was created, in UNIX epoch time (https://www.epochconverter.com/) + // format. + // + // CreatedTimestamp is a required field + CreatedTimestamp *time.Time `type:"timestamp" required:"true"` + + // The status of deletion protection for the protect configuration. When set + // to true deletion protection is enabled. By default this is set to false. + // + // DeletionProtectionEnabled is a required field + DeletionProtectionEnabled *bool `type:"boolean" required:"true"` + + // The Amazon Resource Name (ARN) of the protect configuration. + // + // ProtectConfigurationArn is a required field + ProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProtectConfigurationInformation) 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 ProtectConfigurationInformation) GoString() string { + return s.String() +} + +// SetAccountDefault sets the AccountDefault field's value. +func (s *ProtectConfigurationInformation) SetAccountDefault(v bool) *ProtectConfigurationInformation { + s.AccountDefault = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *ProtectConfigurationInformation) SetCreatedTimestamp(v time.Time) *ProtectConfigurationInformation { + s.CreatedTimestamp = &v + return s +} + +// SetDeletionProtectionEnabled sets the DeletionProtectionEnabled field's value. +func (s *ProtectConfigurationInformation) SetDeletionProtectionEnabled(v bool) *ProtectConfigurationInformation { + s.DeletionProtectionEnabled = &v + return s +} + +// SetProtectConfigurationArn sets the ProtectConfigurationArn field's value. +func (s *ProtectConfigurationInformation) SetProtectConfigurationArn(v string) *ProtectConfigurationInformation { + s.ProtectConfigurationArn = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *ProtectConfigurationInformation) SetProtectConfigurationId(v string) *ProtectConfigurationInformation { + s.ProtectConfigurationId = &v + return s +} + type PutKeywordInput struct { _ struct{} `type:"structure"` @@ -19687,7 +22149,7 @@ func (s *SendDestinationNumberVerificationCodeOutput) SetMessageId(v string) *Se return s } -type SendTextMessageInput struct { +type SendMediaMessageInput struct { _ struct{} `type:"structure"` // The name of the configuration set to use. This can be either the ConfigurationSetName @@ -19698,12 +22160,6 @@ type SendTextMessageInput struct { // to the event destination. Context map[string]*string `type:"map"` - // This field is used for any country-specific registration requirements. Currently, - // this setting is only used when you send messages to recipients in India using - // a sender ID. For more information see Special requirements for sending SMS - // messages to recipients in India (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-senderid-india.html). - DestinationCountryParameters map[string]*string `type:"map"` - // The destination phone number in E.164 format. // // DestinationPhoneNumber is a required field @@ -19713,24 +22169,31 @@ type SendTextMessageInput struct { // the end recipient. DryRun *bool `type:"boolean"` - // When you register a short code in the US, you must specify a program name. - // If you don’t have a US short code, omit this attribute. - Keyword *string `min:"1" type:"string"` - - // The maximum amount that you want to spend, in US dollars, per each text message - // part. A text message can contain multiple parts. + // The maximum amount that you want to spend, in US dollars, per each MMS message. MaxPrice *string `min:"2" type:"string"` - // The body of the text message. - MessageBody *string `min:"1" type:"string"` + // An array of URLs to each media file to send. + // + // The media files have to be stored in a publicly available S3 bucket. Supported + // media file formats are listed in MMS file types, size and character limits + // (https://docs.aws.amazon.com/sms-voice/latest/userguide/mms-limitations-character.html). + // For more information on creating an S3 bucket and managing objects, see Creating + // a bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) + // and Uploading objects (https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) + // in the S3 user guide. + MediaUrls []*string `min:"1" type:"list"` - // The type of message. Valid values are for messages that are critical or time-sensitive - // and PROMOTIONAL for messages that aren't critical or time-sensitive. - MessageType *string `type:"string" enum:"MessageType"` + // The text body of the message. + MessageBody *string `min:"1" type:"string"` // The origination identity of the message. This can be either the PhoneNumber, // PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. - OriginationIdentity *string `min:"1" type:"string"` + // + // OriginationIdentity is a required field + OriginationIdentity *string `min:"1" type:"string" required:"true"` + + // The unique identifier of the protect configuration to use. + ProtectConfigurationId *string `min:"1" type:"string"` // How long the text message is valid for. By default this is 72 hours. TimeToLive *int64 `min:"5" type:"integer"` @@ -19741,7 +22204,7 @@ type SendTextMessageInput 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 SendTextMessageInput) String() string { +func (s SendMediaMessageInput) String() string { return awsutil.Prettify(s) } @@ -19750,7 +22213,208 @@ func (s SendTextMessageInput) 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 SendTextMessageInput) GoString() string { +func (s SendMediaMessageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendMediaMessageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendMediaMessageInput"} + if s.ConfigurationSetName != nil && len(*s.ConfigurationSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationSetName", 1)) + } + if s.DestinationPhoneNumber == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationPhoneNumber")) + } + if s.DestinationPhoneNumber != nil && len(*s.DestinationPhoneNumber) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DestinationPhoneNumber", 1)) + } + if s.MaxPrice != nil && len(*s.MaxPrice) < 2 { + invalidParams.Add(request.NewErrParamMinLen("MaxPrice", 2)) + } + if s.MediaUrls != nil && len(s.MediaUrls) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MediaUrls", 1)) + } + if s.MessageBody != nil && len(*s.MessageBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MessageBody", 1)) + } + if s.OriginationIdentity == nil { + invalidParams.Add(request.NewErrParamRequired("OriginationIdentity")) + } + if s.OriginationIdentity != nil && len(*s.OriginationIdentity) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OriginationIdentity", 1)) + } + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) + } + if s.TimeToLive != nil && *s.TimeToLive < 5 { + invalidParams.Add(request.NewErrParamMinValue("TimeToLive", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *SendMediaMessageInput) SetConfigurationSetName(v string) *SendMediaMessageInput { + s.ConfigurationSetName = &v + return s +} + +// SetContext sets the Context field's value. +func (s *SendMediaMessageInput) SetContext(v map[string]*string) *SendMediaMessageInput { + s.Context = v + return s +} + +// SetDestinationPhoneNumber sets the DestinationPhoneNumber field's value. +func (s *SendMediaMessageInput) SetDestinationPhoneNumber(v string) *SendMediaMessageInput { + s.DestinationPhoneNumber = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *SendMediaMessageInput) SetDryRun(v bool) *SendMediaMessageInput { + s.DryRun = &v + return s +} + +// SetMaxPrice sets the MaxPrice field's value. +func (s *SendMediaMessageInput) SetMaxPrice(v string) *SendMediaMessageInput { + s.MaxPrice = &v + return s +} + +// SetMediaUrls sets the MediaUrls field's value. +func (s *SendMediaMessageInput) SetMediaUrls(v []*string) *SendMediaMessageInput { + s.MediaUrls = v + return s +} + +// SetMessageBody sets the MessageBody field's value. +func (s *SendMediaMessageInput) SetMessageBody(v string) *SendMediaMessageInput { + s.MessageBody = &v + return s +} + +// SetOriginationIdentity sets the OriginationIdentity field's value. +func (s *SendMediaMessageInput) SetOriginationIdentity(v string) *SendMediaMessageInput { + s.OriginationIdentity = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *SendMediaMessageInput) SetProtectConfigurationId(v string) *SendMediaMessageInput { + s.ProtectConfigurationId = &v + return s +} + +// SetTimeToLive sets the TimeToLive field's value. +func (s *SendMediaMessageInput) SetTimeToLive(v int64) *SendMediaMessageInput { + s.TimeToLive = &v + return s +} + +type SendMediaMessageOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the message. + MessageId *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 SendMediaMessageOutput) 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 SendMediaMessageOutput) GoString() string { + return s.String() +} + +// SetMessageId sets the MessageId field's value. +func (s *SendMediaMessageOutput) SetMessageId(v string) *SendMediaMessageOutput { + s.MessageId = &v + return s +} + +type SendTextMessageInput struct { + _ struct{} `type:"structure"` + + // The name of the configuration set to use. This can be either the ConfigurationSetName + // or ConfigurationSetArn. + ConfigurationSetName *string `min:"1" type:"string"` + + // You can specify custom data in this field. If you do, that data is logged + // to the event destination. + Context map[string]*string `type:"map"` + + // This field is used for any country-specific registration requirements. Currently, + // this setting is only used when you send messages to recipients in India using + // a sender ID. For more information see Special requirements for sending SMS + // messages to recipients in India (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-senderid-india.html). + DestinationCountryParameters map[string]*string `type:"map"` + + // The destination phone number in E.164 format. + // + // DestinationPhoneNumber is a required field + DestinationPhoneNumber *string `min:"1" type:"string" required:"true"` + + // When set to true, the message is checked and validated, but isn't sent to + // the end recipient. + DryRun *bool `type:"boolean"` + + // When you register a short code in the US, you must specify a program name. + // If you don’t have a US short code, omit this attribute. + Keyword *string `min:"1" type:"string"` + + // The maximum amount that you want to spend, in US dollars, per each text message + // part. A text message can contain multiple parts. + MaxPrice *string `min:"2" type:"string"` + + // The body of the text message. + MessageBody *string `min:"1" type:"string"` + + // The type of message. Valid values are for messages that are critical or time-sensitive + // and PROMOTIONAL for messages that aren't critical or time-sensitive. + MessageType *string `type:"string" enum:"MessageType"` + + // The origination identity of the message. This can be either the PhoneNumber, + // PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. + OriginationIdentity *string `min:"1" type:"string"` + + // The unique identifier for the protect configuration. + ProtectConfigurationId *string `min:"1" type:"string"` + + // How long the text message is valid for. By default this is 72 hours. + TimeToLive *int64 `min:"5" 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 SendTextMessageInput) 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 SendTextMessageInput) GoString() string { return s.String() } @@ -19778,6 +22442,9 @@ func (s *SendTextMessageInput) Validate() error { if s.OriginationIdentity != nil && len(*s.OriginationIdentity) < 1 { invalidParams.Add(request.NewErrParamMinLen("OriginationIdentity", 1)) } + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) + } if s.TimeToLive != nil && *s.TimeToLive < 5 { invalidParams.Add(request.NewErrParamMinValue("TimeToLive", 5)) } @@ -19848,6 +22515,12 @@ func (s *SendTextMessageInput) SetOriginationIdentity(v string) *SendTextMessage return s } +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *SendTextMessageInput) SetProtectConfigurationId(v string) *SendTextMessageInput { + s.ProtectConfigurationId = &v + return s +} + // SetTimeToLive sets the TimeToLive field's value. func (s *SendTextMessageInput) SetTimeToLive(v int64) *SendTextMessageInput { s.TimeToLive = &v @@ -19926,6 +22599,9 @@ type SendVoiceMessageInput struct { // OriginationIdentity is a required field OriginationIdentity *string `min:"1" type:"string" required:"true"` + // The unique identifier for the protect configuration. + ProtectConfigurationId *string `min:"1" type:"string"` + // How long the voice message is valid for. By default this is 72 hours. TimeToLive *int64 `min:"5" type:"integer"` @@ -19976,6 +22652,9 @@ func (s *SendVoiceMessageInput) Validate() error { if s.OriginationIdentity != nil && len(*s.OriginationIdentity) < 1 { invalidParams.Add(request.NewErrParamMinLen("OriginationIdentity", 1)) } + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) + } if s.TimeToLive != nil && *s.TimeToLive < 5 { invalidParams.Add(request.NewErrParamMinValue("TimeToLive", 5)) } @@ -20034,6 +22713,12 @@ func (s *SendVoiceMessageInput) SetOriginationIdentity(v string) *SendVoiceMessa return s } +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *SendVoiceMessageInput) SetProtectConfigurationId(v string) *SendVoiceMessageInput { + s.ProtectConfigurationId = &v + return s +} + // SetTimeToLive sets the TimeToLive field's value. func (s *SendVoiceMessageInput) SetTimeToLive(v int64) *SendVoiceMessageInput { s.TimeToLive = &v @@ -20392,6 +23077,99 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } +type SetAccountDefaultProtectConfigurationInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SetAccountDefaultProtectConfigurationInput) 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 SetAccountDefaultProtectConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetAccountDefaultProtectConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetAccountDefaultProtectConfigurationInput"} + if s.ProtectConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectConfigurationId")) + } + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *SetAccountDefaultProtectConfigurationInput) SetProtectConfigurationId(v string) *SetAccountDefaultProtectConfigurationInput { + s.ProtectConfigurationId = &v + return s +} + +type SetAccountDefaultProtectConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the account default protect configuration. + // + // DefaultProtectConfigurationArn is a required field + DefaultProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier of the account default protect configuration. + // + // DefaultProtectConfigurationId is a required field + DefaultProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SetAccountDefaultProtectConfigurationOutput) 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 SetAccountDefaultProtectConfigurationOutput) GoString() string { + return s.String() +} + +// SetDefaultProtectConfigurationArn sets the DefaultProtectConfigurationArn field's value. +func (s *SetAccountDefaultProtectConfigurationOutput) SetDefaultProtectConfigurationArn(v string) *SetAccountDefaultProtectConfigurationOutput { + s.DefaultProtectConfigurationArn = &v + return s +} + +// SetDefaultProtectConfigurationId sets the DefaultProtectConfigurationId field's value. +func (s *SetAccountDefaultProtectConfigurationOutput) SetDefaultProtectConfigurationId(v string) *SetAccountDefaultProtectConfigurationOutput { + s.DefaultProtectConfigurationId = &v + return s +} + type SetDefaultMessageTypeInput struct { _ struct{} `type:"structure"` @@ -20596,7 +23374,96 @@ type SetDefaultSenderIdOutput 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 SetDefaultSenderIdOutput) String() string { +func (s SetDefaultSenderIdOutput) 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 SetDefaultSenderIdOutput) GoString() string { + return s.String() +} + +// SetConfigurationSetArn sets the ConfigurationSetArn field's value. +func (s *SetDefaultSenderIdOutput) SetConfigurationSetArn(v string) *SetDefaultSenderIdOutput { + s.ConfigurationSetArn = &v + return s +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *SetDefaultSenderIdOutput) SetConfigurationSetName(v string) *SetDefaultSenderIdOutput { + s.ConfigurationSetName = &v + return s +} + +// SetSenderId sets the SenderId field's value. +func (s *SetDefaultSenderIdOutput) SetSenderId(v string) *SetDefaultSenderIdOutput { + s.SenderId = &v + return s +} + +type SetMediaMessageSpendLimitOverrideInput struct { + _ struct{} `type:"structure"` + + // The new monthly limit to enforce on text messages. + // + // MonthlyLimit is a required field + MonthlyLimit *int64 `type:"long" 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 SetMediaMessageSpendLimitOverrideInput) 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 SetMediaMessageSpendLimitOverrideInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetMediaMessageSpendLimitOverrideInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetMediaMessageSpendLimitOverrideInput"} + if s.MonthlyLimit == nil { + invalidParams.Add(request.NewErrParamRequired("MonthlyLimit")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMonthlyLimit sets the MonthlyLimit field's value. +func (s *SetMediaMessageSpendLimitOverrideInput) SetMonthlyLimit(v int64) *SetMediaMessageSpendLimitOverrideInput { + s.MonthlyLimit = &v + return s +} + +type SetMediaMessageSpendLimitOverrideOutput struct { + _ struct{} `type:"structure"` + + // The current monthly limit to enforce on sending text messages. + MonthlyLimit *int64 `type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SetMediaMessageSpendLimitOverrideOutput) String() string { return awsutil.Prettify(s) } @@ -20605,25 +23472,13 @@ func (s SetDefaultSenderIdOutput) 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 SetDefaultSenderIdOutput) GoString() string { +func (s SetMediaMessageSpendLimitOverrideOutput) GoString() string { return s.String() } -// SetConfigurationSetArn sets the ConfigurationSetArn field's value. -func (s *SetDefaultSenderIdOutput) SetConfigurationSetArn(v string) *SetDefaultSenderIdOutput { - s.ConfigurationSetArn = &v - return s -} - -// SetConfigurationSetName sets the ConfigurationSetName field's value. -func (s *SetDefaultSenderIdOutput) SetConfigurationSetName(v string) *SetDefaultSenderIdOutput { - s.ConfigurationSetName = &v - return s -} - -// SetSenderId sets the SenderId field's value. -func (s *SetDefaultSenderIdOutput) SetSenderId(v string) *SetDefaultSenderIdOutput { - s.SenderId = &v +// SetMonthlyLimit sets the MonthlyLimit field's value. +func (s *SetMediaMessageSpendLimitOverrideOutput) SetMonthlyLimit(v int64) *SetMediaMessageSpendLimitOverrideOutput { + s.MonthlyLimit = &v return s } @@ -22270,6 +25125,306 @@ func (s *UpdatePoolOutput) SetTwoWayEnabled(v bool) *UpdatePoolOutput { return s } +type UpdateProtectConfigurationCountryRuleSetInput struct { + _ struct{} `type:"structure"` + + // A map of ProtectConfigurationCountryRuleSetInformation objects that contain + // the details for the requested NumberCapability. The Key is the two-letter + // ISO country code. For a list of supported ISO country codes, see Supported + // countries and regions (SMS channel) (https://docs.aws.amazon.com/sms-voice/latest/userguide/phone-numbers-sms-by-country.html) + // in the Amazon Pinpoint SMS user guide. + // + // CountryRuleSetUpdates is a required field + CountryRuleSetUpdates map[string]*ProtectConfigurationCountryRuleSetInformation `min:"1" type:"map" required:"true"` + + // The number capability to apply the CountryRuleSetUpdates updates to. + // + // NumberCapability is a required field + NumberCapability *string `type:"string" required:"true" enum:"NumberCapability"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProtectConfigurationCountryRuleSetInput) 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 UpdateProtectConfigurationCountryRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateProtectConfigurationCountryRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateProtectConfigurationCountryRuleSetInput"} + if s.CountryRuleSetUpdates == nil { + invalidParams.Add(request.NewErrParamRequired("CountryRuleSetUpdates")) + } + if s.CountryRuleSetUpdates != nil && len(s.CountryRuleSetUpdates) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CountryRuleSetUpdates", 1)) + } + if s.NumberCapability == nil { + invalidParams.Add(request.NewErrParamRequired("NumberCapability")) + } + if s.ProtectConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectConfigurationId")) + } + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) + } + if s.CountryRuleSetUpdates != nil { + for i, v := range s.CountryRuleSetUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CountryRuleSetUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCountryRuleSetUpdates sets the CountryRuleSetUpdates field's value. +func (s *UpdateProtectConfigurationCountryRuleSetInput) SetCountryRuleSetUpdates(v map[string]*ProtectConfigurationCountryRuleSetInformation) *UpdateProtectConfigurationCountryRuleSetInput { + s.CountryRuleSetUpdates = v + return s +} + +// SetNumberCapability sets the NumberCapability field's value. +func (s *UpdateProtectConfigurationCountryRuleSetInput) SetNumberCapability(v string) *UpdateProtectConfigurationCountryRuleSetInput { + s.NumberCapability = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *UpdateProtectConfigurationCountryRuleSetInput) SetProtectConfigurationId(v string) *UpdateProtectConfigurationCountryRuleSetInput { + s.ProtectConfigurationId = &v + return s +} + +type UpdateProtectConfigurationCountryRuleSetOutput struct { + _ struct{} `type:"structure"` + + // An array of ProtectConfigurationCountryRuleSetInformation containing the + // rules for the NumberCapability. + // + // CountryRuleSet is a required field + CountryRuleSet map[string]*ProtectConfigurationCountryRuleSetInformation `min:"1" type:"map" required:"true"` + + // The number capability that was updated + // + // NumberCapability is a required field + NumberCapability *string `type:"string" required:"true" enum:"NumberCapability"` + + // The Amazon Resource Name (ARN) of the protect configuration. + // + // ProtectConfigurationArn is a required field + ProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProtectConfigurationCountryRuleSetOutput) 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 UpdateProtectConfigurationCountryRuleSetOutput) GoString() string { + return s.String() +} + +// SetCountryRuleSet sets the CountryRuleSet field's value. +func (s *UpdateProtectConfigurationCountryRuleSetOutput) SetCountryRuleSet(v map[string]*ProtectConfigurationCountryRuleSetInformation) *UpdateProtectConfigurationCountryRuleSetOutput { + s.CountryRuleSet = v + return s +} + +// SetNumberCapability sets the NumberCapability field's value. +func (s *UpdateProtectConfigurationCountryRuleSetOutput) SetNumberCapability(v string) *UpdateProtectConfigurationCountryRuleSetOutput { + s.NumberCapability = &v + return s +} + +// SetProtectConfigurationArn sets the ProtectConfigurationArn field's value. +func (s *UpdateProtectConfigurationCountryRuleSetOutput) SetProtectConfigurationArn(v string) *UpdateProtectConfigurationCountryRuleSetOutput { + s.ProtectConfigurationArn = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *UpdateProtectConfigurationCountryRuleSetOutput) SetProtectConfigurationId(v string) *UpdateProtectConfigurationCountryRuleSetOutput { + s.ProtectConfigurationId = &v + return s +} + +type UpdateProtectConfigurationInput struct { + _ struct{} `type:"structure"` + + // When set to true deletion protection is enabled. By default this is set to + // false. + DeletionProtectionEnabled *bool `type:"boolean"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProtectConfigurationInput) 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 UpdateProtectConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateProtectConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateProtectConfigurationInput"} + if s.ProtectConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectConfigurationId")) + } + if s.ProtectConfigurationId != nil && len(*s.ProtectConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProtectConfigurationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeletionProtectionEnabled sets the DeletionProtectionEnabled field's value. +func (s *UpdateProtectConfigurationInput) SetDeletionProtectionEnabled(v bool) *UpdateProtectConfigurationInput { + s.DeletionProtectionEnabled = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *UpdateProtectConfigurationInput) SetProtectConfigurationId(v string) *UpdateProtectConfigurationInput { + s.ProtectConfigurationId = &v + return s +} + +type UpdateProtectConfigurationOutput struct { + _ struct{} `type:"structure"` + + // This is true if the protect configuration is set as your account default + // protect configuration. + // + // AccountDefault is a required field + AccountDefault *bool `type:"boolean" required:"true"` + + // The time when the protect configuration was created, in UNIX epoch time (https://www.epochconverter.com/) + // format. + // + // CreatedTimestamp is a required field + CreatedTimestamp *time.Time `type:"timestamp" required:"true"` + + // The status of deletion protection for the protect configuration. When set + // to true deletion protection is enabled. By default this is set to false. + // + // DeletionProtectionEnabled is a required field + DeletionProtectionEnabled *bool `type:"boolean" required:"true"` + + // The Amazon Resource Name (ARN) of the protect configuration. + // + // ProtectConfigurationArn is a required field + ProtectConfigurationArn *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the protect configuration. + // + // ProtectConfigurationId is a required field + ProtectConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProtectConfigurationOutput) 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 UpdateProtectConfigurationOutput) GoString() string { + return s.String() +} + +// SetAccountDefault sets the AccountDefault field's value. +func (s *UpdateProtectConfigurationOutput) SetAccountDefault(v bool) *UpdateProtectConfigurationOutput { + s.AccountDefault = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *UpdateProtectConfigurationOutput) SetCreatedTimestamp(v time.Time) *UpdateProtectConfigurationOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDeletionProtectionEnabled sets the DeletionProtectionEnabled field's value. +func (s *UpdateProtectConfigurationOutput) SetDeletionProtectionEnabled(v bool) *UpdateProtectConfigurationOutput { + s.DeletionProtectionEnabled = &v + return s +} + +// SetProtectConfigurationArn sets the ProtectConfigurationArn field's value. +func (s *UpdateProtectConfigurationOutput) SetProtectConfigurationArn(v string) *UpdateProtectConfigurationOutput { + s.ProtectConfigurationArn = &v + return s +} + +// SetProtectConfigurationId sets the ProtectConfigurationId field's value. +func (s *UpdateProtectConfigurationOutput) SetProtectConfigurationId(v string) *UpdateProtectConfigurationOutput { + s.ProtectConfigurationId = &v + return s +} + type UpdateSenderIdInput struct { _ struct{} `type:"structure"` @@ -22887,12 +26042,16 @@ func AccessDeniedExceptionReason_Values() []string { const ( // AccountAttributeNameAccountTier is a AccountAttributeName enum value AccountAttributeNameAccountTier = "ACCOUNT_TIER" + + // AccountAttributeNameDefaultProtectConfigurationId is a AccountAttributeName enum value + AccountAttributeNameDefaultProtectConfigurationId = "DEFAULT_PROTECT_CONFIGURATION_ID" ) // AccountAttributeName_Values returns all elements of the AccountAttributeName enum func AccountAttributeName_Values() []string { return []string{ AccountAttributeNameAccountTier, + AccountAttributeNameDefaultProtectConfigurationId, } } @@ -22984,6 +26143,9 @@ const ( // ConfigurationSetFilterNameDefaultSenderId is a ConfigurationSetFilterName enum value ConfigurationSetFilterNameDefaultSenderId = "default-sender-id" + + // ConfigurationSetFilterNameProtectConfigurationId is a ConfigurationSetFilterName enum value + ConfigurationSetFilterNameProtectConfigurationId = "protect-configuration-id" ) // ConfigurationSetFilterName_Values returns all elements of the ConfigurationSetFilterName enum @@ -22993,6 +26155,7 @@ func ConfigurationSetFilterName_Values() []string { ConfigurationSetFilterNameMatchingEventTypes, ConfigurationSetFilterNameDefaultMessageType, ConfigurationSetFilterNameDefaultSenderId, + ConfigurationSetFilterNameProtectConfigurationId, } } @@ -23089,6 +26252,18 @@ const ( // ConflictExceptionReasonVerificationAlreadyComplete is a ConflictExceptionReason enum value ConflictExceptionReasonVerificationAlreadyComplete = "VERIFICATION_ALREADY_COMPLETE" + + // ConflictExceptionReasonProtectConfigurationIsAccountDefault is a ConflictExceptionReason enum value + ConflictExceptionReasonProtectConfigurationIsAccountDefault = "PROTECT_CONFIGURATION_IS_ACCOUNT_DEFAULT" + + // ConflictExceptionReasonProtectConfigurationAssociatedWithConfigurationSet is a ConflictExceptionReason enum value + ConflictExceptionReasonProtectConfigurationAssociatedWithConfigurationSet = "PROTECT_CONFIGURATION_ASSOCIATED_WITH_CONFIGURATION_SET" + + // ConflictExceptionReasonProtectConfigurationNotAssociatedWithConfigurationSet is a ConflictExceptionReason enum value + ConflictExceptionReasonProtectConfigurationNotAssociatedWithConfigurationSet = "PROTECT_CONFIGURATION_NOT_ASSOCIATED_WITH_CONFIGURATION_SET" + + // ConflictExceptionReasonDestinationCountryBlockedByProtectConfiguration is a ConflictExceptionReason enum value + ConflictExceptionReasonDestinationCountryBlockedByProtectConfiguration = "DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION" ) // ConflictExceptionReason_Values returns all elements of the ConflictExceptionReason enum @@ -23125,6 +26300,10 @@ func ConflictExceptionReason_Values() []string { ConflictExceptionReasonTwoWayConfigMismatch, ConflictExceptionReasonVerificationCodeExpired, ConflictExceptionReasonVerificationAlreadyComplete, + ConflictExceptionReasonProtectConfigurationIsAccountDefault, + ConflictExceptionReasonProtectConfigurationAssociatedWithConfigurationSet, + ConflictExceptionReasonProtectConfigurationNotAssociatedWithConfigurationSet, + ConflictExceptionReasonDestinationCountryBlockedByProtectConfiguration, } } @@ -23219,6 +26398,57 @@ const ( // EventTypeVoiceTtlExpired is a EventType enum value EventTypeVoiceTtlExpired = "VOICE_TTL_EXPIRED" + + // EventTypeMediaAll is a EventType enum value + EventTypeMediaAll = "MEDIA_ALL" + + // EventTypeMediaPending is a EventType enum value + EventTypeMediaPending = "MEDIA_PENDING" + + // EventTypeMediaQueued is a EventType enum value + EventTypeMediaQueued = "MEDIA_QUEUED" + + // EventTypeMediaSuccessful is a EventType enum value + EventTypeMediaSuccessful = "MEDIA_SUCCESSFUL" + + // EventTypeMediaDelivered is a EventType enum value + EventTypeMediaDelivered = "MEDIA_DELIVERED" + + // EventTypeMediaInvalid is a EventType enum value + EventTypeMediaInvalid = "MEDIA_INVALID" + + // EventTypeMediaInvalidMessage is a EventType enum value + EventTypeMediaInvalidMessage = "MEDIA_INVALID_MESSAGE" + + // EventTypeMediaUnreachable is a EventType enum value + EventTypeMediaUnreachable = "MEDIA_UNREACHABLE" + + // EventTypeMediaCarrierUnreachable is a EventType enum value + EventTypeMediaCarrierUnreachable = "MEDIA_CARRIER_UNREACHABLE" + + // EventTypeMediaBlocked is a EventType enum value + EventTypeMediaBlocked = "MEDIA_BLOCKED" + + // EventTypeMediaCarrierBlocked is a EventType enum value + EventTypeMediaCarrierBlocked = "MEDIA_CARRIER_BLOCKED" + + // EventTypeMediaSpam is a EventType enum value + EventTypeMediaSpam = "MEDIA_SPAM" + + // EventTypeMediaUnknown is a EventType enum value + EventTypeMediaUnknown = "MEDIA_UNKNOWN" + + // EventTypeMediaTtlExpired is a EventType enum value + EventTypeMediaTtlExpired = "MEDIA_TTL_EXPIRED" + + // EventTypeMediaFileInaccessible is a EventType enum value + EventTypeMediaFileInaccessible = "MEDIA_FILE_INACCESSIBLE" + + // EventTypeMediaFileTypeUnsupported is a EventType enum value + EventTypeMediaFileTypeUnsupported = "MEDIA_FILE_TYPE_UNSUPPORTED" + + // EventTypeMediaFileSizeExceeded is a EventType enum value + EventTypeMediaFileSizeExceeded = "MEDIA_FILE_SIZE_EXCEEDED" ) // EventType_Values returns all elements of the EventType enum @@ -23249,6 +26479,23 @@ func EventType_Values() []string { EventTypeVoiceNoAnswer, EventTypeVoiceFailed, EventTypeVoiceTtlExpired, + EventTypeMediaAll, + EventTypeMediaPending, + EventTypeMediaQueued, + EventTypeMediaSuccessful, + EventTypeMediaDelivered, + EventTypeMediaInvalid, + EventTypeMediaInvalidMessage, + EventTypeMediaUnreachable, + EventTypeMediaCarrierUnreachable, + EventTypeMediaBlocked, + EventTypeMediaCarrierBlocked, + EventTypeMediaSpam, + EventTypeMediaUnknown, + EventTypeMediaTtlExpired, + EventTypeMediaFileInaccessible, + EventTypeMediaFileTypeUnsupported, + EventTypeMediaFileSizeExceeded, } } @@ -23406,6 +26653,9 @@ const ( // NumberCapabilityVoice is a NumberCapability enum value NumberCapabilityVoice = "VOICE" + + // NumberCapabilityMms is a NumberCapability enum value + NumberCapabilityMms = "MMS" ) // NumberCapability_Values returns all elements of the NumberCapability enum @@ -23413,6 +26663,7 @@ func NumberCapability_Values() []string { return []string{ NumberCapabilitySms, NumberCapabilityVoice, + NumberCapabilityMms, } } @@ -23608,6 +26859,38 @@ func PoolStatus_Values() []string { } } +const ( + // ProtectConfigurationFilterNameAccountDefault is a ProtectConfigurationFilterName enum value + ProtectConfigurationFilterNameAccountDefault = "account-default" + + // ProtectConfigurationFilterNameDeletionProtectionEnabled is a ProtectConfigurationFilterName enum value + ProtectConfigurationFilterNameDeletionProtectionEnabled = "deletion-protection-enabled" +) + +// ProtectConfigurationFilterName_Values returns all elements of the ProtectConfigurationFilterName enum +func ProtectConfigurationFilterName_Values() []string { + return []string{ + ProtectConfigurationFilterNameAccountDefault, + ProtectConfigurationFilterNameDeletionProtectionEnabled, + } +} + +const ( + // ProtectStatusAllow is a ProtectStatus enum value + ProtectStatusAllow = "ALLOW" + + // ProtectStatusBlock is a ProtectStatus enum value + ProtectStatusBlock = "BLOCK" +) + +// ProtectStatus_Values returns all elements of the ProtectStatus enum +func ProtectStatus_Values() []string { + return []string{ + ProtectStatusAllow, + ProtectStatusBlock, + } +} + const ( // RegistrationAssociationBehaviorAssociateBeforeSubmit is a RegistrationAssociationBehavior enum value RegistrationAssociationBehaviorAssociateBeforeSubmit = "ASSOCIATE_BEFORE_SUBMIT" @@ -23860,6 +27143,9 @@ const ( // ResourceTypeVerifiedDestinationNumber is a ResourceType enum value ResourceTypeVerifiedDestinationNumber = "verified-destination-number" + + // ResourceTypeProtectConfiguration is a ResourceType enum value + ResourceTypeProtectConfiguration = "protect-configuration" ) // ResourceType_Values returns all elements of the ResourceType enum @@ -23877,6 +27163,7 @@ func ResourceType_Values() []string { ResourceTypeRegistration, ResourceTypeRegistrationAttachment, ResourceTypeVerifiedDestinationNumber, + ResourceTypeProtectConfiguration, } } @@ -23927,6 +27214,9 @@ const ( // ServiceQuotaExceededExceptionReasonKeywordsPerPool is a ServiceQuotaExceededExceptionReason enum value ServiceQuotaExceededExceptionReasonKeywordsPerPool = "KEYWORDS_PER_POOL" + // ServiceQuotaExceededExceptionReasonMonthlySpendLimitReachedForMedia is a ServiceQuotaExceededExceptionReason enum value + ServiceQuotaExceededExceptionReasonMonthlySpendLimitReachedForMedia = "MONTHLY_SPEND_LIMIT_REACHED_FOR_MEDIA" + // ServiceQuotaExceededExceptionReasonMonthlySpendLimitReachedForText is a ServiceQuotaExceededExceptionReason enum value ServiceQuotaExceededExceptionReasonMonthlySpendLimitReachedForText = "MONTHLY_SPEND_LIMIT_REACHED_FOR_TEXT" @@ -23971,6 +27261,9 @@ const ( // ServiceQuotaExceededExceptionReasonVerificationAttemptsPerDay is a ServiceQuotaExceededExceptionReason enum value ServiceQuotaExceededExceptionReasonVerificationAttemptsPerDay = "VERIFICATION_ATTEMPTS_PER_DAY" + + // ServiceQuotaExceededExceptionReasonProtectConfigurationsPerAccount is a ServiceQuotaExceededExceptionReason enum value + ServiceQuotaExceededExceptionReasonProtectConfigurationsPerAccount = "PROTECT_CONFIGURATIONS_PER_ACCOUNT" ) // ServiceQuotaExceededExceptionReason_Values returns all elements of the ServiceQuotaExceededExceptionReason enum @@ -23982,6 +27275,7 @@ func ServiceQuotaExceededExceptionReason_Values() []string { ServiceQuotaExceededExceptionReasonEventDestinationsPerConfigurationSet, ServiceQuotaExceededExceptionReasonKeywordsPerPhoneNumber, ServiceQuotaExceededExceptionReasonKeywordsPerPool, + ServiceQuotaExceededExceptionReasonMonthlySpendLimitReachedForMedia, ServiceQuotaExceededExceptionReasonMonthlySpendLimitReachedForText, ServiceQuotaExceededExceptionReasonMonthlySpendLimitReachedForVoice, ServiceQuotaExceededExceptionReasonOptOutListsPerAccount, @@ -23997,6 +27291,7 @@ func ServiceQuotaExceededExceptionReason_Values() []string { ServiceQuotaExceededExceptionReasonTagsPerResource, ServiceQuotaExceededExceptionReasonVerifiedDestinationNumbersPerAccount, ServiceQuotaExceededExceptionReasonVerificationAttemptsPerDay, + ServiceQuotaExceededExceptionReasonProtectConfigurationsPerAccount, } } @@ -24006,6 +27301,9 @@ const ( // SpendLimitNameVoiceMessageMonthlySpendLimit is a SpendLimitName enum value SpendLimitNameVoiceMessageMonthlySpendLimit = "VOICE_MESSAGE_MONTHLY_SPEND_LIMIT" + + // SpendLimitNameMediaMessageMonthlySpendLimit is a SpendLimitName enum value + SpendLimitNameMediaMessageMonthlySpendLimit = "MEDIA_MESSAGE_MONTHLY_SPEND_LIMIT" ) // SpendLimitName_Values returns all elements of the SpendLimitName enum @@ -24013,6 +27311,7 @@ func SpendLimitName_Values() []string { return []string{ SpendLimitNameTextMessageMonthlySpendLimit, SpendLimitNameVoiceMessageMonthlySpendLimit, + SpendLimitNameMediaMessageMonthlySpendLimit, } } @@ -24059,6 +27358,9 @@ const ( // ValidationExceptionReasonMaximumSizeExceeded is a ValidationExceptionReason enum value ValidationExceptionReasonMaximumSizeExceeded = "MAXIMUM_SIZE_EXCEEDED" + // ValidationExceptionReasonMediaTypeNotSupported is a ValidationExceptionReason enum value + ValidationExceptionReasonMediaTypeNotSupported = "MEDIA_TYPE_NOT_SUPPORTED" + // ValidationExceptionReasonMissingParameter is a ValidationExceptionReason enum value ValidationExceptionReasonMissingParameter = "MISSING_PARAMETER" @@ -24149,6 +27451,7 @@ func ValidationExceptionReason_Values() []string { ValidationExceptionReasonInvalidRequest, ValidationExceptionReasonInvalidRegistrationAssociation, ValidationExceptionReasonMaximumSizeExceeded, + ValidationExceptionReasonMediaTypeNotSupported, ValidationExceptionReasonMissingParameter, ValidationExceptionReasonParametersCannotBeUsedTogether, ValidationExceptionReasonPhoneNumberCannotBeOptedIn, diff --git a/service/pinpointsmsvoicev2/doc.go b/service/pinpointsmsvoicev2/doc.go index 53a6c96f71..845ad97f5c 100644 --- a/service/pinpointsmsvoicev2/doc.go +++ b/service/pinpointsmsvoicev2/doc.go @@ -10,13 +10,14 @@ // Amazon Pinpoint is an Amazon Web Services service that you can use to engage // with your recipients across multiple messaging channels. The Amazon Pinpoint // SMS and Voice, version 2 API provides programmatic access to options that -// are unique to the SMS and voice channels and supplements the resources provided -// by the Amazon Pinpoint API. +// are unique to the SMS and voice channels. Amazon Pinpoint SMS and Voice, +// version 2 resources such as phone numbers, sender IDs, and opt-out lists +// can be used by the Amazon Pinpoint API. // -// If you're new to Amazon Pinpoint, it's also helpful to review the Amazon -// Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). +// If you're new to Amazon Pinpoint SMS, it's also helpful to review the Amazon +// Pinpoint SMS User Guide (https://docs.aws.amazon.com/sms-voice/latest/userguide/what-is-service.html). // The Amazon Pinpoint Developer Guide provides tutorials, code samples, and -// procedures that demonstrate how to use Amazon Pinpoint features programmatically +// procedures that demonstrate how to use Amazon Pinpoint SMS features programmatically // and how to integrate Amazon Pinpoint functionality into mobile apps and other // types of applications. The guide also provides key information, such as Amazon // Pinpoint integration with other Amazon Web Services services, and the quotas diff --git a/service/pinpointsmsvoicev2/pinpointsmsvoicev2iface/interface.go b/service/pinpointsmsvoicev2/pinpointsmsvoicev2iface/interface.go index f5548defac..4f82f4eb01 100644 --- a/service/pinpointsmsvoicev2/pinpointsmsvoicev2iface/interface.go +++ b/service/pinpointsmsvoicev2/pinpointsmsvoicev2iface/interface.go @@ -64,6 +64,10 @@ type PinpointSMSVoiceV2API interface { AssociateOriginationIdentityWithContext(aws.Context, *pinpointsmsvoicev2.AssociateOriginationIdentityInput, ...request.Option) (*pinpointsmsvoicev2.AssociateOriginationIdentityOutput, error) AssociateOriginationIdentityRequest(*pinpointsmsvoicev2.AssociateOriginationIdentityInput) (*request.Request, *pinpointsmsvoicev2.AssociateOriginationIdentityOutput) + AssociateProtectConfiguration(*pinpointsmsvoicev2.AssociateProtectConfigurationInput) (*pinpointsmsvoicev2.AssociateProtectConfigurationOutput, error) + AssociateProtectConfigurationWithContext(aws.Context, *pinpointsmsvoicev2.AssociateProtectConfigurationInput, ...request.Option) (*pinpointsmsvoicev2.AssociateProtectConfigurationOutput, error) + AssociateProtectConfigurationRequest(*pinpointsmsvoicev2.AssociateProtectConfigurationInput) (*request.Request, *pinpointsmsvoicev2.AssociateProtectConfigurationOutput) + CreateConfigurationSet(*pinpointsmsvoicev2.CreateConfigurationSetInput) (*pinpointsmsvoicev2.CreateConfigurationSetOutput, error) CreateConfigurationSetWithContext(aws.Context, *pinpointsmsvoicev2.CreateConfigurationSetInput, ...request.Option) (*pinpointsmsvoicev2.CreateConfigurationSetOutput, error) CreateConfigurationSetRequest(*pinpointsmsvoicev2.CreateConfigurationSetInput) (*request.Request, *pinpointsmsvoicev2.CreateConfigurationSetOutput) @@ -80,6 +84,10 @@ type PinpointSMSVoiceV2API interface { CreatePoolWithContext(aws.Context, *pinpointsmsvoicev2.CreatePoolInput, ...request.Option) (*pinpointsmsvoicev2.CreatePoolOutput, error) CreatePoolRequest(*pinpointsmsvoicev2.CreatePoolInput) (*request.Request, *pinpointsmsvoicev2.CreatePoolOutput) + CreateProtectConfiguration(*pinpointsmsvoicev2.CreateProtectConfigurationInput) (*pinpointsmsvoicev2.CreateProtectConfigurationOutput, error) + CreateProtectConfigurationWithContext(aws.Context, *pinpointsmsvoicev2.CreateProtectConfigurationInput, ...request.Option) (*pinpointsmsvoicev2.CreateProtectConfigurationOutput, error) + CreateProtectConfigurationRequest(*pinpointsmsvoicev2.CreateProtectConfigurationInput) (*request.Request, *pinpointsmsvoicev2.CreateProtectConfigurationOutput) + CreateRegistration(*pinpointsmsvoicev2.CreateRegistrationInput) (*pinpointsmsvoicev2.CreateRegistrationOutput, error) CreateRegistrationWithContext(aws.Context, *pinpointsmsvoicev2.CreateRegistrationInput, ...request.Option) (*pinpointsmsvoicev2.CreateRegistrationOutput, error) CreateRegistrationRequest(*pinpointsmsvoicev2.CreateRegistrationInput) (*request.Request, *pinpointsmsvoicev2.CreateRegistrationOutput) @@ -100,6 +108,10 @@ type PinpointSMSVoiceV2API interface { CreateVerifiedDestinationNumberWithContext(aws.Context, *pinpointsmsvoicev2.CreateVerifiedDestinationNumberInput, ...request.Option) (*pinpointsmsvoicev2.CreateVerifiedDestinationNumberOutput, error) CreateVerifiedDestinationNumberRequest(*pinpointsmsvoicev2.CreateVerifiedDestinationNumberInput) (*request.Request, *pinpointsmsvoicev2.CreateVerifiedDestinationNumberOutput) + DeleteAccountDefaultProtectConfiguration(*pinpointsmsvoicev2.DeleteAccountDefaultProtectConfigurationInput) (*pinpointsmsvoicev2.DeleteAccountDefaultProtectConfigurationOutput, error) + DeleteAccountDefaultProtectConfigurationWithContext(aws.Context, *pinpointsmsvoicev2.DeleteAccountDefaultProtectConfigurationInput, ...request.Option) (*pinpointsmsvoicev2.DeleteAccountDefaultProtectConfigurationOutput, error) + DeleteAccountDefaultProtectConfigurationRequest(*pinpointsmsvoicev2.DeleteAccountDefaultProtectConfigurationInput) (*request.Request, *pinpointsmsvoicev2.DeleteAccountDefaultProtectConfigurationOutput) + DeleteConfigurationSet(*pinpointsmsvoicev2.DeleteConfigurationSetInput) (*pinpointsmsvoicev2.DeleteConfigurationSetOutput, error) DeleteConfigurationSetWithContext(aws.Context, *pinpointsmsvoicev2.DeleteConfigurationSetInput, ...request.Option) (*pinpointsmsvoicev2.DeleteConfigurationSetOutput, error) DeleteConfigurationSetRequest(*pinpointsmsvoicev2.DeleteConfigurationSetInput) (*request.Request, *pinpointsmsvoicev2.DeleteConfigurationSetOutput) @@ -120,6 +132,10 @@ type PinpointSMSVoiceV2API interface { DeleteKeywordWithContext(aws.Context, *pinpointsmsvoicev2.DeleteKeywordInput, ...request.Option) (*pinpointsmsvoicev2.DeleteKeywordOutput, error) DeleteKeywordRequest(*pinpointsmsvoicev2.DeleteKeywordInput) (*request.Request, *pinpointsmsvoicev2.DeleteKeywordOutput) + DeleteMediaMessageSpendLimitOverride(*pinpointsmsvoicev2.DeleteMediaMessageSpendLimitOverrideInput) (*pinpointsmsvoicev2.DeleteMediaMessageSpendLimitOverrideOutput, error) + DeleteMediaMessageSpendLimitOverrideWithContext(aws.Context, *pinpointsmsvoicev2.DeleteMediaMessageSpendLimitOverrideInput, ...request.Option) (*pinpointsmsvoicev2.DeleteMediaMessageSpendLimitOverrideOutput, error) + DeleteMediaMessageSpendLimitOverrideRequest(*pinpointsmsvoicev2.DeleteMediaMessageSpendLimitOverrideInput) (*request.Request, *pinpointsmsvoicev2.DeleteMediaMessageSpendLimitOverrideOutput) + DeleteOptOutList(*pinpointsmsvoicev2.DeleteOptOutListInput) (*pinpointsmsvoicev2.DeleteOptOutListOutput, error) DeleteOptOutListWithContext(aws.Context, *pinpointsmsvoicev2.DeleteOptOutListInput, ...request.Option) (*pinpointsmsvoicev2.DeleteOptOutListOutput, error) DeleteOptOutListRequest(*pinpointsmsvoicev2.DeleteOptOutListInput) (*request.Request, *pinpointsmsvoicev2.DeleteOptOutListOutput) @@ -132,6 +148,10 @@ type PinpointSMSVoiceV2API interface { DeletePoolWithContext(aws.Context, *pinpointsmsvoicev2.DeletePoolInput, ...request.Option) (*pinpointsmsvoicev2.DeletePoolOutput, error) DeletePoolRequest(*pinpointsmsvoicev2.DeletePoolInput) (*request.Request, *pinpointsmsvoicev2.DeletePoolOutput) + DeleteProtectConfiguration(*pinpointsmsvoicev2.DeleteProtectConfigurationInput) (*pinpointsmsvoicev2.DeleteProtectConfigurationOutput, error) + DeleteProtectConfigurationWithContext(aws.Context, *pinpointsmsvoicev2.DeleteProtectConfigurationInput, ...request.Option) (*pinpointsmsvoicev2.DeleteProtectConfigurationOutput, error) + DeleteProtectConfigurationRequest(*pinpointsmsvoicev2.DeleteProtectConfigurationInput) (*request.Request, *pinpointsmsvoicev2.DeleteProtectConfigurationOutput) + DeleteRegistration(*pinpointsmsvoicev2.DeleteRegistrationInput) (*pinpointsmsvoicev2.DeleteRegistrationOutput, error) DeleteRegistrationWithContext(aws.Context, *pinpointsmsvoicev2.DeleteRegistrationInput, ...request.Option) (*pinpointsmsvoicev2.DeleteRegistrationOutput, error) DeleteRegistrationRequest(*pinpointsmsvoicev2.DeleteRegistrationInput) (*request.Request, *pinpointsmsvoicev2.DeleteRegistrationOutput) @@ -212,6 +232,13 @@ type PinpointSMSVoiceV2API interface { DescribePoolsPages(*pinpointsmsvoicev2.DescribePoolsInput, func(*pinpointsmsvoicev2.DescribePoolsOutput, bool) bool) error DescribePoolsPagesWithContext(aws.Context, *pinpointsmsvoicev2.DescribePoolsInput, func(*pinpointsmsvoicev2.DescribePoolsOutput, bool) bool, ...request.Option) error + DescribeProtectConfigurations(*pinpointsmsvoicev2.DescribeProtectConfigurationsInput) (*pinpointsmsvoicev2.DescribeProtectConfigurationsOutput, error) + DescribeProtectConfigurationsWithContext(aws.Context, *pinpointsmsvoicev2.DescribeProtectConfigurationsInput, ...request.Option) (*pinpointsmsvoicev2.DescribeProtectConfigurationsOutput, error) + DescribeProtectConfigurationsRequest(*pinpointsmsvoicev2.DescribeProtectConfigurationsInput) (*request.Request, *pinpointsmsvoicev2.DescribeProtectConfigurationsOutput) + + DescribeProtectConfigurationsPages(*pinpointsmsvoicev2.DescribeProtectConfigurationsInput, func(*pinpointsmsvoicev2.DescribeProtectConfigurationsOutput, bool) bool) error + DescribeProtectConfigurationsPagesWithContext(aws.Context, *pinpointsmsvoicev2.DescribeProtectConfigurationsInput, func(*pinpointsmsvoicev2.DescribeProtectConfigurationsOutput, bool) bool, ...request.Option) error + DescribeRegistrationAttachments(*pinpointsmsvoicev2.DescribeRegistrationAttachmentsInput) (*pinpointsmsvoicev2.DescribeRegistrationAttachmentsOutput, error) DescribeRegistrationAttachmentsWithContext(aws.Context, *pinpointsmsvoicev2.DescribeRegistrationAttachmentsInput, ...request.Option) (*pinpointsmsvoicev2.DescribeRegistrationAttachmentsOutput, error) DescribeRegistrationAttachmentsRequest(*pinpointsmsvoicev2.DescribeRegistrationAttachmentsInput) (*request.Request, *pinpointsmsvoicev2.DescribeRegistrationAttachmentsOutput) @@ -286,10 +313,18 @@ type PinpointSMSVoiceV2API interface { DisassociateOriginationIdentityWithContext(aws.Context, *pinpointsmsvoicev2.DisassociateOriginationIdentityInput, ...request.Option) (*pinpointsmsvoicev2.DisassociateOriginationIdentityOutput, error) DisassociateOriginationIdentityRequest(*pinpointsmsvoicev2.DisassociateOriginationIdentityInput) (*request.Request, *pinpointsmsvoicev2.DisassociateOriginationIdentityOutput) + DisassociateProtectConfiguration(*pinpointsmsvoicev2.DisassociateProtectConfigurationInput) (*pinpointsmsvoicev2.DisassociateProtectConfigurationOutput, error) + DisassociateProtectConfigurationWithContext(aws.Context, *pinpointsmsvoicev2.DisassociateProtectConfigurationInput, ...request.Option) (*pinpointsmsvoicev2.DisassociateProtectConfigurationOutput, error) + DisassociateProtectConfigurationRequest(*pinpointsmsvoicev2.DisassociateProtectConfigurationInput) (*request.Request, *pinpointsmsvoicev2.DisassociateProtectConfigurationOutput) + DiscardRegistrationVersion(*pinpointsmsvoicev2.DiscardRegistrationVersionInput) (*pinpointsmsvoicev2.DiscardRegistrationVersionOutput, error) DiscardRegistrationVersionWithContext(aws.Context, *pinpointsmsvoicev2.DiscardRegistrationVersionInput, ...request.Option) (*pinpointsmsvoicev2.DiscardRegistrationVersionOutput, error) DiscardRegistrationVersionRequest(*pinpointsmsvoicev2.DiscardRegistrationVersionInput) (*request.Request, *pinpointsmsvoicev2.DiscardRegistrationVersionOutput) + GetProtectConfigurationCountryRuleSet(*pinpointsmsvoicev2.GetProtectConfigurationCountryRuleSetInput) (*pinpointsmsvoicev2.GetProtectConfigurationCountryRuleSetOutput, error) + GetProtectConfigurationCountryRuleSetWithContext(aws.Context, *pinpointsmsvoicev2.GetProtectConfigurationCountryRuleSetInput, ...request.Option) (*pinpointsmsvoicev2.GetProtectConfigurationCountryRuleSetOutput, error) + GetProtectConfigurationCountryRuleSetRequest(*pinpointsmsvoicev2.GetProtectConfigurationCountryRuleSetInput) (*request.Request, *pinpointsmsvoicev2.GetProtectConfigurationCountryRuleSetOutput) + ListPoolOriginationIdentities(*pinpointsmsvoicev2.ListPoolOriginationIdentitiesInput) (*pinpointsmsvoicev2.ListPoolOriginationIdentitiesOutput, error) ListPoolOriginationIdentitiesWithContext(aws.Context, *pinpointsmsvoicev2.ListPoolOriginationIdentitiesInput, ...request.Option) (*pinpointsmsvoicev2.ListPoolOriginationIdentitiesOutput, error) ListPoolOriginationIdentitiesRequest(*pinpointsmsvoicev2.ListPoolOriginationIdentitiesInput) (*request.Request, *pinpointsmsvoicev2.ListPoolOriginationIdentitiesOutput) @@ -340,6 +375,10 @@ type PinpointSMSVoiceV2API interface { SendDestinationNumberVerificationCodeWithContext(aws.Context, *pinpointsmsvoicev2.SendDestinationNumberVerificationCodeInput, ...request.Option) (*pinpointsmsvoicev2.SendDestinationNumberVerificationCodeOutput, error) SendDestinationNumberVerificationCodeRequest(*pinpointsmsvoicev2.SendDestinationNumberVerificationCodeInput) (*request.Request, *pinpointsmsvoicev2.SendDestinationNumberVerificationCodeOutput) + SendMediaMessage(*pinpointsmsvoicev2.SendMediaMessageInput) (*pinpointsmsvoicev2.SendMediaMessageOutput, error) + SendMediaMessageWithContext(aws.Context, *pinpointsmsvoicev2.SendMediaMessageInput, ...request.Option) (*pinpointsmsvoicev2.SendMediaMessageOutput, error) + SendMediaMessageRequest(*pinpointsmsvoicev2.SendMediaMessageInput) (*request.Request, *pinpointsmsvoicev2.SendMediaMessageOutput) + SendTextMessage(*pinpointsmsvoicev2.SendTextMessageInput) (*pinpointsmsvoicev2.SendTextMessageOutput, error) SendTextMessageWithContext(aws.Context, *pinpointsmsvoicev2.SendTextMessageInput, ...request.Option) (*pinpointsmsvoicev2.SendTextMessageOutput, error) SendTextMessageRequest(*pinpointsmsvoicev2.SendTextMessageInput) (*request.Request, *pinpointsmsvoicev2.SendTextMessageOutput) @@ -348,6 +387,10 @@ type PinpointSMSVoiceV2API interface { SendVoiceMessageWithContext(aws.Context, *pinpointsmsvoicev2.SendVoiceMessageInput, ...request.Option) (*pinpointsmsvoicev2.SendVoiceMessageOutput, error) SendVoiceMessageRequest(*pinpointsmsvoicev2.SendVoiceMessageInput) (*request.Request, *pinpointsmsvoicev2.SendVoiceMessageOutput) + SetAccountDefaultProtectConfiguration(*pinpointsmsvoicev2.SetAccountDefaultProtectConfigurationInput) (*pinpointsmsvoicev2.SetAccountDefaultProtectConfigurationOutput, error) + SetAccountDefaultProtectConfigurationWithContext(aws.Context, *pinpointsmsvoicev2.SetAccountDefaultProtectConfigurationInput, ...request.Option) (*pinpointsmsvoicev2.SetAccountDefaultProtectConfigurationOutput, error) + SetAccountDefaultProtectConfigurationRequest(*pinpointsmsvoicev2.SetAccountDefaultProtectConfigurationInput) (*request.Request, *pinpointsmsvoicev2.SetAccountDefaultProtectConfigurationOutput) + SetDefaultMessageType(*pinpointsmsvoicev2.SetDefaultMessageTypeInput) (*pinpointsmsvoicev2.SetDefaultMessageTypeOutput, error) SetDefaultMessageTypeWithContext(aws.Context, *pinpointsmsvoicev2.SetDefaultMessageTypeInput, ...request.Option) (*pinpointsmsvoicev2.SetDefaultMessageTypeOutput, error) SetDefaultMessageTypeRequest(*pinpointsmsvoicev2.SetDefaultMessageTypeInput) (*request.Request, *pinpointsmsvoicev2.SetDefaultMessageTypeOutput) @@ -356,6 +399,10 @@ type PinpointSMSVoiceV2API interface { SetDefaultSenderIdWithContext(aws.Context, *pinpointsmsvoicev2.SetDefaultSenderIdInput, ...request.Option) (*pinpointsmsvoicev2.SetDefaultSenderIdOutput, error) SetDefaultSenderIdRequest(*pinpointsmsvoicev2.SetDefaultSenderIdInput) (*request.Request, *pinpointsmsvoicev2.SetDefaultSenderIdOutput) + SetMediaMessageSpendLimitOverride(*pinpointsmsvoicev2.SetMediaMessageSpendLimitOverrideInput) (*pinpointsmsvoicev2.SetMediaMessageSpendLimitOverrideOutput, error) + SetMediaMessageSpendLimitOverrideWithContext(aws.Context, *pinpointsmsvoicev2.SetMediaMessageSpendLimitOverrideInput, ...request.Option) (*pinpointsmsvoicev2.SetMediaMessageSpendLimitOverrideOutput, error) + SetMediaMessageSpendLimitOverrideRequest(*pinpointsmsvoicev2.SetMediaMessageSpendLimitOverrideInput) (*request.Request, *pinpointsmsvoicev2.SetMediaMessageSpendLimitOverrideOutput) + SetTextMessageSpendLimitOverride(*pinpointsmsvoicev2.SetTextMessageSpendLimitOverrideInput) (*pinpointsmsvoicev2.SetTextMessageSpendLimitOverrideOutput, error) SetTextMessageSpendLimitOverrideWithContext(aws.Context, *pinpointsmsvoicev2.SetTextMessageSpendLimitOverrideInput, ...request.Option) (*pinpointsmsvoicev2.SetTextMessageSpendLimitOverrideOutput, error) SetTextMessageSpendLimitOverrideRequest(*pinpointsmsvoicev2.SetTextMessageSpendLimitOverrideInput) (*request.Request, *pinpointsmsvoicev2.SetTextMessageSpendLimitOverrideOutput) @@ -388,6 +435,14 @@ type PinpointSMSVoiceV2API interface { UpdatePoolWithContext(aws.Context, *pinpointsmsvoicev2.UpdatePoolInput, ...request.Option) (*pinpointsmsvoicev2.UpdatePoolOutput, error) UpdatePoolRequest(*pinpointsmsvoicev2.UpdatePoolInput) (*request.Request, *pinpointsmsvoicev2.UpdatePoolOutput) + UpdateProtectConfiguration(*pinpointsmsvoicev2.UpdateProtectConfigurationInput) (*pinpointsmsvoicev2.UpdateProtectConfigurationOutput, error) + UpdateProtectConfigurationWithContext(aws.Context, *pinpointsmsvoicev2.UpdateProtectConfigurationInput, ...request.Option) (*pinpointsmsvoicev2.UpdateProtectConfigurationOutput, error) + UpdateProtectConfigurationRequest(*pinpointsmsvoicev2.UpdateProtectConfigurationInput) (*request.Request, *pinpointsmsvoicev2.UpdateProtectConfigurationOutput) + + UpdateProtectConfigurationCountryRuleSet(*pinpointsmsvoicev2.UpdateProtectConfigurationCountryRuleSetInput) (*pinpointsmsvoicev2.UpdateProtectConfigurationCountryRuleSetOutput, error) + UpdateProtectConfigurationCountryRuleSetWithContext(aws.Context, *pinpointsmsvoicev2.UpdateProtectConfigurationCountryRuleSetInput, ...request.Option) (*pinpointsmsvoicev2.UpdateProtectConfigurationCountryRuleSetOutput, error) + UpdateProtectConfigurationCountryRuleSetRequest(*pinpointsmsvoicev2.UpdateProtectConfigurationCountryRuleSetInput) (*request.Request, *pinpointsmsvoicev2.UpdateProtectConfigurationCountryRuleSetOutput) + UpdateSenderId(*pinpointsmsvoicev2.UpdateSenderIdInput) (*pinpointsmsvoicev2.UpdateSenderIdOutput, error) UpdateSenderIdWithContext(aws.Context, *pinpointsmsvoicev2.UpdateSenderIdInput, ...request.Option) (*pinpointsmsvoicev2.UpdateSenderIdOutput, error) UpdateSenderIdRequest(*pinpointsmsvoicev2.UpdateSenderIdInput) (*request.Request, *pinpointsmsvoicev2.UpdateSenderIdOutput) diff --git a/service/qbusiness/api.go b/service/qbusiness/api.go index 44adfb6758..c544e76f9e 100644 --- a/service/qbusiness/api.go +++ b/service/qbusiness/api.go @@ -3,13 +3,22 @@ package qbusiness import ( + "bytes" "fmt" + "io" + "sync" "time" "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/client" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/eventstream" + "github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go/private/protocol/rest" "github.com/aws/aws-sdk-go/private/protocol/restjson" ) @@ -235,6 +244,400 @@ func (c *QBusiness) BatchPutDocumentWithContext(ctx aws.Context, input *BatchPut return out, req.Send() } +const opChat = "Chat" + +// ChatRequest generates a "aws/request.Request" representing the +// client's request for the Chat 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 Chat for more information on using the Chat +// 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 ChatRequest method. +// req, resp := client.ChatRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/Chat +func (c *QBusiness) ChatRequest(input *ChatInput) (req *request.Request, output *ChatOutput) { + op := &request.Operation{ + Name: opChat, + HTTPMethod: "POST", + HTTPPath: "/applications/{applicationId}/conversations", + } + + if input == nil { + input = &ChatInput{} + } + + output = &ChatOutput{} + req = c.newRequest(op, input, output) + req.Handlers.UnmarshalMeta.PushBack( + protocol.RequireHTTPMinProtocol{Major: 2}.Handler, + ) + + es := NewChatEventStream() + output.eventStream = es + + req.Handlers.Sign.PushFront(es.setupInputPipe) + req.Handlers.UnmarshalError.PushBackNamed(request.NamedHandler{ + Name: "InputPipeCloser", + Fn: func(r *request.Request) { + err := es.closeInputPipe() + if err != nil { + r.Error = awserr.New(eventstreamapi.InputWriterCloseErrorCode, err.Error(), r.Error) + } + }, + }) + req.Handlers.Build.PushBack(request.WithSetRequestHeaders(map[string]string{ + "Content-Type": "application/vnd.amazon.eventstream", + "X-Amz-Content-Sha256": "STREAMING-AWS4-HMAC-SHA256-EVENTS", + })) + req.Handlers.Build.Swap(restjson.BuildHandler.Name, rest.BuildHandler) + eventstreamapi.ApplyHTTPTransportFixes(req) + req.Handlers.Send.Swap(client.LogHTTPRequestHandler.Name, client.LogHTTPRequestHeaderHandler) + req.Handlers.Unmarshal.PushBack(es.runInputStream) + + req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, rest.UnmarshalHandler) + req.Handlers.Unmarshal.PushBack(es.runOutputStream) + req.Handlers.Unmarshal.PushBack(es.runOnStreamPartClose) + return +} + +// Chat API operation for QBusiness. +// +// Starts or continues a streaming Amazon Q Business conversation. +// +// 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 QBusiness's +// API operation Chat for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you want to use doesn’t exist. Make sure you have provided +// the correct resource and try again. +// +// - InternalServerException +// An issue occurred with the internal server used for your Amazon Q Business +// service. Wait some minutes and try again, or contact Support (http://aws.amazon.com/contact-us/) +// for help. +// +// - LicenseNotFoundException +// You don't have permissions to perform the action because your license is +// inactive. Ask your admin to activate your license and try again after your +// licence is active. +// +// - ConflictException +// You are trying to perform an action that conflicts with the current status +// of your resource. Fix any inconsistences with your resources and try again. +// +// - ThrottlingException +// The request was denied due to throttling. Reduce the number of requests and +// try again. +// +// - ValidationException +// The input doesn't meet the constraints set by the Amazon Q Business service. +// Provide the correct input and try again. +// +// - AccessDeniedException +// You don't have access to perform this action. Make sure you have the required +// permission policies and user accounts and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/Chat +func (c *QBusiness) Chat(input *ChatInput) (*ChatOutput, error) { + req, out := c.ChatRequest(input) + return out, req.Send() +} + +// ChatWithContext is the same as Chat with the addition of +// the ability to pass a context and additional request options. +// +// See Chat 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 *QBusiness) ChatWithContext(ctx aws.Context, input *ChatInput, opts ...request.Option) (*ChatOutput, error) { + req, out := c.ChatRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +var _ awserr.Error +var _ time.Time + +// ChatEventStream provides the event stream handling for the Chat. +// +// For testing and mocking the event stream this type should be initialized via +// the NewChatEventStream constructor function. Using the functional options +// to pass in nested mock behavior. +type ChatEventStream struct { + + // Writer is the EventStream writer for the ChatInputStream + // events. This value is automatically set by the SDK when the API call is made + // Use this member when unit testing your code with the SDK to mock out the + // EventStream Writer. + // + // Must not be nil. + Writer ChatInputStreamWriter + + inputWriter io.WriteCloser + + // Reader is the EventStream reader for the ChatOutputStream + // events. This value is automatically set by the SDK when the API call is made + // Use this member when unit testing your code with the SDK to mock out the + // EventStream Reader. + // + // Must not be nil. + Reader ChatOutputStreamReader + + outputReader io.ReadCloser + + done chan struct{} + closeOnce sync.Once + err *eventstreamapi.OnceError +} + +// NewChatEventStream initializes an ChatEventStream. +// This function should only be used for testing and mocking the ChatEventStream +// stream within your application. +// +// The Writer member must be set before writing events to the stream. +// +// The Reader member must be set before reading events from the stream. +// +// es := NewChatEventStream(func(o *ChatEventStream){ +// es.Writer = myMockStreamWriter +// es.Reader = myMockStreamReader +// }) +func NewChatEventStream(opts ...func(*ChatEventStream)) *ChatEventStream { + es := &ChatEventStream{ + done: make(chan struct{}), + err: eventstreamapi.NewOnceError(), + } + + for _, fn := range opts { + fn(es) + } + + return es +} + +func (es *ChatEventStream) runOnStreamPartClose(r *request.Request) { + if es.done == nil { + return + } + go es.waitStreamPartClose() + +} + +func (es *ChatEventStream) waitStreamPartClose() { + var inputErrCh <-chan struct{} + if v, ok := es.Writer.(interface{ ErrorSet() <-chan struct{} }); ok { + inputErrCh = v.ErrorSet() + } + var outputErrCh <-chan struct{} + if v, ok := es.Reader.(interface{ ErrorSet() <-chan struct{} }); ok { + outputErrCh = v.ErrorSet() + } + var outputClosedCh <-chan struct{} + if v, ok := es.Reader.(interface{ Closed() <-chan struct{} }); ok { + outputClosedCh = v.Closed() + } + + select { + case <-es.done: + case <-inputErrCh: + es.err.SetError(es.Writer.Err()) + es.Close() + case <-outputErrCh: + es.err.SetError(es.Reader.Err()) + es.Close() + case <-outputClosedCh: + if err := es.Reader.Err(); err != nil { + es.err.SetError(es.Reader.Err()) + } + es.Close() + } +} + +func (es *ChatEventStream) setupInputPipe(r *request.Request) { + inputReader, inputWriter := io.Pipe() + r.SetStreamingBody(inputReader) + es.inputWriter = inputWriter +} + +// Closes the input-pipe writer +func (es *ChatEventStream) closeInputPipe() error { + if es.inputWriter != nil { + return es.inputWriter.Close() + } + return nil +} + +// Send writes the event to the stream blocking until the event is written. +// Returns an error if the event was not written. +// +// These events are: +// +// - AttachmentInputEvent +// - AuthChallengeResponseEvent +// - ConfigurationEvent +// - EndOfInputEvent +// - TextInputEvent +func (es *ChatEventStream) Send(ctx aws.Context, event ChatInputStreamEvent) error { + return es.Writer.Send(ctx, event) +} + +func (es *ChatEventStream) runInputStream(r *request.Request) { + var opts []func(*eventstream.Encoder) + if r.Config.Logger != nil && r.Config.LogLevel.Matches(aws.LogDebugWithEventStreamBody) { + opts = append(opts, eventstream.EncodeWithLogger(r.Config.Logger)) + } + var encoder eventstreamapi.Encoder = eventstream.NewEncoder(es.inputWriter, opts...) + + var closer aws.MultiCloser + sigSeed, err := v4.GetSignedRequestSignature(r.HTTPRequest) + if err != nil { + r.Error = awserr.New(request.ErrCodeSerialization, + "unable to get initial request's signature", err) + return + } + signer := eventstreamapi.NewSignEncoder( + v4.NewStreamSigner(r.ClientInfo.SigningRegion, r.ClientInfo.SigningName, + sigSeed, r.Config.Credentials), + encoder, + ) + encoder = signer + closer = append(closer, signer) + closer = append(closer, es.inputWriter) + + eventWriter := eventstreamapi.NewEventWriter(encoder, + protocol.HandlerPayloadMarshal{ + Marshalers: r.Handlers.BuildStream, + }, + eventTypeForChatInputStreamEvent, + ) + + es.Writer = &writeChatInputStream{ + StreamWriter: eventstreamapi.NewStreamWriter(eventWriter, closer), + } +} + +// Events returns a channel to read events from. +// +// These events are: +// +// - ActionReviewEvent +// - AuthChallengeRequestEvent +// - FailedAttachmentEvent +// - MetadataEvent +// - TextOutputEvent +// - ChatOutputStreamUnknownEvent +func (es *ChatEventStream) Events() <-chan ChatOutputStreamEvent { + return es.Reader.Events() +} + +func (es *ChatEventStream) runOutputStream(r *request.Request) { + var opts []func(*eventstream.Decoder) + if r.Config.Logger != nil && r.Config.LogLevel.Matches(aws.LogDebugWithEventStreamBody) { + opts = append(opts, eventstream.DecodeWithLogger(r.Config.Logger)) + } + + unmarshalerForEvent := unmarshalerForChatOutputStreamEvent{ + metadata: protocol.ResponseMetadata{ + StatusCode: r.HTTPResponse.StatusCode, + RequestID: r.RequestID, + }, + }.UnmarshalerForEventName + + decoder := eventstream.NewDecoder(r.HTTPResponse.Body, opts...) + eventReader := eventstreamapi.NewEventReader(decoder, + protocol.HandlerPayloadUnmarshal{ + Unmarshalers: r.Handlers.UnmarshalStream, + }, + unmarshalerForEvent, + ) + + es.outputReader = r.HTTPResponse.Body + es.Reader = newReadChatOutputStream(eventReader) +} + +// Close closes the stream. This will also cause the stream to be closed. +// Close must be called when done using the stream API. Not calling Close +// may result in resource leaks. +// +// Will close the underlying EventStream writer, and no more events can be +// sent. +// +// You can use the closing of the Reader's Events channel to terminate your +// application's read from the API's stream. +func (es *ChatEventStream) Close() (err error) { + es.closeOnce.Do(es.safeClose) + return es.Err() +} + +func (es *ChatEventStream) safeClose() { + if es.done != nil { + close(es.done) + } + + t := time.NewTicker(time.Second) + defer t.Stop() + writeCloseDone := make(chan error) + go func() { + if err := es.Writer.Close(); err != nil { + es.err.SetError(err) + } + close(writeCloseDone) + }() + select { + case <-t.C: + case <-writeCloseDone: + } + if err := es.closeInputPipe(); err != nil { + es.err.SetError(err) + } + + es.Reader.Close() + if es.outputReader != nil { + es.outputReader.Close() + } +} + +// Err returns any error that occurred while reading or writing EventStream +// Events from the service API's response. Returns nil if there were no errors. +func (es *ChatEventStream) Err() error { + if err := es.err.Err(); err != nil { + return err + } + if err := es.Writer.Err(); err != nil { + return err + } + if err := es.Reader.Err(); err != nil { + return err + } + + return nil +} + const opChatSync = "ChatSync" // ChatSyncRequest generates a "aws/request.Request" representing the @@ -386,6 +789,13 @@ func (c *QBusiness) CreateApplicationRequest(input *CreateApplicationInput) (req // // Creates an Amazon Q Business application. // +// There are new tiers for Amazon Q Business. Not all features in Amazon Q Business +// Pro are also available in Amazon Q Business Lite. For information on what's +// included in Amazon Q Business Lite and what's included in Amazon Q Business +// Pro, see Amazon Q Business tiers (https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/what-is.html#tiers). +// You must use the Amazon Q Business console to assign subscription tiers to +// users. +// // 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. @@ -6192,6 +6602,71 @@ func (c *QBusiness) UpdateWebExperienceWithContext(ctx aws.Context, input *Updat return out, req.Send() } +// Contains details about the OpenAPI schema for a custom plugin. For more information, +// see custom plugin OpenAPI schemas (https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/custom-plugin.html#plugins-api-schema). +// You can either include the schema directly in the payload field or you can +// upload it to an S3 bucket and specify the S3 bucket location in the s3 field. +type APISchema struct { + _ struct{} `type:"structure"` + + // The JSON or YAML-formatted payload defining the OpenAPI schema for a custom + // plugin. + // + // Payload is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by APISchema's + // String and GoString methods. + Payload *string `locationName:"payload" type:"string" sensitive:"true"` + + // Contains details about the S3 object containing the OpenAPI schema for a + // custom plugin. The schema could be in either JSON or YAML format. + S3 *S3 `locationName:"s3" 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 APISchema) 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 APISchema) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *APISchema) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "APISchema"} + if s.S3 != nil { + if err := s.S3.Validate(); err != nil { + invalidParams.AddNested("S3", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPayload sets the Payload field's value. +func (s *APISchema) SetPayload(v string) *APISchema { + s.Payload = &v + return s +} + +// SetS3 sets the S3 field's value. +func (s *APISchema) SetS3(v *S3) *APISchema { + s.S3 = v + return s +} + // Used to configure access permissions for a document. type AccessConfiguration struct { _ struct{} `type:"structure"` @@ -6456,25 +6931,37 @@ func (s *ActionReview) SetPluginType(v string) *ActionReview { return s } -// A user input field in an plugin action review payload. -type ActionReviewPayloadField struct { +// An output event that Amazon Q Business returns to an user who wants to perform +// a plugin action during a streaming chat conversation. It contains information +// about the selected action with a list of possible user input fields, some +// pre-populated by Amazon Q Business. +type ActionReviewEvent struct { _ struct{} `type:"structure"` - // Information about the field values that an end user can use to provide to - // Amazon Q Business for Amazon Q Business to perform the requested plugin action. - AllowedValues []*ActionReviewPayloadFieldAllowedValue `locationName:"allowedValues" type:"list"` + // The identifier of the conversation with which the action review event is + // associated. + ConversationId *string `locationName:"conversationId" min:"36" type:"string"` - // The name of the field. - DisplayName *string `locationName:"displayName" min:"1" type:"string"` + // Field values that an end user needs to provide to Amazon Q Business for Amazon + // Q Business to perform the requested plugin action. + Payload map[string]*ActionReviewPayloadField `locationName:"payload" type:"map"` - // The display order of fields in a payload. - DisplayOrder *int64 `locationName:"displayOrder" type:"integer"` + // A string used to retain information about the hierarchical contexts within + // an action review event payload. + PayloadFieldNameSeparator *string `locationName:"payloadFieldNameSeparator" min:"1" type:"string"` - // Information about whether the field is required. - Required *bool `locationName:"required" type:"boolean"` + // The identifier of the plugin associated with the action review event. + PluginId *string `locationName:"pluginId" min:"36" type:"string"` - // The type of field. - Type *string `locationName:"type" type:"string" enum:"ActionPayloadFieldType"` + // The type of plugin. + PluginType *string `locationName:"pluginType" type:"string" enum:"PluginType"` + + // The identifier of an Amazon Q Business AI generated associated with the action + // review event. + SystemMessageId *string `locationName:"systemMessageId" min:"36" type:"string"` + + // The identifier of the conversation with which the plugin action is associated. + UserMessageId *string `locationName:"userMessageId" min:"36" type:"string"` } // String returns the string representation. @@ -6482,7 +6969,7 @@ type ActionReviewPayloadField 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 ActionReviewPayloadField) String() string { +func (s ActionReviewEvent) String() string { return awsutil.Prettify(s) } @@ -6491,19 +6978,151 @@ func (s ActionReviewPayloadField) 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 ActionReviewPayloadField) GoString() string { +func (s ActionReviewEvent) GoString() string { return s.String() } -// SetAllowedValues sets the AllowedValues field's value. -func (s *ActionReviewPayloadField) SetAllowedValues(v []*ActionReviewPayloadFieldAllowedValue) *ActionReviewPayloadField { - s.AllowedValues = v +// SetConversationId sets the ConversationId field's value. +func (s *ActionReviewEvent) SetConversationId(v string) *ActionReviewEvent { + s.ConversationId = &v return s } -// SetDisplayName sets the DisplayName field's value. -func (s *ActionReviewPayloadField) SetDisplayName(v string) *ActionReviewPayloadField { - s.DisplayName = &v +// SetPayload sets the Payload field's value. +func (s *ActionReviewEvent) SetPayload(v map[string]*ActionReviewPayloadField) *ActionReviewEvent { + s.Payload = v + return s +} + +// SetPayloadFieldNameSeparator sets the PayloadFieldNameSeparator field's value. +func (s *ActionReviewEvent) SetPayloadFieldNameSeparator(v string) *ActionReviewEvent { + s.PayloadFieldNameSeparator = &v + return s +} + +// SetPluginId sets the PluginId field's value. +func (s *ActionReviewEvent) SetPluginId(v string) *ActionReviewEvent { + s.PluginId = &v + return s +} + +// SetPluginType sets the PluginType field's value. +func (s *ActionReviewEvent) SetPluginType(v string) *ActionReviewEvent { + s.PluginType = &v + return s +} + +// SetSystemMessageId sets the SystemMessageId field's value. +func (s *ActionReviewEvent) SetSystemMessageId(v string) *ActionReviewEvent { + s.SystemMessageId = &v + return s +} + +// SetUserMessageId sets the UserMessageId field's value. +func (s *ActionReviewEvent) SetUserMessageId(v string) *ActionReviewEvent { + s.UserMessageId = &v + return s +} + +// The ActionReviewEvent is and event in the ChatOutputStream group of events. +func (s *ActionReviewEvent) eventChatOutputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the ActionReviewEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *ActionReviewEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *ActionReviewEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + +// A user input field in an plugin action review payload. +type ActionReviewPayloadField struct { + _ struct{} `type:"structure"` + + // The expected data format for the action review input field value. For example, + // in PTO request, from and to would be of datetime allowed format. + AllowedFormat *string `locationName:"allowedFormat" min:"1" type:"string"` + + // Information about the field values that an end user can use to provide to + // Amazon Q Business for Amazon Q Business to perform the requested plugin action. + AllowedValues []*ActionReviewPayloadFieldAllowedValue `locationName:"allowedValues" type:"list"` + + // The field level description of each action review input field. This could + // be an explanation of the field. In the Amazon Q Business web experience, + // these descriptions could be used to display as tool tips to help users understand + // the field. + DisplayDescription *string `locationName:"displayDescription" min:"1" type:"string"` + + // The name of the field. + DisplayName *string `locationName:"displayName" min:"1" type:"string"` + + // The display order of fields in a payload. + DisplayOrder *int64 `locationName:"displayOrder" type:"integer"` + + // Information about whether the field is required. + Required *bool `locationName:"required" type:"boolean"` + + // The type of field. + Type *string `locationName:"type" type:"string" enum:"ActionPayloadFieldType"` +} + +// 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 ActionReviewPayloadField) 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 ActionReviewPayloadField) GoString() string { + return s.String() +} + +// SetAllowedFormat sets the AllowedFormat field's value. +func (s *ActionReviewPayloadField) SetAllowedFormat(v string) *ActionReviewPayloadField { + s.AllowedFormat = &v + return s +} + +// SetAllowedValues sets the AllowedValues field's value. +func (s *ActionReviewPayloadField) SetAllowedValues(v []*ActionReviewPayloadFieldAllowedValue) *ActionReviewPayloadField { + s.AllowedValues = v + return s +} + +// SetDisplayDescription sets the DisplayDescription field's value. +func (s *ActionReviewPayloadField) SetDisplayDescription(v string) *ActionReviewPayloadField { + s.DisplayDescription = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *ActionReviewPayloadField) SetDisplayName(v string) *ActionReviewPayloadField { + s.DisplayName = &v return s } @@ -6692,6 +7311,68 @@ func (s *AppliedCreatorModeConfiguration) SetCreatorModeControl(v string) *Appli return s } +// A file input event activated by a end user request to upload files into their +// web experience chat. +type AttachmentInputEvent struct { + _ struct{} `type:"structure"` + + // A file directly uploaded into a web experience chat. + Attachment *AttachmentInput_ `locationName:"attachment" 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 AttachmentInputEvent) 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 AttachmentInputEvent) GoString() string { + return s.String() +} + +// SetAttachment sets the Attachment field's value. +func (s *AttachmentInputEvent) SetAttachment(v *AttachmentInput_) *AttachmentInputEvent { + s.Attachment = v + return s +} + +// The AttachmentInputEvent is and event in the ChatInputStream group of events. +func (s *AttachmentInputEvent) eventChatInputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the AttachmentInputEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *AttachmentInputEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *AttachmentInputEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + // A file directly uploaded into a web experience chat. type AttachmentInput_ struct { _ struct{} `type:"structure"` @@ -7045,6 +7726,220 @@ func (s *AttributeFilter) SetOrAllFilters(v []*AttributeFilter) *AttributeFilter return s } +// A request made by Amazon Q Business to a third paty authentication server +// to authenticate a custom plugin user. +type AuthChallengeRequest struct { + _ struct{} `type:"structure"` + + // The URL sent by Amazon Q Business to the third party authentication server + // to authenticate a custom plugin user through an OAuth protocol. + // + // AuthorizationUrl is a required field + AuthorizationUrl *string `locationName:"authorizationUrl" 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 AuthChallengeRequest) 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 AuthChallengeRequest) GoString() string { + return s.String() +} + +// SetAuthorizationUrl sets the AuthorizationUrl field's value. +func (s *AuthChallengeRequest) SetAuthorizationUrl(v string) *AuthChallengeRequest { + s.AuthorizationUrl = &v + return s +} + +// An authentication verification event activated by an end user request to +// use a custom plugin. +type AuthChallengeRequestEvent struct { + _ struct{} `type:"structure"` + + // The URL sent by Amazon Q Business to a third party authentication server + // in response to an authentication verification event activated by an end user + // request to use a custom plugin. + // + // AuthorizationUrl is a required field + AuthorizationUrl *string `locationName:"authorizationUrl" 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 AuthChallengeRequestEvent) 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 AuthChallengeRequestEvent) GoString() string { + return s.String() +} + +// SetAuthorizationUrl sets the AuthorizationUrl field's value. +func (s *AuthChallengeRequestEvent) SetAuthorizationUrl(v string) *AuthChallengeRequestEvent { + s.AuthorizationUrl = &v + return s +} + +// The AuthChallengeRequestEvent is and event in the ChatOutputStream group of events. +func (s *AuthChallengeRequestEvent) eventChatOutputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the AuthChallengeRequestEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *AuthChallengeRequestEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *AuthChallengeRequestEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + +// Contains details of the authentication information received from a third +// party authentication server in response to an authentication challenge. +type AuthChallengeResponse struct { + _ struct{} `type:"structure"` + + // The mapping of key-value pairs in an authentication challenge response. + // + // ResponseMap is a required field + ResponseMap map[string]*string `locationName:"responseMap" type:"map" 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 AuthChallengeResponse) 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 AuthChallengeResponse) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuthChallengeResponse) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuthChallengeResponse"} + if s.ResponseMap == nil { + invalidParams.Add(request.NewErrParamRequired("ResponseMap")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResponseMap sets the ResponseMap field's value. +func (s *AuthChallengeResponse) SetResponseMap(v map[string]*string) *AuthChallengeResponse { + s.ResponseMap = v + return s +} + +// An authentication verification event response by a third party authentication +// server to Amazon Q Business. +type AuthChallengeResponseEvent struct { + _ struct{} `type:"structure"` + + // The mapping of key-value pairs in an authentication challenge response. + // + // ResponseMap is a required field + ResponseMap map[string]*string `locationName:"responseMap" type:"map" 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 AuthChallengeResponseEvent) 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 AuthChallengeResponseEvent) GoString() string { + return s.String() +} + +// SetResponseMap sets the ResponseMap field's value. +func (s *AuthChallengeResponseEvent) SetResponseMap(v map[string]*string) *AuthChallengeResponseEvent { + s.ResponseMap = v + return s +} + +// The AuthChallengeResponseEvent is and event in the ChatInputStream group of events. +func (s *AuthChallengeResponseEvent) eventChatInputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the AuthChallengeResponseEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *AuthChallengeResponseEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *AuthChallengeResponseEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + // Information about the basic authentication credentials used to configure // a plugin. type BasicAuthConfiguration struct { @@ -7488,6 +8383,182 @@ func (s *BlockedPhrasesConfigurationUpdate) SetSystemMessageOverride(v string) * return s } +type ChatInput struct { + _ struct{} `type:"structure" payload:"InputStream"` + + // The identifier of the Amazon Q Business application linked to a streaming + // Amazon Q Business conversation. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" min:"36" type:"string" required:"true"` + + // A token that you provide to identify the chat input. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The identifier of the Amazon Q Business conversation. + ConversationId *string `location:"querystring" locationName:"conversationId" min:"36" type:"string"` + + // The identifier used to associate a user message with a AI generated response. + ParentMessageId *string `location:"querystring" locationName:"parentMessageId" min:"36" type:"string"` + + // The groups that a user associated with the chat input belongs to. + UserGroups []*string `location:"querystring" locationName:"userGroups" type:"list"` + + // The identifier of the user attached to the chat input. + UserId *string `location:"querystring" locationName:"userId" 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 ChatInput) 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 ChatInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ChatInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ChatInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 36)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ConversationId != nil && len(*s.ConversationId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConversationId", 36)) + } + if s.ParentMessageId != nil && len(*s.ParentMessageId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ParentMessageId", 36)) + } + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *ChatInput) SetApplicationId(v string) *ChatInput { + s.ApplicationId = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *ChatInput) SetClientToken(v string) *ChatInput { + s.ClientToken = &v + return s +} + +// SetConversationId sets the ConversationId field's value. +func (s *ChatInput) SetConversationId(v string) *ChatInput { + s.ConversationId = &v + return s +} + +// SetParentMessageId sets the ParentMessageId field's value. +func (s *ChatInput) SetParentMessageId(v string) *ChatInput { + s.ParentMessageId = &v + return s +} + +// SetUserGroups sets the UserGroups field's value. +func (s *ChatInput) SetUserGroups(v []*string) *ChatInput { + s.UserGroups = v + return s +} + +// SetUserId sets the UserId field's value. +func (s *ChatInput) SetUserId(v string) *ChatInput { + s.UserId = &v + return s +} + +// ChatInputStreamEvent groups together all EventStream +// events writes for ChatInputStream. +// +// These events are: +// +// - AttachmentInputEvent +// - AuthChallengeResponseEvent +// - ConfigurationEvent +// - EndOfInputEvent +// - TextInputEvent +type ChatInputStreamEvent interface { + eventChatInputStream() + eventstreamapi.Marshaler + eventstreamapi.Unmarshaler +} + +// ChatInputStreamWriter provides the interface for writing events to the stream. +// The default implementation for this interface will be ChatInputStream. +// +// The writer's Close method must allow multiple concurrent calls. +// +// These events are: +// +// - AttachmentInputEvent +// - AuthChallengeResponseEvent +// - ConfigurationEvent +// - EndOfInputEvent +// - TextInputEvent +type ChatInputStreamWriter interface { + // Sends writes events to the stream blocking until the event has been + // written. An error is returned if the write fails. + Send(aws.Context, ChatInputStreamEvent) error + + // Close will stop the writer writing to the event stream. + Close() error + + // Returns any error that has occurred while writing to the event stream. + Err() error +} + +type writeChatInputStream struct { + *eventstreamapi.StreamWriter +} + +func (w *writeChatInputStream) Send(ctx aws.Context, event ChatInputStreamEvent) error { + return w.StreamWriter.Send(ctx, event) +} + +func eventTypeForChatInputStreamEvent(event eventstreamapi.Marshaler) (string, error) { + switch event.(type) { + case *AttachmentInputEvent: + return "attachmentEvent", nil + case *AuthChallengeResponseEvent: + return "authChallengeResponseEvent", nil + case *ConfigurationEvent: + return "configurationEvent", nil + case *EndOfInputEvent: + return "endOfInputEvent", nil + case *TextInputEvent: + return "textEvent", nil + default: + return "", awserr.New( + request.ErrCodeSerialization, + fmt.Sprintf("unknown event type, %T, for ChatInputStream", event), + nil, + ) + } +} + // Configuration information for Amazon Q Business conversation modes. // // For more information, see Admin controls and guardrails (https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html) @@ -7538,6 +8609,203 @@ func (s *ChatModeConfiguration) SetPluginConfiguration(v *PluginConfiguration) * return s } +type ChatOutput struct { + _ struct{} `type:"structure" payload:"OutputStream"` + + eventStream *ChatEventStream +} + +// 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 ChatOutput) 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 ChatOutput) GoString() string { + return s.String() +} + +// GetStream returns the type to interact with the event stream. +func (s *ChatOutput) GetStream() *ChatEventStream { + return s.eventStream +} + +// ChatOutputStreamEvent groups together all EventStream +// events writes for ChatOutputStream. +// +// These events are: +// +// - ActionReviewEvent +// - AuthChallengeRequestEvent +// - FailedAttachmentEvent +// - MetadataEvent +// - TextOutputEvent +type ChatOutputStreamEvent interface { + eventChatOutputStream() + eventstreamapi.Marshaler + eventstreamapi.Unmarshaler +} + +// ChatOutputStreamReader provides the interface for reading to the stream. The +// default implementation for this interface will be ChatOutputStream. +// +// The reader's Close method must allow multiple concurrent calls. +// +// These events are: +// +// - ActionReviewEvent +// - AuthChallengeRequestEvent +// - FailedAttachmentEvent +// - MetadataEvent +// - TextOutputEvent +// - ChatOutputStreamUnknownEvent +type ChatOutputStreamReader interface { + // Returns a channel of events as they are read from the event stream. + Events() <-chan ChatOutputStreamEvent + + // Close will stop the reader reading events from the stream. + Close() error + + // Returns any error that has occurred while reading from the event stream. + Err() error +} + +type readChatOutputStream struct { + eventReader *eventstreamapi.EventReader + stream chan ChatOutputStreamEvent + err *eventstreamapi.OnceError + + done chan struct{} + closeOnce sync.Once +} + +func newReadChatOutputStream(eventReader *eventstreamapi.EventReader) *readChatOutputStream { + r := &readChatOutputStream{ + eventReader: eventReader, + stream: make(chan ChatOutputStreamEvent), + done: make(chan struct{}), + err: eventstreamapi.NewOnceError(), + } + go r.readEventStream() + + return r +} + +// Close will close the underlying event stream reader. +func (r *readChatOutputStream) Close() error { + r.closeOnce.Do(r.safeClose) + return r.Err() +} + +func (r *readChatOutputStream) ErrorSet() <-chan struct{} { + return r.err.ErrorSet() +} + +func (r *readChatOutputStream) Closed() <-chan struct{} { + return r.done +} + +func (r *readChatOutputStream) safeClose() { + close(r.done) +} + +func (r *readChatOutputStream) Err() error { + return r.err.Err() +} + +func (r *readChatOutputStream) Events() <-chan ChatOutputStreamEvent { + return r.stream +} + +func (r *readChatOutputStream) readEventStream() { + defer r.Close() + defer close(r.stream) + + for { + event, err := r.eventReader.ReadEvent() + if err != nil { + if err == io.EOF { + return + } + select { + case <-r.done: + // If closed already ignore the error + return + default: + } + if _, ok := err.(*eventstreamapi.UnknownMessageTypeError); ok { + continue + } + r.err.SetError(err) + return + } + + select { + case r.stream <- event.(ChatOutputStreamEvent): + case <-r.done: + return + } + } +} + +type unmarshalerForChatOutputStreamEvent struct { + metadata protocol.ResponseMetadata +} + +func (u unmarshalerForChatOutputStreamEvent) UnmarshalerForEventName(eventType string) (eventstreamapi.Unmarshaler, error) { + switch eventType { + case "actionReviewEvent": + return &ActionReviewEvent{}, nil + case "authChallengeRequestEvent": + return &AuthChallengeRequestEvent{}, nil + case "failedAttachmentEvent": + return &FailedAttachmentEvent{}, nil + case "metadataEvent": + return &MetadataEvent{}, nil + case "textEvent": + return &TextOutputEvent{}, nil + default: + return &ChatOutputStreamUnknownEvent{Type: eventType}, nil + } +} + +// ChatOutputStreamUnknownEvent provides a failsafe event for the +// ChatOutputStream group of events when an unknown event is received. +type ChatOutputStreamUnknownEvent struct { + Type string + Message eventstream.Message +} + +// The ChatOutputStreamUnknownEvent is and event in the ChatOutputStream +// group of events. +func (s *ChatOutputStreamUnknownEvent) eventChatOutputStream() {} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (e *ChatOutputStreamUnknownEvent) MarshalEvent(pm protocol.PayloadMarshaler) ( + msg eventstream.Message, err error, +) { + return e.Message.Clone(), nil +} + +// UnmarshalEvent unmarshals the EventStream Message into the ChatOutputStream value. +// This method is only used internally within the SDK's EventStream handling. +func (e *ChatOutputStreamUnknownEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + e.Message = msg.Clone() + return nil +} + type ChatSyncInput struct { _ struct{} `type:"structure"` @@ -7555,7 +8823,11 @@ type ChatSyncInput struct { // document attributes or metadata fields. AttributeFilter *AttributeFilter `locationName:"attributeFilter" type:"structure"` - // The chat modes available in an Amazon Q Business web experience. + // An authentication verification event response by a third party authentication + // server to Amazon Q Business. + AuthChallengeResponse *AuthChallengeResponse `locationName:"authChallengeResponse" type:"structure"` + + // The chat modes available to an Amazon Q Business end user. // // * RETRIEVAL_MODE - The default chat mode for an Amazon Q Business application. // When this mode is enabled, Amazon Q Business generates responses only @@ -7655,6 +8927,11 @@ func (s *ChatSyncInput) Validate() error { invalidParams.AddNested("AttributeFilter", err.(request.ErrInvalidParams)) } } + if s.AuthChallengeResponse != nil { + if err := s.AuthChallengeResponse.Validate(); err != nil { + invalidParams.AddNested("AuthChallengeResponse", err.(request.ErrInvalidParams)) + } + } if s.ChatModeConfiguration != nil { if err := s.ChatModeConfiguration.Validate(); err != nil { invalidParams.AddNested("ChatModeConfiguration", err.(request.ErrInvalidParams)) @@ -7685,6 +8962,12 @@ func (s *ChatSyncInput) SetAttributeFilter(v *AttributeFilter) *ChatSyncInput { return s } +// SetAuthChallengeResponse sets the AuthChallengeResponse field's value. +func (s *ChatSyncInput) SetAuthChallengeResponse(v *AuthChallengeResponse) *ChatSyncInput { + s.AuthChallengeResponse = v + return s +} + // SetChatMode sets the ChatMode field's value. func (s *ChatSyncInput) SetChatMode(v string) *ChatSyncInput { s.ChatMode = &v @@ -7740,6 +9023,10 @@ type ChatSyncOutput struct { // Business needs to successfully complete a requested plugin action. ActionReview *ActionReview `locationName:"actionReview" type:"structure"` + // An authentication verification event activated by an end user request to + // use a custom plugin. + AuthChallengeRequest *AuthChallengeRequest `locationName:"authChallengeRequest" type:"structure"` + // The identifier of the Amazon Q Business conversation. ConversationId *string `locationName:"conversationId" min:"36" type:"string"` @@ -7784,6 +9071,12 @@ func (s *ChatSyncOutput) SetActionReview(v *ActionReview) *ChatSyncOutput { return s } +// SetAuthChallengeRequest sets the AuthChallengeRequest field's value. +func (s *ChatSyncOutput) SetAuthChallengeRequest(v *AuthChallengeRequest) *ChatSyncOutput { + s.AuthChallengeRequest = v + return s +} + // SetConversationId sets the ConversationId field's value. func (s *ChatSyncOutput) SetConversationId(v string) *ChatSyncOutput { s.ConversationId = &v @@ -7808,16 +9101,114 @@ func (s *ChatSyncOutput) SetSystemMessage(v string) *ChatSyncOutput { return s } -// SetSystemMessageId sets the SystemMessageId field's value. -func (s *ChatSyncOutput) SetSystemMessageId(v string) *ChatSyncOutput { - s.SystemMessageId = &v - return s +// SetSystemMessageId sets the SystemMessageId field's value. +func (s *ChatSyncOutput) SetSystemMessageId(v string) *ChatSyncOutput { + s.SystemMessageId = &v + return s +} + +// SetUserMessageId sets the UserMessageId field's value. +func (s *ChatSyncOutput) SetUserMessageId(v string) *ChatSyncOutput { + s.UserMessageId = &v + return s +} + +// A configuration event activated by an end user request to select a specific +// chat mode. +type ConfigurationEvent struct { + _ struct{} `type:"structure"` + + // Enables filtering of responses based on document attributes or metadata fields. + AttributeFilter *AttributeFilter `locationName:"attributeFilter" type:"structure"` + + // The chat modes available to an Amazon Q Business end user. + // + // * RETRIEVAL_MODE - The default chat mode for an Amazon Q Business application. + // When this mode is enabled, Amazon Q Business generates responses only + // from data sources connected to an Amazon Q Business application. + // + // * CREATOR_MODE - By selecting this mode, users can choose to generate + // responses only from the LLM knowledge, without consulting connected data + // sources, for a chat request. + // + // * PLUGIN_MODE - By selecting this mode, users can choose to use plugins + // in chat. + // + // For more information, see Admin controls and guardrails (https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html), + // Plugins (https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/plugins.html), + // and Conversation settings (https://docs.aws.amazon.com/amazonq/latest/business-use-dg/using-web-experience.html#chat-source-scope). + ChatMode *string `locationName:"chatMode" type:"string" enum:"ChatMode"` + + // Configuration information for Amazon Q Business conversation modes. + // + // For more information, see Admin controls and guardrails (https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html) + // and Conversation settings (https://docs.aws.amazon.com/amazonq/latest/business-use-dg/using-web-experience.html#chat-source-scope). + ChatModeConfiguration *ChatModeConfiguration `locationName:"chatModeConfiguration" 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 ConfigurationEvent) 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 ConfigurationEvent) GoString() string { + return s.String() +} + +// SetAttributeFilter sets the AttributeFilter field's value. +func (s *ConfigurationEvent) SetAttributeFilter(v *AttributeFilter) *ConfigurationEvent { + s.AttributeFilter = v + return s +} + +// SetChatMode sets the ChatMode field's value. +func (s *ConfigurationEvent) SetChatMode(v string) *ConfigurationEvent { + s.ChatMode = &v + return s +} + +// SetChatModeConfiguration sets the ChatModeConfiguration field's value. +func (s *ConfigurationEvent) SetChatModeConfiguration(v *ChatModeConfiguration) *ConfigurationEvent { + s.ChatModeConfiguration = v + return s +} + +// The ConfigurationEvent is and event in the ChatInputStream group of events. +func (s *ConfigurationEvent) eventChatInputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the ConfigurationEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *ConfigurationEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil } -// SetUserMessageId sets the UserMessageId field's value. -func (s *ChatSyncOutput) SetUserMessageId(v string) *ChatSyncOutput { - s.UserMessageId = &v - return s +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *ConfigurationEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err } // You are trying to perform an action that conflicts with the current status @@ -8064,9 +9455,7 @@ type CreateApplicationInput struct { // The Amazon Resource Name (ARN) of an IAM role with permissions to access // your Amazon CloudWatch logs and metrics. - // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + RoleArn *string `locationName:"roleArn" type:"string"` // A list of key-value pairs that identify or categorize your Amazon Q Business // application. You can also use tags to help control access to the application. @@ -8108,9 +9497,6 @@ func (s *CreateApplicationInput) Validate() error { if s.IdentityCenterInstanceArn != nil && len(*s.IdentityCenterInstanceArn) < 10 { invalidParams.Add(request.NewErrParamMinLen("IdentityCenterInstanceArn", 10)) } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } if s.AttachmentsConfiguration != nil { if err := s.AttachmentsConfiguration.Validate(); err != nil { invalidParams.AddNested("AttachmentsConfiguration", err.(request.ErrInvalidParams)) @@ -8256,6 +9642,11 @@ type CreateIndexInput struct { // consist of Unicode letters, digits, white space, and any of the following // symbols: _ . : / = + - @. Tags []*Tag `locationName:"tags" type:"list"` + + // The index type that's suitable for your needs. For more information on what's + // included in each type of index or index tier, see Amazon Q Business tiers + // (https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/what-is.html#tiers). + Type *string `locationName:"type" type:"string" enum:"IndexType"` } // String returns the string representation. @@ -8352,6 +9743,12 @@ func (s *CreateIndexInput) SetTags(v []*Tag) *CreateIndexInput { return s } +// SetType sets the Type field's value. +func (s *CreateIndexInput) SetType(v string) *CreateIndexInput { + s.Type = &v + return s +} + type CreateIndexOutput struct { _ struct{} `type:"structure"` @@ -8409,15 +9806,16 @@ type CreatePluginInput struct { // Business plugin. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + // Contains configuration for a custom plugin. + CustomPluginConfiguration *CustomPluginConfiguration `locationName:"customPluginConfiguration" type:"structure"` + // A the name for your plugin. // // DisplayName is a required field DisplayName *string `locationName:"displayName" min:"1" type:"string" required:"true"` // The source URL used for plugin configuration. - // - // ServerUrl is a required field - ServerUrl *string `locationName:"serverUrl" min:"1" type:"string" required:"true"` + ServerUrl *string `locationName:"serverUrl" min:"1" type:"string"` // A list of key-value pairs that identify or categorize the data source connector. // You can also use tags to help control access to the data source connector. @@ -8470,9 +9868,6 @@ func (s *CreatePluginInput) Validate() error { if s.DisplayName != nil && len(*s.DisplayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) } - if s.ServerUrl == nil { - invalidParams.Add(request.NewErrParamRequired("ServerUrl")) - } if s.ServerUrl != nil && len(*s.ServerUrl) < 1 { invalidParams.Add(request.NewErrParamMinLen("ServerUrl", 1)) } @@ -8484,6 +9879,11 @@ func (s *CreatePluginInput) Validate() error { invalidParams.AddNested("AuthConfiguration", err.(request.ErrInvalidParams)) } } + if s.CustomPluginConfiguration != nil { + if err := s.CustomPluginConfiguration.Validate(); err != nil { + invalidParams.AddNested("CustomPluginConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -8519,6 +9919,12 @@ func (s *CreatePluginInput) SetClientToken(v string) *CreatePluginInput { return s } +// SetCustomPluginConfiguration sets the CustomPluginConfiguration field's value. +func (s *CreatePluginInput) SetCustomPluginConfiguration(v *CustomPluginConfiguration) *CreatePluginInput { + s.CustomPluginConfiguration = v + return s +} + // SetDisplayName sets the DisplayName field's value. func (s *CreatePluginInput) SetDisplayName(v string) *CreatePluginInput { s.DisplayName = &v @@ -8546,6 +9952,9 @@ func (s *CreatePluginInput) SetType(v string) *CreatePluginInput { type CreatePluginOutput struct { _ struct{} `type:"structure"` + // The current status of a plugin. A plugin is modified asynchronously. + BuildStatus *string `locationName:"buildStatus" type:"string" enum:"PluginBuildStatus"` + // The Amazon Resource Name (ARN) of a plugin. PluginArn *string `locationName:"pluginArn" type:"string"` @@ -8571,6 +9980,12 @@ func (s CreatePluginOutput) GoString() string { return s.String() } +// SetBuildStatus sets the BuildStatus field's value. +func (s *CreatePluginOutput) SetBuildStatus(v string) *CreatePluginOutput { + s.BuildStatus = &v + return s +} + // SetPluginArn sets the PluginArn field's value. func (s *CreatePluginOutput) SetPluginArn(v string) *CreatePluginOutput { s.PluginArn = &v @@ -9110,6 +10525,90 @@ func (s *CreatorModeConfiguration) SetCreatorModeControl(v string) *CreatorModeC return s } +// Configuration information required to create a custom plugin. +type CustomPluginConfiguration struct { + _ struct{} `type:"structure"` + + // Contains either details about the S3 object containing the OpenAPI schema + // for the action group or the JSON or YAML-formatted payload defining the schema. + // + // ApiSchema is a required field + ApiSchema *APISchema `locationName:"apiSchema" type:"structure" required:"true"` + + // The type of OpenAPI schema to use. + // + // ApiSchemaType is a required field + ApiSchemaType *string `locationName:"apiSchemaType" type:"string" required:"true" enum:"APISchemaType"` + + // A description for your custom plugin configuration. + // + // Description is a required field + Description *string `locationName:"description" 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 CustomPluginConfiguration) 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 CustomPluginConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomPluginConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomPluginConfiguration"} + if s.ApiSchema == nil { + invalidParams.Add(request.NewErrParamRequired("ApiSchema")) + } + if s.ApiSchemaType == nil { + invalidParams.Add(request.NewErrParamRequired("ApiSchemaType")) + } + if s.Description == nil { + invalidParams.Add(request.NewErrParamRequired("Description")) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.ApiSchema != nil { + if err := s.ApiSchema.Validate(); err != nil { + invalidParams.AddNested("ApiSchema", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiSchema sets the ApiSchema field's value. +func (s *CustomPluginConfiguration) SetApiSchema(v *APISchema) *CustomPluginConfiguration { + s.ApiSchema = v + return s +} + +// SetApiSchemaType sets the ApiSchemaType field's value. +func (s *CustomPluginConfiguration) SetApiSchemaType(v string) *CustomPluginConfiguration { + s.ApiSchemaType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CustomPluginConfiguration) SetDescription(v string) *CustomPluginConfiguration { + s.Description = &v + return s +} + // A data source in an Amazon Q Business application. type DataSource struct { _ struct{} `type:"structure"` @@ -10790,8 +12289,8 @@ type DocumentAttributeCondition struct { // For example, 'Source_URI' could be an identifier for the attribute or metadata // field that contains source URIs associated with the documents. // - // Amazon Kendra currently does not support _document_body as an attribute key - // used for the condition. + // Amazon Q Business currently does not support _document_body as an attribute + // key used for the condition. // // Operator is a required field Operator *string `locationName:"operator" type:"string" required:"true" enum:"DocumentEnrichmentConditionOperator"` @@ -11220,13 +12719,12 @@ type DocumentEnrichmentConfiguration struct { // Lambda to alter document metadata and content when ingesting documents into // Amazon Q Business. // - // You can configure your Lambda function using PreExtractionHookConfiguration - // (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentEnrichmentConfiguration.html) - // if you want to apply advanced alterations on the original or raw documents. + // You can configure your Lambda function using the PreExtractionHookConfiguration + // parameter if you want to apply advanced alterations on the original or raw + // documents. // // If you want to apply advanced alterations on the Amazon Q Business structured - // documents, you must configure your Lambda function using PostExtractionHookConfiguration - // (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentEnrichmentConfiguration.html). + // documents, you must configure your Lambda function using PostExtractionHookConfiguration. // // You can only invoke one Lambda function. However, this function can invoke // other functions it requires. @@ -11238,13 +12736,12 @@ type DocumentEnrichmentConfiguration struct { // Lambda to alter document metadata and content when ingesting documents into // Amazon Q Business. // - // You can configure your Lambda function using PreExtractionHookConfiguration - // (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentEnrichmentConfiguration.html) - // if you want to apply advanced alterations on the original or raw documents. + // You can configure your Lambda function using the PreExtractionHookConfiguration + // parameter if you want to apply advanced alterations on the original or raw + // documents. // // If you want to apply advanced alterations on the Amazon Q Business structured - // documents, you must configure your Lambda function using PostExtractionHookConfiguration - // (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentEnrichmentConfiguration.html). + // documents, you must configure your Lambda function using PostExtractionHookConfiguration. // // You can only invoke one Lambda function. However, this function can invoke // other functions it requires. @@ -11431,6 +12928,48 @@ func (s *EncryptionConfiguration) SetKmsKeyId(v string) *EncryptionConfiguration return s } +// The end of the streaming input for the Chat API. +type EndOfInputEvent 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 EndOfInputEvent) 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 EndOfInputEvent) GoString() string { + return s.String() +} + +// The EndOfInputEvent is and event in the ChatInputStream group of events. +func (s *EndOfInputEvent) eventChatInputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the EndOfInputEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *EndOfInputEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *EndOfInputEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + return msg, err +} + // Provides information about a data source sync error. type ErrorDetail struct { _ struct{} `type:"structure"` @@ -11472,6 +13011,94 @@ func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { return s } +// A failed file upload during web experience chat. +type FailedAttachmentEvent struct { + _ struct{} `type:"structure"` + + // The details of a file uploaded during chat. + Attachment *AttachmentOutput_ `locationName:"attachment" type:"structure"` + + // The identifier of the conversation associated with the failed file upload. + ConversationId *string `locationName:"conversationId" min:"36" type:"string"` + + // The identifier of the AI-generated message associated with the file upload. + SystemMessageId *string `locationName:"systemMessageId" min:"36" type:"string"` + + // The identifier of the end user chat message associated with the file upload. + UserMessageId *string `locationName:"userMessageId" min:"36" 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 FailedAttachmentEvent) 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 FailedAttachmentEvent) GoString() string { + return s.String() +} + +// SetAttachment sets the Attachment field's value. +func (s *FailedAttachmentEvent) SetAttachment(v *AttachmentOutput_) *FailedAttachmentEvent { + s.Attachment = v + return s +} + +// SetConversationId sets the ConversationId field's value. +func (s *FailedAttachmentEvent) SetConversationId(v string) *FailedAttachmentEvent { + s.ConversationId = &v + return s +} + +// SetSystemMessageId sets the SystemMessageId field's value. +func (s *FailedAttachmentEvent) SetSystemMessageId(v string) *FailedAttachmentEvent { + s.SystemMessageId = &v + return s +} + +// SetUserMessageId sets the UserMessageId field's value. +func (s *FailedAttachmentEvent) SetUserMessageId(v string) *FailedAttachmentEvent { + s.UserMessageId = &v + return s +} + +// The FailedAttachmentEvent is and event in the ChatOutputStream group of events. +func (s *FailedAttachmentEvent) eventChatOutputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the FailedAttachmentEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *FailedAttachmentEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *FailedAttachmentEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + // A list of documents that could not be removed from an Amazon Q Business index. // Each entry contains an error message that indicates why the document couldn't // be removed from the index. @@ -12349,6 +13976,9 @@ type GetIndexOutput struct { // a message that explains why. Status *string `locationName:"status" type:"string" enum:"IndexStatus"` + // The type of index attached to your Amazon Q Business application. + Type *string `locationName:"type" type:"string" enum:"IndexType"` + // The Unix timestamp when the Amazon Q Business index was last updated. UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` } @@ -12437,6 +14067,12 @@ func (s *GetIndexOutput) SetStatus(v string) *GetIndexOutput { return s } +// SetType sets the Type field's value. +func (s *GetIndexOutput) SetType(v string) *GetIndexOutput { + s.Type = &v + return s +} + // SetUpdatedAt sets the UpdatedAt field's value. func (s *GetIndexOutput) SetUpdatedAt(v time.Time) *GetIndexOutput { s.UpdatedAt = &v @@ -12518,9 +14154,15 @@ type GetPluginOutput struct { // Authentication configuration information for an Amazon Q Business plugin. AuthConfiguration *PluginAuthConfiguration `locationName:"authConfiguration" type:"structure"` + // The current status of a plugin. A plugin is modified asynchronously. + BuildStatus *string `locationName:"buildStatus" type:"string" enum:"PluginBuildStatus"` + // The timestamp for when the plugin was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // Configuration information required to create a custom plugin. + CustomPluginConfiguration *CustomPluginConfiguration `locationName:"customPluginConfiguration" type:"structure"` + // The name of the plugin. DisplayName *string `locationName:"displayName" min:"1" type:"string"` @@ -12574,12 +14216,24 @@ func (s *GetPluginOutput) SetAuthConfiguration(v *PluginAuthConfiguration) *GetP return s } +// SetBuildStatus sets the BuildStatus field's value. +func (s *GetPluginOutput) SetBuildStatus(v string) *GetPluginOutput { + s.BuildStatus = &v + return s +} + // SetCreatedAt sets the CreatedAt field's value. func (s *GetPluginOutput) SetCreatedAt(v time.Time) *GetPluginOutput { s.CreatedAt = &v return s } +// SetCustomPluginConfiguration sets the CustomPluginConfiguration field's value. +func (s *GetPluginOutput) SetCustomPluginConfiguration(v *CustomPluginConfiguration) *GetPluginOutput { + s.CustomPluginConfiguration = v + return s +} + // SetDisplayName sets the DisplayName field's value. func (s *GetPluginOutput) SetDisplayName(v string) *GetPluginOutput { s.DisplayName = &v @@ -12973,9 +14627,11 @@ type GetWebExperienceOutput struct { // The authentication configuration information for your Amazon Q Business web // experience. - AuthenticationConfiguration *WebExperienceAuthConfiguration `locationName:"authenticationConfiguration" type:"structure"` + // + // Deprecated: Property associated with legacy SAML IdP flow. Deprecated in favor of using AWS IAM Identity Center for user management. + AuthenticationConfiguration *WebExperienceAuthConfiguration `locationName:"authenticationConfiguration" deprecated:"true" type:"structure"` - // The Unix timestamp when the retriever was created. + // The Unix timestamp when the Amazon Q Business web experience was last created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` // The endpoint of your Amazon Q Business web experience. @@ -13003,7 +14659,7 @@ type GetWebExperienceOutput struct { // The title for your Amazon Q Business web experience. Title *string `locationName:"title" type:"string"` - // The Unix timestamp when the data source connector was last updated. + // The Unix timestamp when the Amazon Q Business web experience was last updated. UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` // The Amazon Resource Name (ARN) of the role with the permission to access @@ -13287,13 +14943,12 @@ func (s *GroupSummary) SetGroupName(v string) *GroupSummary { // Lambda to alter document metadata and content when ingesting documents into // Amazon Q Business. // -// You can configure your Lambda function using PreExtractionHookConfiguration -// (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentEnrichmentConfiguration.html) -// if you want to apply advanced alterations on the original or raw documents. +// You can configure your Lambda function using the PreExtractionHookConfiguration +// parameter if you want to apply advanced alterations on the original or raw +// documents. // // If you want to apply advanced alterations on the Amazon Q Business structured -// documents, you must configure your Lambda function using PostExtractionHookConfiguration -// (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentEnrichmentConfiguration.html). +// documents, you must configure your Lambda function using PostExtractionHookConfiguration. // // You can only invoke one Lambda function. However, this function can invoke // other functions it requires. @@ -15592,10 +17247,90 @@ type MessageUsefulnessFeedback struct { // SubmittedAt is a required field SubmittedAt *time.Time `locationName:"submittedAt" type:"timestamp" required:"true"` - // The usefulness value assigned by an end user to a message. - // - // Usefulness is a required field - Usefulness *string `locationName:"usefulness" type:"string" required:"true" enum:"MessageUsefulness"` + // The usefulness value assigned by an end user to a message. + // + // Usefulness is a required field + Usefulness *string `locationName:"usefulness" type:"string" required:"true" enum:"MessageUsefulness"` +} + +// 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 MessageUsefulnessFeedback) 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 MessageUsefulnessFeedback) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MessageUsefulnessFeedback) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MessageUsefulnessFeedback"} + if s.SubmittedAt == nil { + invalidParams.Add(request.NewErrParamRequired("SubmittedAt")) + } + if s.Usefulness == nil { + invalidParams.Add(request.NewErrParamRequired("Usefulness")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *MessageUsefulnessFeedback) SetComment(v string) *MessageUsefulnessFeedback { + s.Comment = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *MessageUsefulnessFeedback) SetReason(v string) *MessageUsefulnessFeedback { + s.Reason = &v + return s +} + +// SetSubmittedAt sets the SubmittedAt field's value. +func (s *MessageUsefulnessFeedback) SetSubmittedAt(v time.Time) *MessageUsefulnessFeedback { + s.SubmittedAt = &v + return s +} + +// SetUsefulness sets the Usefulness field's value. +func (s *MessageUsefulnessFeedback) SetUsefulness(v string) *MessageUsefulnessFeedback { + s.Usefulness = &v + return s +} + +// A metadata event for a AI-generated text output message in a Amazon Q Business +// conversation, containing associated metadata generated. +type MetadataEvent struct { + _ struct{} `type:"structure"` + + // The identifier of the conversation with which the generated metadata is associated. + ConversationId *string `locationName:"conversationId" min:"36" type:"string"` + + // The final text output message generated by the system. + FinalTextMessage *string `locationName:"finalTextMessage" min:"1" type:"string"` + + // The source documents used to generate the conversation response. + SourceAttributions []*SourceAttribution `locationName:"sourceAttributions" type:"list"` + + // The identifier of an Amazon Q Business AI generated message within the conversation. + SystemMessageId *string `locationName:"systemMessageId" min:"36" type:"string"` + + // The identifier of an Amazon Q Business end user text input message within + // the conversation. + UserMessageId *string `locationName:"userMessageId" min:"36" type:"string"` } // String returns the string representation. @@ -15603,7 +17338,7 @@ type MessageUsefulnessFeedback 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 MessageUsefulnessFeedback) String() string { +func (s MetadataEvent) String() string { return awsutil.Prettify(s) } @@ -15612,50 +17347,69 @@ func (s MessageUsefulnessFeedback) 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 MessageUsefulnessFeedback) GoString() string { +func (s MetadataEvent) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *MessageUsefulnessFeedback) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MessageUsefulnessFeedback"} - if s.SubmittedAt == nil { - invalidParams.Add(request.NewErrParamRequired("SubmittedAt")) - } - if s.Usefulness == nil { - invalidParams.Add(request.NewErrParamRequired("Usefulness")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetConversationId sets the ConversationId field's value. +func (s *MetadataEvent) SetConversationId(v string) *MetadataEvent { + s.ConversationId = &v + return s } -// SetComment sets the Comment field's value. -func (s *MessageUsefulnessFeedback) SetComment(v string) *MessageUsefulnessFeedback { - s.Comment = &v +// SetFinalTextMessage sets the FinalTextMessage field's value. +func (s *MetadataEvent) SetFinalTextMessage(v string) *MetadataEvent { + s.FinalTextMessage = &v return s } -// SetReason sets the Reason field's value. -func (s *MessageUsefulnessFeedback) SetReason(v string) *MessageUsefulnessFeedback { - s.Reason = &v +// SetSourceAttributions sets the SourceAttributions field's value. +func (s *MetadataEvent) SetSourceAttributions(v []*SourceAttribution) *MetadataEvent { + s.SourceAttributions = v return s } -// SetSubmittedAt sets the SubmittedAt field's value. -func (s *MessageUsefulnessFeedback) SetSubmittedAt(v time.Time) *MessageUsefulnessFeedback { - s.SubmittedAt = &v +// SetSystemMessageId sets the SystemMessageId field's value. +func (s *MetadataEvent) SetSystemMessageId(v string) *MetadataEvent { + s.SystemMessageId = &v return s } -// SetUsefulness sets the Usefulness field's value. -func (s *MessageUsefulnessFeedback) SetUsefulness(v string) *MessageUsefulnessFeedback { - s.Usefulness = &v +// SetUserMessageId sets the UserMessageId field's value. +func (s *MetadataEvent) SetUserMessageId(v string) *MetadataEvent { + s.UserMessageId = &v return s } +// The MetadataEvent is and event in the ChatOutputStream group of events. +func (s *MetadataEvent) eventChatOutputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the MetadataEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *MetadataEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *MetadataEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + // Configuration information for an Amazon Q Business index. type NativeIndexConfiguration struct { _ struct{} `type:"structure"` @@ -15729,6 +17483,30 @@ func (s *NativeIndexConfiguration) SetIndexId(v string) *NativeIndexConfiguratio return s } +// Information about invoking a custom plugin without any authentication or +// authorization requirement. +type NoAuthConfiguration 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 NoAuthConfiguration) 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 NoAuthConfiguration) GoString() string { + return s.String() +} + // Provides information on boosting NUMBER type document attributes. // // For more information on how boosting document attributes work in Amazon Q @@ -15857,6 +17635,9 @@ func (s *OAuth2ClientCredentialConfiguration) SetSecretArn(v string) *OAuth2Clie type Plugin struct { _ struct{} `type:"structure"` + // The status of the plugin. + BuildStatus *string `locationName:"buildStatus" type:"string" enum:"PluginBuildStatus"` + // The timestamp for when the plugin was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` @@ -15897,6 +17678,12 @@ func (s Plugin) GoString() string { return s.String() } +// SetBuildStatus sets the BuildStatus field's value. +func (s *Plugin) SetBuildStatus(v string) *Plugin { + s.BuildStatus = &v + return s +} + // SetCreatedAt sets the CreatedAt field's value. func (s *Plugin) SetCreatedAt(v time.Time) *Plugin { s.CreatedAt = &v @@ -15947,6 +17734,9 @@ type PluginAuthConfiguration struct { // a plugin. BasicAuthConfiguration *BasicAuthConfiguration `locationName:"basicAuthConfiguration" type:"structure"` + // Information about invoking a custom plugin without any authentication. + NoAuthConfiguration *NoAuthConfiguration `locationName:"noAuthConfiguration" type:"structure"` + // Information about the OAuth 2.0 authentication credential/token used to configure // a plugin. OAuth2ClientCredentialConfiguration *OAuth2ClientCredentialConfiguration `locationName:"oAuth2ClientCredentialConfiguration" type:"structure"` @@ -15996,6 +17786,12 @@ func (s *PluginAuthConfiguration) SetBasicAuthConfiguration(v *BasicAuthConfigur return s } +// SetNoAuthConfiguration sets the NoAuthConfiguration field's value. +func (s *PluginAuthConfiguration) SetNoAuthConfiguration(v *NoAuthConfiguration) *PluginAuthConfiguration { + s.NoAuthConfiguration = v + return s +} + // SetOAuth2ClientCredentialConfiguration sets the OAuth2ClientCredentialConfiguration field's value. func (s *PluginAuthConfiguration) SetOAuth2ClientCredentialConfiguration(v *OAuth2ClientCredentialConfiguration) *PluginAuthConfiguration { s.OAuth2ClientCredentialConfiguration = v @@ -17144,6 +18940,40 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } +// Contains the relevant text excerpt from a source that was used to generate +// a citation text segment in an Amazon Q Business chat response. +type SnippetExcerpt struct { + _ struct{} `type:"structure"` + + // The relevant text excerpt from a source that was used to generate a citation + // text segment in an Amazon Q chat response. + Text *string `locationName:"text" 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 SnippetExcerpt) 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 SnippetExcerpt) GoString() string { + return s.String() +} + +// SetText sets the Text field's value. +func (s *SnippetExcerpt) SetText(v string) *SnippetExcerpt { + s.Text = &v + return s +} + // The documents used to generate an Amazon Q Business web experience response. type SourceAttribution struct { _ struct{} `type:"structure"` @@ -17777,6 +19607,158 @@ func (s *TextDocumentStatistics) SetIndexedTextDocumentCount(v int64) *TextDocum return s } +// An input event for a end user message in an Amazon Q Business web experience. +type TextInputEvent struct { + _ struct{} `type:"structure"` + + // A user message in a text message input event. + // + // UserMessage is a required field + UserMessage *string `locationName:"userMessage" 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 TextInputEvent) 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 TextInputEvent) GoString() string { + return s.String() +} + +// SetUserMessage sets the UserMessage field's value. +func (s *TextInputEvent) SetUserMessage(v string) *TextInputEvent { + s.UserMessage = &v + return s +} + +// The TextInputEvent is and event in the ChatInputStream group of events. +func (s *TextInputEvent) eventChatInputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the TextInputEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *TextInputEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *TextInputEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + +// An output event for an AI-generated response in an Amazon Q Business web +// experience. +type TextOutputEvent struct { + _ struct{} `type:"structure"` + + // The identifier of the conversation with which the text output event is associated. + ConversationId *string `locationName:"conversationId" min:"36" type:"string"` + + // An AI-generated message in a TextOutputEvent. + SystemMessage *string `locationName:"systemMessage" min:"1" type:"string"` + + // The identifier of an AI-generated message in a TextOutputEvent. + SystemMessageId *string `locationName:"systemMessageId" min:"36" type:"string"` + + // The identifier of an end user message in a TextOutputEvent. + UserMessageId *string `locationName:"userMessageId" min:"36" 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 TextOutputEvent) 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 TextOutputEvent) GoString() string { + return s.String() +} + +// SetConversationId sets the ConversationId field's value. +func (s *TextOutputEvent) SetConversationId(v string) *TextOutputEvent { + s.ConversationId = &v + return s +} + +// SetSystemMessage sets the SystemMessage field's value. +func (s *TextOutputEvent) SetSystemMessage(v string) *TextOutputEvent { + s.SystemMessage = &v + return s +} + +// SetSystemMessageId sets the SystemMessageId field's value. +func (s *TextOutputEvent) SetSystemMessageId(v string) *TextOutputEvent { + s.SystemMessageId = &v + return s +} + +// SetUserMessageId sets the UserMessageId field's value. +func (s *TextOutputEvent) SetUserMessageId(v string) *TextOutputEvent { + s.UserMessageId = &v + return s +} + +// The TextOutputEvent is and event in the ChatOutputStream group of events. +func (s *TextOutputEvent) eventChatOutputStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the TextOutputEvent value. +// This method is only used internally within the SDK's EventStream handling. +func (s *TextOutputEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *TextOutputEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + // Provides information about a text extract in a chat response that can be // attributed to a source document. type TextSegment struct { @@ -17789,6 +19771,10 @@ type TextSegment struct { // The zero-based location in the response string where the source attribution // ends. EndOffset *int64 `locationName:"endOffset" type:"integer"` + + // The relevant text excerpt from a source that was used to generate a citation + // text segment in an Amazon Q Business chat response. + SnippetExcerpt *SnippetExcerpt `locationName:"snippetExcerpt" type:"structure"` } // String returns the string representation. @@ -17821,6 +19807,12 @@ func (s *TextSegment) SetEndOffset(v int64) *TextSegment { return s } +// SetSnippetExcerpt sets the SnippetExcerpt field's value. +func (s *TextSegment) SetSnippetExcerpt(v *SnippetExcerpt) *TextSegment { + s.SnippetExcerpt = v + return s +} + // The request was denied due to throttling. Reduce the number of requests and // try again. type ThrottlingException struct { @@ -18084,6 +20076,10 @@ type UpdateApplicationInput struct { // A name for the Amazon Q Business application. DisplayName *string `locationName:"displayName" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the IAM Identity Center instance you are + // either creating for—or connecting to—your Amazon Q Business application. + IdentityCenterInstanceArn *string `locationName:"identityCenterInstanceArn" min:"10" type:"string"` + // An Amazon Web Services Identity and Access Management (IAM) role that gives // Amazon Q Business permission to access Amazon CloudWatch logs and metrics. RoleArn *string `locationName:"roleArn" type:"string"` @@ -18119,6 +20115,9 @@ func (s *UpdateApplicationInput) Validate() error { if s.DisplayName != nil && len(*s.DisplayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) } + if s.IdentityCenterInstanceArn != nil && len(*s.IdentityCenterInstanceArn) < 10 { + invalidParams.Add(request.NewErrParamMinLen("IdentityCenterInstanceArn", 10)) + } if s.AttachmentsConfiguration != nil { if err := s.AttachmentsConfiguration.Validate(); err != nil { invalidParams.AddNested("AttachmentsConfiguration", err.(request.ErrInvalidParams)) @@ -18155,6 +20154,12 @@ func (s *UpdateApplicationInput) SetDisplayName(v string) *UpdateApplicationInpu return s } +// SetIdentityCenterInstanceArn sets the IdentityCenterInstanceArn field's value. +func (s *UpdateApplicationInput) SetIdentityCenterInstanceArn(v string) *UpdateApplicationInput { + s.IdentityCenterInstanceArn = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *UpdateApplicationInput) SetRoleArn(v string) *UpdateApplicationInput { s.RoleArn = &v @@ -18678,6 +20683,9 @@ type UpdatePluginInput struct { // The authentication configuration the plugin is using. AuthConfiguration *PluginAuthConfiguration `locationName:"authConfiguration" type:"structure"` + // The configuration for a custom plugin. + CustomPluginConfiguration *CustomPluginConfiguration `locationName:"customPluginConfiguration" type:"structure"` + // The name of the plugin. DisplayName *string `locationName:"displayName" min:"1" type:"string"` @@ -18737,6 +20745,11 @@ func (s *UpdatePluginInput) Validate() error { invalidParams.AddNested("AuthConfiguration", err.(request.ErrInvalidParams)) } } + if s.CustomPluginConfiguration != nil { + if err := s.CustomPluginConfiguration.Validate(); err != nil { + invalidParams.AddNested("CustomPluginConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -18756,6 +20769,12 @@ func (s *UpdatePluginInput) SetAuthConfiguration(v *PluginAuthConfiguration) *Up return s } +// SetCustomPluginConfiguration sets the CustomPluginConfiguration field's value. +func (s *UpdatePluginInput) SetCustomPluginConfiguration(v *CustomPluginConfiguration) *UpdatePluginInput { + s.CustomPluginConfiguration = v + return s +} + // SetDisplayName sets the DisplayName field's value. func (s *UpdatePluginInput) SetDisplayName(v string) *UpdatePluginInput { s.DisplayName = &v @@ -19089,7 +21108,13 @@ type UpdateWebExperienceInput struct { ApplicationId *string `location:"uri" locationName:"applicationId" min:"36" type:"string" required:"true"` // The authentication configuration of the Amazon Q Business web experience. - AuthenticationConfiguration *WebExperienceAuthConfiguration `locationName:"authenticationConfiguration" type:"structure"` + // + // Deprecated: Property associated with legacy SAML IdP flow. Deprecated in favor of using AWS IAM Identity Center for user management. + AuthenticationConfiguration *WebExperienceAuthConfiguration `locationName:"authenticationConfiguration" deprecated:"true" type:"structure"` + + // The Amazon Resource Name (ARN) of the role with permission to access the + // Amazon Q Business web experience and required resources. + RoleArn *string `locationName:"roleArn" type:"string"` // Determines whether sample prompts are enabled in the web experience for an // end user. @@ -19168,6 +21193,12 @@ func (s *UpdateWebExperienceInput) SetAuthenticationConfiguration(v *WebExperien return s } +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateWebExperienceInput) SetRoleArn(v string) *UpdateWebExperienceInput { + s.RoleArn = &v + return s +} + // SetSamplePromptsControlMode sets the SamplePromptsControlMode field's value. func (s *UpdateWebExperienceInput) SetSamplePromptsControlMode(v string) *UpdateWebExperienceInput { s.SamplePromptsControlMode = &v @@ -19574,6 +21605,18 @@ func (s *WebExperienceAuthConfiguration) SetSamlConfiguration(v *SamlConfigurati return s } +const ( + // APISchemaTypeOpenApiV3 is a APISchemaType enum value + APISchemaTypeOpenApiV3 = "OPEN_API_V3" +) + +// APISchemaType_Values returns all elements of the APISchemaType enum +func APISchemaType_Values() []string { + return []string{ + APISchemaTypeOpenApiV3, + } +} + const ( // ActionPayloadFieldTypeString is a ActionPayloadFieldType enum value ActionPayloadFieldTypeString = "STRING" @@ -20066,6 +22109,22 @@ func IndexStatus_Values() []string { } } +const ( + // IndexTypeEnterprise is a IndexType enum value + IndexTypeEnterprise = "ENTERPRISE" + + // IndexTypeStarter is a IndexType enum value + IndexTypeStarter = "STARTER" +) + +// IndexType_Values returns all elements of the IndexType enum +func IndexType_Values() []string { + return []string{ + IndexTypeEnterprise, + IndexTypeStarter, + } +} + const ( // MemberRelationAnd is a MemberRelation enum value MemberRelationAnd = "AND" @@ -20202,6 +22261,42 @@ func NumberAttributeBoostingType_Values() []string { } } +const ( + // PluginBuildStatusReady is a PluginBuildStatus enum value + PluginBuildStatusReady = "READY" + + // PluginBuildStatusCreateInProgress is a PluginBuildStatus enum value + PluginBuildStatusCreateInProgress = "CREATE_IN_PROGRESS" + + // PluginBuildStatusCreateFailed is a PluginBuildStatus enum value + PluginBuildStatusCreateFailed = "CREATE_FAILED" + + // PluginBuildStatusUpdateInProgress is a PluginBuildStatus enum value + PluginBuildStatusUpdateInProgress = "UPDATE_IN_PROGRESS" + + // PluginBuildStatusUpdateFailed is a PluginBuildStatus enum value + PluginBuildStatusUpdateFailed = "UPDATE_FAILED" + + // PluginBuildStatusDeleteInProgress is a PluginBuildStatus enum value + PluginBuildStatusDeleteInProgress = "DELETE_IN_PROGRESS" + + // PluginBuildStatusDeleteFailed is a PluginBuildStatus enum value + PluginBuildStatusDeleteFailed = "DELETE_FAILED" +) + +// PluginBuildStatus_Values returns all elements of the PluginBuildStatus enum +func PluginBuildStatus_Values() []string { + return []string{ + PluginBuildStatusReady, + PluginBuildStatusCreateInProgress, + PluginBuildStatusCreateFailed, + PluginBuildStatusUpdateInProgress, + PluginBuildStatusUpdateFailed, + PluginBuildStatusDeleteInProgress, + PluginBuildStatusDeleteFailed, + } +} + const ( // PluginStateEnabled is a PluginState enum value PluginStateEnabled = "ENABLED" @@ -20230,6 +22325,9 @@ const ( // PluginTypeZendesk is a PluginType enum value PluginTypeZendesk = "ZENDESK" + + // PluginTypeCustom is a PluginType enum value + PluginTypeCustom = "CUSTOM" ) // PluginType_Values returns all elements of the PluginType enum @@ -20239,6 +22337,7 @@ func PluginType_Values() []string { PluginTypeSalesforce, PluginTypeJira, PluginTypeZendesk, + PluginTypeCustom, } } diff --git a/service/qbusiness/doc.go b/service/qbusiness/doc.go index fa07bb346d..81e3c27279 100644 --- a/service/qbusiness/doc.go +++ b/service/qbusiness/doc.go @@ -3,8 +3,6 @@ // Package qbusiness provides the client and types for making API // requests to QBusiness. // -// Amazon Q is in preview release and is subject to change. -// // This is the Amazon Q Business API Reference. Amazon Q Business is a fully // managed, generative-AI powered enterprise chat assistant that you can deploy // within your organization. Amazon Q Business enhances employee productivity diff --git a/service/qbusiness/eventstream_test.go b/service/qbusiness/eventstream_test.go new file mode 100644 index 0000000000..b34cd81b5e --- /dev/null +++ b/service/qbusiness/eventstream_test.go @@ -0,0 +1,812 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +//go:build go1.16 +// +build go1.16 + +package qbusiness + +import ( + "bytes" + "context" + "io/ioutil" + "net/http" + "reflect" + "strings" + "sync" + "testing" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/corehandlers" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/awstesting/unit" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/eventstream" + "github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi" + "github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamtest" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +var _ time.Time +var _ awserr.Error +var _ context.Context +var _ sync.WaitGroup +var _ strings.Reader + +func TestChat_Read(t *testing.T) { + expectEvents, eventMsgs := mockChatReadEvents() + sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t, + eventstreamtest.ServeEventStream{ + T: t, + Events: eventMsgs, + }, + true, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := New(sess) + resp, err := svc.Chat(nil) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + var i int + for event := range resp.GetStream().Events() { + if event == nil { + t.Errorf("%d, expect event, got nil", i) + } + if e, a := expectEvents[i], event; !reflect.DeepEqual(e, a) { + t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a) + } + i++ + } + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestChat_ReadClose(t *testing.T) { + _, eventMsgs := mockChatReadEvents() + sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t, + eventstreamtest.ServeEventStream{ + T: t, + Events: eventMsgs, + }, + true, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := New(sess) + resp, err := svc.Chat(nil) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + + // Assert calling Err before close does not close the stream. + resp.GetStream().Err() + select { + case _, ok := <-resp.GetStream().Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: + } + + resp.GetStream().Close() + <-resp.GetStream().Events() + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestChat_ReadUnknownEvent(t *testing.T) { + expectEvents, eventMsgs := mockChatReadEvents() + var eventOffset int + + unknownEvent := eventstream.Message{ + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("UnknownEventName"), + }, + }, + Payload: []byte("some unknown event"), + } + + eventMsgs = append(eventMsgs[:eventOffset], + append([]eventstream.Message{unknownEvent}, eventMsgs[eventOffset:]...)...) + + expectEvents = append(expectEvents[:eventOffset], + append([]ChatOutputStreamEvent{ + &ChatOutputStreamUnknownEvent{ + Type: "UnknownEventName", + Message: unknownEvent, + }, + }, + expectEvents[eventOffset:]...)...) + + sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t, + eventstreamtest.ServeEventStream{ + T: t, + Events: eventMsgs, + }, + true, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := New(sess) + resp, err := svc.Chat(nil) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + defer resp.GetStream().Close() + + var i int + for event := range resp.GetStream().Events() { + if event == nil { + t.Errorf("%d, expect event, got nil", i) + } + if e, a := expectEvents[i], event; !reflect.DeepEqual(e, a) { + t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a) + } + i++ + } + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func BenchmarkChat_Read(b *testing.B) { + _, eventMsgs := mockChatReadEvents() + var buf bytes.Buffer + encoder := eventstream.NewEncoder(&buf) + for _, msg := range eventMsgs { + if err := encoder.Encode(msg); err != nil { + b.Fatalf("failed to encode message, %v", err) + } + } + stream := &loopReader{source: bytes.NewReader(buf.Bytes())} + + sess := unit.Session + svc := New(sess, &aws.Config{ + Endpoint: aws.String("https://example.com"), + DisableParamValidation: aws.Bool(true), + }) + svc.Handlers.Send.Swap(corehandlers.SendHandler.Name, + request.NamedHandler{Name: "mockSend", + Fn: func(r *request.Request) { + r.HTTPResponse = &http.Response{ + Status: "200 OK", + StatusCode: 200, + Header: http.Header{}, + Body: ioutil.NopCloser(stream), + } + }, + }, + ) + + resp, err := svc.Chat(nil) + if err != nil { + b.Fatalf("failed to create request, %v", err) + } + defer resp.GetStream().Close() + b.ResetTimer() + + for i := 0; i < b.N; i++ { + if err = resp.GetStream().Err(); err != nil { + b.Fatalf("expect no error, got %v", err) + } + event := <-resp.GetStream().Events() + if event == nil { + b.Fatalf("expect event, got nil, %v, %d", resp.GetStream().Err(), i) + } + } +} + +func mockChatReadEvents() ( + []ChatOutputStreamEvent, + []eventstream.Message, +) { + expectEvents := []ChatOutputStreamEvent{ + &ActionReviewEvent{ + ConversationId: aws.String("string value goes here"), + Payload: map[string]*ActionReviewPayloadField{ + "a": { + AllowedFormat: aws.String("string value goes here"), + AllowedValues: []*ActionReviewPayloadFieldAllowedValue{ + {}, + {}, + {}, + }, + DisplayDescription: aws.String("string value goes here"), + DisplayName: aws.String("string value goes here"), + DisplayOrder: aws.Int64(123), + Required: aws.Bool(true), + Type: aws.String("string value goes here"), + }, + "b": { + AllowedFormat: aws.String("string value goes here"), + AllowedValues: []*ActionReviewPayloadFieldAllowedValue{ + {}, + {}, + {}, + }, + DisplayDescription: aws.String("string value goes here"), + DisplayName: aws.String("string value goes here"), + DisplayOrder: aws.Int64(123), + Required: aws.Bool(true), + Type: aws.String("string value goes here"), + }, + "c": { + AllowedFormat: aws.String("string value goes here"), + AllowedValues: []*ActionReviewPayloadFieldAllowedValue{ + {}, + {}, + {}, + }, + DisplayDescription: aws.String("string value goes here"), + DisplayName: aws.String("string value goes here"), + DisplayOrder: aws.Int64(123), + Required: aws.Bool(true), + Type: aws.String("string value goes here"), + }, + }, + PayloadFieldNameSeparator: aws.String("string value goes here"), + PluginId: aws.String("string value goes here"), + PluginType: aws.String("string value goes here"), + SystemMessageId: aws.String("string value goes here"), + UserMessageId: aws.String("string value goes here"), + }, + &AuthChallengeRequestEvent{ + AuthorizationUrl: aws.String("string value goes here"), + }, + &FailedAttachmentEvent{ + Attachment: &AttachmentOutput_{ + Error: &ErrorDetail{ + ErrorCode: aws.String("string value goes here"), + ErrorMessage: aws.String("string value goes here"), + }, + Name: aws.String("string value goes here"), + Status: aws.String("string value goes here"), + }, + ConversationId: aws.String("string value goes here"), + SystemMessageId: aws.String("string value goes here"), + UserMessageId: aws.String("string value goes here"), + }, + &MetadataEvent{ + ConversationId: aws.String("string value goes here"), + FinalTextMessage: aws.String("string value goes here"), + SourceAttributions: []*SourceAttribution{ + { + CitationNumber: aws.Int64(123), + Snippet: aws.String("string value goes here"), + TextMessageSegments: []*TextSegment{ + { + BeginOffset: aws.Int64(123), + EndOffset: aws.Int64(123), + SnippetExcerpt: &SnippetExcerpt{ + Text: aws.String("string value goes here"), + }, + }, + { + BeginOffset: aws.Int64(123), + EndOffset: aws.Int64(123), + SnippetExcerpt: &SnippetExcerpt{ + Text: aws.String("string value goes here"), + }, + }, + { + BeginOffset: aws.Int64(123), + EndOffset: aws.Int64(123), + SnippetExcerpt: &SnippetExcerpt{ + Text: aws.String("string value goes here"), + }, + }, + }, + Title: aws.String("string value goes here"), + UpdatedAt: aws.Time(time.Unix(1396594860, 0).UTC()), + Url: aws.String("string value goes here"), + }, + { + CitationNumber: aws.Int64(123), + Snippet: aws.String("string value goes here"), + TextMessageSegments: []*TextSegment{ + { + BeginOffset: aws.Int64(123), + EndOffset: aws.Int64(123), + SnippetExcerpt: &SnippetExcerpt{ + Text: aws.String("string value goes here"), + }, + }, + { + BeginOffset: aws.Int64(123), + EndOffset: aws.Int64(123), + SnippetExcerpt: &SnippetExcerpt{ + Text: aws.String("string value goes here"), + }, + }, + { + BeginOffset: aws.Int64(123), + EndOffset: aws.Int64(123), + SnippetExcerpt: &SnippetExcerpt{ + Text: aws.String("string value goes here"), + }, + }, + }, + Title: aws.String("string value goes here"), + UpdatedAt: aws.Time(time.Unix(1396594860, 0).UTC()), + Url: aws.String("string value goes here"), + }, + { + CitationNumber: aws.Int64(123), + Snippet: aws.String("string value goes here"), + TextMessageSegments: []*TextSegment{ + { + BeginOffset: aws.Int64(123), + EndOffset: aws.Int64(123), + SnippetExcerpt: &SnippetExcerpt{ + Text: aws.String("string value goes here"), + }, + }, + { + BeginOffset: aws.Int64(123), + EndOffset: aws.Int64(123), + SnippetExcerpt: &SnippetExcerpt{ + Text: aws.String("string value goes here"), + }, + }, + { + BeginOffset: aws.Int64(123), + EndOffset: aws.Int64(123), + SnippetExcerpt: &SnippetExcerpt{ + Text: aws.String("string value goes here"), + }, + }, + }, + Title: aws.String("string value goes here"), + UpdatedAt: aws.Time(time.Unix(1396594860, 0).UTC()), + Url: aws.String("string value goes here"), + }, + }, + SystemMessageId: aws.String("string value goes here"), + UserMessageId: aws.String("string value goes here"), + }, + &TextOutputEvent{ + ConversationId: aws.String("string value goes here"), + SystemMessage: aws.String("string value goes here"), + SystemMessageId: aws.String("string value goes here"), + UserMessageId: aws.String("string value goes here"), + }, + } + + var marshalers request.HandlerList + marshalers.PushBackNamed(restjson.BuildHandler) + payloadMarshaler := protocol.HandlerPayloadMarshal{ + Marshalers: marshalers, + } + _ = payloadMarshaler + + eventMsgs := []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("actionReviewEvent"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[0]), + }, + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("authChallengeRequestEvent"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[1]), + }, + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("failedAttachmentEvent"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[2]), + }, + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("metadataEvent"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[3]), + }, + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("textEvent"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[4]), + }, + } + + return expectEvents, eventMsgs +} + +type loopReader struct { + source *bytes.Reader +} + +func (c *loopReader) Read(p []byte) (int, error) { + if c.source.Len() == 0 { + c.source.Seek(0, 0) + } + + return c.source.Read(p) +} + +func TestChat_Write(t *testing.T) { + clientEvents, expectedClientEvents := mockChatWriteEvents() + + sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t, + &eventstreamtest.ServeEventStream{ + T: t, + ClientEvents: expectedClientEvents, + BiDirectional: true, + }, + true) + defer cleanupFn() + + svc := New(sess) + resp, err := svc.Chat(nil) + if err != nil { + t.Fatalf("expect no error, got %v", err) + } + + stream := resp.GetStream() + + for _, event := range clientEvents { + err = stream.Send(context.Background(), event) + if err != nil { + t.Fatalf("expect no error, got %v", err) + } + } + + if err := stream.Close(); err != nil { + t.Errorf("expect no error, got %v", err) + } +} + +func TestChat_WriteClose(t *testing.T) { + sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t, + eventstreamtest.ServeEventStream{T: t, BiDirectional: true}, + true, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := New(sess) + resp, err := svc.Chat(nil) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + + // Assert calling Err before close does not close the stream. + resp.GetStream().Err() + + err = resp.GetStream().Send(context.Background(), &AttachmentInputEvent{}) + if err != nil { + t.Fatalf("expect no error, got %v", err) + } + + resp.GetStream().Close() + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func TestChat_WriteError(t *testing.T) { + sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t, + eventstreamtest.ServeEventStream{ + T: t, + BiDirectional: true, + ForceCloseAfter: time.Millisecond * 500, + }, + true, + ) + if err != nil { + t.Fatalf("expect no error, %v", err) + } + defer cleanupFn() + + svc := New(sess) + resp, err := svc.Chat(nil) + if err != nil { + t.Fatalf("expect no error got, %v", err) + } + + defer resp.GetStream().Close() + + for { + err = resp.GetStream().Send(context.Background(), &AttachmentInputEvent{}) + if err != nil { + if strings.Contains("unable to send event", err.Error()) { + t.Errorf("expected stream closed error, got %v", err) + } + break + } + } +} + +func TestChat_ReadWrite(t *testing.T) { + expectedServiceEvents, serviceEvents := mockChatReadEvents() + clientEvents, expectedClientEvents := mockChatWriteEvents() + + sess, cleanupFn, err := eventstreamtest.SetupEventStreamSession(t, + &eventstreamtest.ServeEventStream{ + T: t, + ClientEvents: expectedClientEvents, + Events: serviceEvents, + BiDirectional: true, + }, + true) + defer cleanupFn() + + svc := New(sess) + resp, err := svc.Chat(nil) + if err != nil { + t.Fatalf("expect no error, got %v", err) + } + + stream := resp.GetStream() + defer stream.Close() + + var wg sync.WaitGroup + + wg.Add(1) + go func() { + defer wg.Done() + var i int + for event := range resp.GetStream().Events() { + if event == nil { + t.Errorf("%d, expect event, got nil", i) + } + if e, a := expectedServiceEvents[i], event; !reflect.DeepEqual(e, a) { + t.Errorf("%d, expect %T %v, got %T %v", i, e, e, a, a) + } + i++ + } + }() + + for _, event := range clientEvents { + err = stream.Send(context.Background(), event) + if err != nil { + t.Errorf("expect no error, got %v", err) + } + } + + resp.GetStream().Close() + + wg.Wait() + + if err := resp.GetStream().Err(); err != nil { + t.Errorf("expect no error, %v", err) + } +} + +func mockChatWriteEvents() ( + []ChatInputStreamEvent, + []eventstream.Message, +) { + inputEvents := []ChatInputStreamEvent{ + &AttachmentInputEvent{ + Attachment: &AttachmentInput_{ + Data: []byte("blob value goes here"), + Name: aws.String("string value goes here"), + }, + }, + &AuthChallengeResponseEvent{ + ResponseMap: map[string]*string{ + "a": aws.String("string value goes here"), + "b": aws.String("string value goes here"), + "c": aws.String("string value goes here"), + }, + }, + &ConfigurationEvent{ + AttributeFilter: &AttributeFilter{ + AndAllFilters: []*AttributeFilter{}, + ContainsAll: &DocumentAttribute{ + Name: aws.String("string value goes here"), + Value: &DocumentAttributeValue{ + DateValue: aws.Time(time.Unix(1396594860, 0).UTC()), + LongValue: aws.Int64(1234), + StringListValue: []*string{ + aws.String("string value goes here"), + aws.String("string value goes here"), + aws.String("string value goes here"), + }, + StringValue: aws.String("string value goes here"), + }, + }, + ContainsAny: &DocumentAttribute{ + Name: aws.String("string value goes here"), + Value: &DocumentAttributeValue{ + DateValue: aws.Time(time.Unix(1396594860, 0).UTC()), + LongValue: aws.Int64(1234), + StringListValue: []*string{ + aws.String("string value goes here"), + aws.String("string value goes here"), + aws.String("string value goes here"), + }, + StringValue: aws.String("string value goes here"), + }, + }, + EqualsTo: &DocumentAttribute{ + Name: aws.String("string value goes here"), + Value: &DocumentAttributeValue{ + DateValue: aws.Time(time.Unix(1396594860, 0).UTC()), + LongValue: aws.Int64(1234), + StringListValue: []*string{ + aws.String("string value goes here"), + aws.String("string value goes here"), + aws.String("string value goes here"), + }, + StringValue: aws.String("string value goes here"), + }, + }, + GreaterThan: &DocumentAttribute{ + Name: aws.String("string value goes here"), + Value: &DocumentAttributeValue{ + DateValue: aws.Time(time.Unix(1396594860, 0).UTC()), + LongValue: aws.Int64(1234), + StringListValue: []*string{ + aws.String("string value goes here"), + aws.String("string value goes here"), + aws.String("string value goes here"), + }, + StringValue: aws.String("string value goes here"), + }, + }, + GreaterThanOrEquals: &DocumentAttribute{ + Name: aws.String("string value goes here"), + Value: &DocumentAttributeValue{ + DateValue: aws.Time(time.Unix(1396594860, 0).UTC()), + LongValue: aws.Int64(1234), + StringListValue: []*string{ + aws.String("string value goes here"), + aws.String("string value goes here"), + aws.String("string value goes here"), + }, + StringValue: aws.String("string value goes here"), + }, + }, + LessThan: &DocumentAttribute{ + Name: aws.String("string value goes here"), + Value: &DocumentAttributeValue{ + DateValue: aws.Time(time.Unix(1396594860, 0).UTC()), + LongValue: aws.Int64(1234), + StringListValue: []*string{ + aws.String("string value goes here"), + aws.String("string value goes here"), + aws.String("string value goes here"), + }, + StringValue: aws.String("string value goes here"), + }, + }, + LessThanOrEquals: &DocumentAttribute{ + Name: aws.String("string value goes here"), + Value: &DocumentAttributeValue{ + DateValue: aws.Time(time.Unix(1396594860, 0).UTC()), + LongValue: aws.Int64(1234), + StringListValue: []*string{ + aws.String("string value goes here"), + aws.String("string value goes here"), + aws.String("string value goes here"), + }, + StringValue: aws.String("string value goes here"), + }, + }, + NotFilter: nil, + OrAllFilters: []*AttributeFilter{}, + }, + ChatMode: aws.String("string value goes here"), + ChatModeConfiguration: &ChatModeConfiguration{ + PluginConfiguration: &PluginConfiguration{ + PluginId: aws.String("string value goes here"), + }, + }, + }, + &EndOfInputEvent{}, + &TextInputEvent{ + UserMessage: aws.String("string value goes here"), + }, + } + + var marshalers request.HandlerList + marshalers.PushBackNamed(restjson.BuildHandler) + payloadMarshaler := protocol.HandlerPayloadMarshal{ + Marshalers: marshalers, + } + _ = payloadMarshaler + + eventMsgs := []eventstream.Message{ + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("attachmentEvent"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, inputEvents[0]), + }, + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("authChallengeResponseEvent"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, inputEvents[1]), + }, + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("configurationEvent"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, inputEvents[2]), + }, + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("endOfInputEvent"), + }, + }, + }, + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("textEvent"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, inputEvents[4]), + }, + } + + return inputEvents, eventMsgs +} diff --git a/service/qbusiness/qbusinessiface/interface.go b/service/qbusiness/qbusinessiface/interface.go index 29f8916538..2005cd3517 100644 --- a/service/qbusiness/qbusinessiface/interface.go +++ b/service/qbusiness/qbusinessiface/interface.go @@ -68,6 +68,10 @@ type QBusinessAPI interface { BatchPutDocumentWithContext(aws.Context, *qbusiness.BatchPutDocumentInput, ...request.Option) (*qbusiness.BatchPutDocumentOutput, error) BatchPutDocumentRequest(*qbusiness.BatchPutDocumentInput) (*request.Request, *qbusiness.BatchPutDocumentOutput) + Chat(*qbusiness.ChatInput) (*qbusiness.ChatOutput, error) + ChatWithContext(aws.Context, *qbusiness.ChatInput, ...request.Option) (*qbusiness.ChatOutput, error) + ChatRequest(*qbusiness.ChatInput) (*request.Request, *qbusiness.ChatOutput) + ChatSync(*qbusiness.ChatSyncInput) (*qbusiness.ChatSyncOutput, error) ChatSyncWithContext(aws.Context, *qbusiness.ChatSyncInput, ...request.Option) (*qbusiness.ChatSyncOutput, error) ChatSyncRequest(*qbusiness.ChatSyncInput) (*request.Request, *qbusiness.ChatSyncOutput) diff --git a/service/qbusiness/service.go b/service/qbusiness/service.go index c2697cdc4a..4535d91006 100644 --- a/service/qbusiness/service.go +++ b/service/qbusiness/service.go @@ -84,6 +84,9 @@ func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), ) + svc.Handlers.BuildStream.PushBackNamed(restjson.BuildHandler) + svc.Handlers.UnmarshalStream.PushBackNamed(restjson.UnmarshalHandler) + // Run custom client initialization if present if initClient != nil { initClient(svc.Client) diff --git a/service/quicksight/api.go b/service/quicksight/api.go index cdb14c3c01..9f3976dda5 100644 --- a/service/quicksight/api.go +++ b/service/quicksight/api.go @@ -18576,6 +18576,101 @@ func (c *QuickSight) UpdateRoleCustomPermissionWithContext(ctx aws.Context, inpu return out, req.Send() } +const opUpdateSPICECapacityConfiguration = "UpdateSPICECapacityConfiguration" + +// UpdateSPICECapacityConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSPICECapacityConfiguration 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 UpdateSPICECapacityConfiguration for more information on using the UpdateSPICECapacityConfiguration +// 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 UpdateSPICECapacityConfigurationRequest method. +// req, resp := client.UpdateSPICECapacityConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateSPICECapacityConfiguration +func (c *QuickSight) UpdateSPICECapacityConfigurationRequest(input *UpdateSPICECapacityConfigurationInput) (req *request.Request, output *UpdateSPICECapacityConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateSPICECapacityConfiguration, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/spice-capacity-configuration", + } + + if input == nil { + input = &UpdateSPICECapacityConfigurationInput{} + } + + output = &UpdateSPICECapacityConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSPICECapacityConfiguration API operation for Amazon QuickSight. +// +// Updates the SPICE capacity configuration for a Amazon QuickSight account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateSPICECapacityConfiguration for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// credentials. +// +// - InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - ThrottlingException +// Access is throttled. +// +// - InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateSPICECapacityConfiguration +func (c *QuickSight) UpdateSPICECapacityConfiguration(input *UpdateSPICECapacityConfigurationInput) (*UpdateSPICECapacityConfigurationOutput, error) { + req, out := c.UpdateSPICECapacityConfigurationRequest(input) + return out, req.Send() +} + +// UpdateSPICECapacityConfigurationWithContext is the same as UpdateSPICECapacityConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSPICECapacityConfiguration 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 *QuickSight) UpdateSPICECapacityConfigurationWithContext(ctx aws.Context, input *UpdateSPICECapacityConfigurationInput, opts ...request.Option) (*UpdateSPICECapacityConfigurationOutput, error) { + req, out := c.UpdateSPICECapacityConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateTemplate = "UpdateTemplate" // UpdateTemplateRequest generates a "aws/request.Request" representing the @@ -21245,6 +21340,9 @@ type AnonymousUserEmbeddingExperienceConfiguration struct { // The type of embedding experience. In this case, Amazon QuickSight visuals. DashboardVisual *AnonymousUserDashboardVisualEmbeddingConfiguration `type:"structure"` + // The Generative Q&A experience that you want to use for anonymous user embedding. + GenerativeQnA *AnonymousUserGenerativeQnAEmbeddingConfiguration `type:"structure"` + // The Q search bar that you want to use for anonymous user embedding. QSearchBar *AnonymousUserQSearchBarEmbeddingConfiguration `type:"structure"` } @@ -21280,6 +21378,11 @@ func (s *AnonymousUserEmbeddingExperienceConfiguration) Validate() error { invalidParams.AddNested("DashboardVisual", err.(request.ErrInvalidParams)) } } + if s.GenerativeQnA != nil { + if err := s.GenerativeQnA.Validate(); err != nil { + invalidParams.AddNested("GenerativeQnA", err.(request.ErrInvalidParams)) + } + } if s.QSearchBar != nil { if err := s.QSearchBar.Validate(); err != nil { invalidParams.AddNested("QSearchBar", err.(request.ErrInvalidParams)) @@ -21304,22 +21407,87 @@ func (s *AnonymousUserEmbeddingExperienceConfiguration) SetDashboardVisual(v *An return s } +// SetGenerativeQnA sets the GenerativeQnA field's value. +func (s *AnonymousUserEmbeddingExperienceConfiguration) SetGenerativeQnA(v *AnonymousUserGenerativeQnAEmbeddingConfiguration) *AnonymousUserEmbeddingExperienceConfiguration { + s.GenerativeQnA = v + return s +} + // SetQSearchBar sets the QSearchBar field's value. func (s *AnonymousUserEmbeddingExperienceConfiguration) SetQSearchBar(v *AnonymousUserQSearchBarEmbeddingConfiguration) *AnonymousUserEmbeddingExperienceConfiguration { s.QSearchBar = v return s } +// The settings that you want to use for the Generative Q&A experience. +type AnonymousUserGenerativeQnAEmbeddingConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon QuickSight Q topic ID of the new reader experience topic that + // you want the anonymous user to see first. This ID is included in the output + // URL. When the URL in response is accessed, Amazon QuickSight renders the + // Generative Q&A experience with this new reader experience topic pre selected. + // + // The Amazon Resource Name (ARN) of this Q new reader experience topic must + // be included in the AuthorizedResourceArns parameter. Otherwise, the request + // fails with an InvalidParameterValueException error. + // + // InitialTopicId is a required field + InitialTopicId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnonymousUserGenerativeQnAEmbeddingConfiguration) 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 AnonymousUserGenerativeQnAEmbeddingConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnonymousUserGenerativeQnAEmbeddingConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnonymousUserGenerativeQnAEmbeddingConfiguration"} + if s.InitialTopicId == nil { + invalidParams.Add(request.NewErrParamRequired("InitialTopicId")) + } + if s.InitialTopicId != nil && len(*s.InitialTopicId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InitialTopicId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInitialTopicId sets the InitialTopicId field's value. +func (s *AnonymousUserGenerativeQnAEmbeddingConfiguration) SetInitialTopicId(v string) *AnonymousUserGenerativeQnAEmbeddingConfiguration { + s.InitialTopicId = &v + return s +} + // The settings that you want to use with the Q search bar. type AnonymousUserQSearchBarEmbeddingConfiguration struct { _ struct{} `type:"structure"` - // The QuickSight Q topic ID of the topic that you want the anonymous user to - // see first. This ID is included in the output URL. When the URL in response - // is accessed, Amazon QuickSight renders the Q search bar with this topic pre-selected. + // The Amazon QuickSight Q topic ID of the legacy topic that you want the anonymous + // user to see first. This ID is included in the output URL. When the URL in + // response is accessed, Amazon QuickSight renders the Q search bar with this + // legacy topic pre-selected. // - // The Amazon Resource Name (ARN) of this Q topic must be included in the AuthorizedResourceArns - // parameter. Otherwise, the request will fail with InvalidParameterValueException. + // The Amazon Resource Name (ARN) of this Q legacy topic must be included in + // the AuthorizedResourceArns parameter. Otherwise, the request fails with an + // InvalidParameterValueException error. // // InitialTopicId is a required field InitialTopicId *string `min:"1" type:"string" required:"true"` @@ -31563,8 +31731,9 @@ type CreateAccountSubscriptionInput struct { ActiveDirectoryName *string `type:"string"` // The admin group associated with your Active Directory or IAM Identity Center - // account. This field is required if ACTIVE_DIRECTORY or IAM_IDENTITY_CENTER - // is the selected authentication method of the new Amazon QuickSight account. + // account. Either this field or the AdminProGroup field is required if ACTIVE_DIRECTORY + // or IAM_IDENTITY_CENTER is the selected authentication method of the new Amazon + // QuickSight account. // // For more information about using IAM Identity Center in Amazon QuickSight, // see Using IAM Identity Center with Amazon QuickSight Enterprise Edition (https://docs.aws.amazon.com/quicksight/latest/user/sec-identity-management-identity-center.html) @@ -31574,6 +31743,19 @@ type CreateAccountSubscriptionInput struct { // in the Amazon QuickSight User Guide. AdminGroup []*string `type:"list"` + // The admin pro group associated with your Active Directory or IAM Identity + // Center account. Either this field or the AdminGroup field is required if + // ACTIVE_DIRECTORY or IAM_IDENTITY_CENTER is the selected authentication method + // of the new Amazon QuickSight account. + // + // For more information about using IAM Identity Center in Amazon QuickSight, + // see Using IAM Identity Center with Amazon QuickSight Enterprise Edition (https://docs.aws.amazon.com/quicksight/latest/user/sec-identity-management-identity-center.html) + // in the Amazon QuickSight User Guide. For more information about using Active + // Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight + // Enterprise Edition (https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html) + // in the Amazon QuickSight User Guide. + AdminProGroup []*string `type:"list"` + // The method that you want to use to authenticate your Amazon QuickSight account. // // If you choose ACTIVE_DIRECTORY, provide an ActiveDirectoryName and an AdminGroup @@ -31596,6 +31778,17 @@ type CreateAccountSubscriptionInput struct { // in the Amazon QuickSight User Guide. AuthorGroup []*string `type:"list"` + // The author pro group associated with your Active Directory or IAM Identity + // Center account. + // + // For more information about using IAM Identity Center in Amazon QuickSight, + // see Using IAM Identity Center with Amazon QuickSight Enterprise Edition (https://docs.aws.amazon.com/quicksight/latest/user/sec-identity-management-identity-center.html) + // in the Amazon QuickSight User Guide. For more information about using Active + // Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight + // Enterprise Edition (https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html) + // in the Amazon QuickSight User Guide. + AuthorProGroup []*string `type:"list"` + // The Amazon Web Services account ID of the account that you're using to create // your Amazon QuickSight account. // @@ -31623,9 +31816,7 @@ type CreateAccountSubscriptionInput struct { // * EmailAddress // // * ContactNumber - // - // Edition is a required field - Edition *string `type:"string" required:"true" enum:"Edition"` + Edition *string `type:"string" enum:"Edition"` // The email address of the author of the Amazon QuickSight account to use for // future communications. This field is required if ENTERPPRISE_AND_Q is the @@ -31662,6 +31853,17 @@ type CreateAccountSubscriptionInput struct { // in the Amazon QuickSight User Guide. ReaderGroup []*string `type:"list"` + // The reader pro group associated with your Active Directory or IAM Identity + // Center account. + // + // For more information about using IAM Identity Center in Amazon QuickSight, + // see Using IAM Identity Center with Amazon QuickSight Enterprise Edition (https://docs.aws.amazon.com/quicksight/latest/user/sec-identity-management-identity-center.html) + // in the Amazon QuickSight User Guide. For more information about using Active + // Directory in Amazon QuickSight, see Using Active Directory with Amazon QuickSight + // Enterprise Edition (https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html) + // in the Amazon QuickSight User Guide. + ReaderProGroup []*string `type:"list"` + // The realm of the Active Directory that is associated with your Amazon QuickSight // account. This field is required if ACTIVE_DIRECTORY is the selected authentication // method of the new Amazon QuickSight account. @@ -31704,9 +31906,6 @@ func (s *CreateAccountSubscriptionInput) Validate() error { if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Edition == nil { - invalidParams.Add(request.NewErrParamRequired("Edition")) - } if s.NotificationEmail == nil { invalidParams.Add(request.NewErrParamRequired("NotificationEmail")) } @@ -31735,6 +31934,12 @@ func (s *CreateAccountSubscriptionInput) SetAdminGroup(v []*string) *CreateAccou return s } +// SetAdminProGroup sets the AdminProGroup field's value. +func (s *CreateAccountSubscriptionInput) SetAdminProGroup(v []*string) *CreateAccountSubscriptionInput { + s.AdminProGroup = v + return s +} + // SetAuthenticationMethod sets the AuthenticationMethod field's value. func (s *CreateAccountSubscriptionInput) SetAuthenticationMethod(v string) *CreateAccountSubscriptionInput { s.AuthenticationMethod = &v @@ -31747,6 +31952,12 @@ func (s *CreateAccountSubscriptionInput) SetAuthorGroup(v []*string) *CreateAcco return s } +// SetAuthorProGroup sets the AuthorProGroup field's value. +func (s *CreateAccountSubscriptionInput) SetAuthorProGroup(v []*string) *CreateAccountSubscriptionInput { + s.AuthorProGroup = v + return s +} + // SetAwsAccountId sets the AwsAccountId field's value. func (s *CreateAccountSubscriptionInput) SetAwsAccountId(v string) *CreateAccountSubscriptionInput { s.AwsAccountId = &v @@ -31807,6 +32018,12 @@ func (s *CreateAccountSubscriptionInput) SetReaderGroup(v []*string) *CreateAcco return s } +// SetReaderProGroup sets the ReaderProGroup field's value. +func (s *CreateAccountSubscriptionInput) SetReaderProGroup(v []*string) *CreateAccountSubscriptionInput { + s.ReaderProGroup = v + return s +} + // SetRealm sets the Realm field's value. func (s *CreateAccountSubscriptionInput) SetRealm(v string) *CreateAccountSubscriptionInput { s.Realm = &v @@ -59257,6 +59474,47 @@ func (s *GaugeChartArcConditionalFormatting) SetForegroundColor(v *ConditionalFo return s } +// The color configuration of a GaugeChartVisual. +type GaugeChartColorConfiguration struct { + _ struct{} `type:"structure"` + + // The background color configuration of a GaugeChartVisual. + BackgroundColor *string `type:"string"` + + // The foreground color configuration of a GaugeChartVisual. + ForegroundColor *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 GaugeChartColorConfiguration) 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 GaugeChartColorConfiguration) GoString() string { + return s.String() +} + +// SetBackgroundColor sets the BackgroundColor field's value. +func (s *GaugeChartColorConfiguration) SetBackgroundColor(v string) *GaugeChartColorConfiguration { + s.BackgroundColor = &v + return s +} + +// SetForegroundColor sets the ForegroundColor field's value. +func (s *GaugeChartColorConfiguration) SetForegroundColor(v string) *GaugeChartColorConfiguration { + s.ForegroundColor = &v + return s +} + // The conditional formatting of a GaugeChartVisual. type GaugeChartConditionalFormatting struct { _ struct{} `type:"structure"` @@ -59374,6 +59632,9 @@ func (s *GaugeChartConditionalFormattingOption) SetPrimaryValue(v *GaugeChartPri type GaugeChartConfiguration struct { _ struct{} `type:"structure"` + // The color configuration of a GaugeChartVisual. + ColorConfiguration *GaugeChartColorConfiguration `type:"structure"` + // The data label configuration of a GaugeChartVisual. DataLabels *DataLabelOptions `type:"structure"` @@ -59446,6 +59707,12 @@ func (s *GaugeChartConfiguration) Validate() error { return nil } +// SetColorConfiguration sets the ColorConfiguration field's value. +func (s *GaugeChartConfiguration) SetColorConfiguration(v *GaugeChartColorConfiguration) *GaugeChartConfiguration { + s.ColorConfiguration = v + return s +} + // SetDataLabels sets the DataLabels field's value. func (s *GaugeChartConfiguration) SetDataLabels(v *DataLabelOptions) *GaugeChartConfiguration { s.DataLabels = v @@ -60083,9 +60350,10 @@ type GenerateEmbedUrlForRegisteredUserInput struct { // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The experience you are embedding. For registered users, you can embed Amazon - // QuickSight dashboards, Amazon QuickSight visuals, the Amazon QuickSight Q - // search bar, or the entire Amazon QuickSight console. + // The experience that you want to embed. For registered users, you can embed + // Amazon QuickSight dashboards, Amazon QuickSight visuals, the Amazon QuickSight + // Q search bar, the Amazon QuickSight Generative Q&A experience, or the entire + // Amazon QuickSight console. // // ExperienceConfiguration is a required field ExperienceConfiguration *RegisteredUserEmbeddingExperienceConfiguration `type:"structure" required:"true"` @@ -60182,7 +60450,7 @@ type GenerateEmbedUrlForRegisteredUserOutput struct { _ struct{} `type:"structure"` // The embed URL for the Amazon QuickSight dashboard, visual, Q search bar, - // or console. + // Generative Q&A experience, or console. // // EmbedUrl is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by GenerateEmbedUrlForRegisteredUserOutput's @@ -81099,7 +81367,7 @@ type RegisterUserInput struct { // Amazon QuickSight custom permissions are applied through IAM policies. Therefore, // they override the permissions typically granted by assigning Amazon QuickSight // users to one of the default security cohorts in Amazon QuickSight (admin, - // author, reader). + // author, reader, admin pro, author pro, reader pro). // // This feature is available only to Amazon QuickSight Enterprise edition subscriptions. CustomPermissionsName *string `min:"1" type:"string"` @@ -81129,13 +81397,8 @@ type RegisterUserInput struct { // The ARN of the IAM user or role that you are registering with Amazon QuickSight. IamArn *string `type:"string"` - // Amazon QuickSight supports several ways of managing the identity of users. - // This parameter accepts two values: - // - // * IAM: A user whose identity maps to an existing IAM user or role. - // - // * QUICKSIGHT: A user whose identity is owned and managed internally by - // Amazon QuickSight. + // The identity type that your Amazon QuickSight account uses to manage the + // identity of users. // // IdentityType is a required field IdentityType *string `type:"string" required:"true" enum:"IdentityType"` @@ -81639,6 +81902,13 @@ type RegisteredUserEmbeddingExperienceConfiguration struct { // The type of embedding experience. In this case, Amazon QuickSight visuals. DashboardVisual *RegisteredUserDashboardVisualEmbeddingConfiguration `type:"structure"` + // The configuration details for embedding the Generative Q&A experience. + // + // For more information about embedding the Generative Q&A experience, see Embedding + // Overview (https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html) + // in the Amazon QuickSight User Guide. + GenerativeQnA *RegisteredUserGenerativeQnAEmbeddingConfiguration `type:"structure"` + // The configuration details for embedding the Q search bar. // // For more information about embedding the Q search bar, see Embedding Overview @@ -81705,6 +81975,11 @@ func (s *RegisteredUserEmbeddingExperienceConfiguration) Validate() error { invalidParams.AddNested("DashboardVisual", err.(request.ErrInvalidParams)) } } + if s.GenerativeQnA != nil { + if err := s.GenerativeQnA.Validate(); err != nil { + invalidParams.AddNested("GenerativeQnA", err.(request.ErrInvalidParams)) + } + } if s.QSearchBar != nil { if err := s.QSearchBar.Validate(); err != nil { invalidParams.AddNested("QSearchBar", err.(request.ErrInvalidParams)) @@ -81734,6 +82009,12 @@ func (s *RegisteredUserEmbeddingExperienceConfiguration) SetDashboardVisual(v *R return s } +// SetGenerativeQnA sets the GenerativeQnA field's value. +func (s *RegisteredUserEmbeddingExperienceConfiguration) SetGenerativeQnA(v *RegisteredUserGenerativeQnAEmbeddingConfiguration) *RegisteredUserEmbeddingExperienceConfiguration { + s.GenerativeQnA = v + return s +} + // SetQSearchBar sets the QSearchBar field's value. func (s *RegisteredUserEmbeddingExperienceConfiguration) SetQSearchBar(v *RegisteredUserQSearchBarEmbeddingConfiguration) *RegisteredUserEmbeddingExperienceConfiguration { s.QSearchBar = v @@ -81746,19 +82027,75 @@ func (s *RegisteredUserEmbeddingExperienceConfiguration) SetQuickSightConsole(v return s } +// An object that provides information about the configuration of a Generative +// Q&A experience. +type RegisteredUserGenerativeQnAEmbeddingConfiguration struct { + _ struct{} `type:"structure"` + + // The ID of the new Q reader experience topic that you want to make the starting + // topic in the Generative Q&A experience. You can find a topic ID by navigating + // to the Topics pane in the Amazon QuickSight application and opening a topic. + // The ID is in the URL for the topic that you open. + // + // If you don't specify an initial topic or you specify a legacy topic, a list + // of all shared new reader experience topics is shown in the Generative Q&A + // experience for your readers. When you select an initial new reader experience + // topic, you can specify whether or not readers are allowed to select other + // new reader experience topics from the available ones in the list. + InitialTopicId *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 RegisteredUserGenerativeQnAEmbeddingConfiguration) 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 RegisteredUserGenerativeQnAEmbeddingConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisteredUserGenerativeQnAEmbeddingConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisteredUserGenerativeQnAEmbeddingConfiguration"} + if s.InitialTopicId != nil && len(*s.InitialTopicId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InitialTopicId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInitialTopicId sets the InitialTopicId field's value. +func (s *RegisteredUserGenerativeQnAEmbeddingConfiguration) SetInitialTopicId(v string) *RegisteredUserGenerativeQnAEmbeddingConfiguration { + s.InitialTopicId = &v + return s +} + // Information about the Q search bar embedding experience. type RegisteredUserQSearchBarEmbeddingConfiguration struct { _ struct{} `type:"structure"` - // The ID of the Q topic that you want to make the starting topic in the Q search - // bar. You can find a topic ID by navigating to the Topics pane in the Amazon - // QuickSight application and opening a topic. The ID is in the URL for the - // topic that you open. + // The ID of the legacy Q topic that you want to use as the starting topic in + // the Q search bar. To locate the topic ID of the topic that you want to use, + // open the Amazon QuickSight console (https://quicksight.aws.amazon.com/), + // navigate to the Topics pane, and choose thre topic that you want to use. + // The TopicID is located in the URL of the topic that opens. When you select + // an initial topic, you can specify whether or not readers are allowed to select + // other topics from the list of available topics. // - // If you don't specify an initial topic, a list of all shared topics is shown - // in the Q bar for your readers. When you select an initial topic, you can - // specify whether or not readers are allowed to select other topics from the - // available ones in the list. + // If you don't specify an initial topic or if you specify a new reader experience + // topic, a list of all shared legacy topics is shown in the Q bar. InitialTopicId *string `min:"1" type:"string"` } @@ -96629,6 +96966,9 @@ type TopicSummary struct { // The ID for the topic. This ID is unique per Amazon Web Services Region for // each Amazon Web Services account. TopicId *string `type:"string"` + + // The user experience version of the topic. + UserExperienceVersion *string `type:"string" enum:"TopicUserExperienceVersion"` } // String returns the string representation. @@ -96667,6 +97007,12 @@ func (s *TopicSummary) SetTopicId(v string) *TopicSummary { return s } +// SetUserExperienceVersion sets the UserExperienceVersion field's value. +func (s *TopicSummary) SetUserExperienceVersion(v string) *TopicSummary { + s.UserExperienceVersion = &v + return s +} + // The total aggregation computation configuration. type TotalAggregationComputation struct { _ struct{} `type:"structure"` @@ -102132,6 +102478,117 @@ func (s *UpdateRoleCustomPermissionOutput) SetStatus(v int64) *UpdateRoleCustomP return s } +type UpdateSPICECapacityConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Amazon Web Services account that contains the SPICE configuration + // that you want to update. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // Determines how SPICE capacity can be purchased. The following options are + // available. + // + // * MANUAL: SPICE capacity can only be purchased manually. + // + // * AUTO_PURCHASE: Extra SPICE capacity is automatically purchased on your + // behalf as needed. SPICE capacity can also be purchased manually with this + // option. + // + // PurchaseMode is a required field + PurchaseMode *string `type:"string" required:"true" enum:"PurchaseMode"` +} + +// 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 UpdateSPICECapacityConfigurationInput) 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 UpdateSPICECapacityConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSPICECapacityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSPICECapacityConfigurationInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.PurchaseMode == nil { + invalidParams.Add(request.NewErrParamRequired("PurchaseMode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateSPICECapacityConfigurationInput) SetAwsAccountId(v string) *UpdateSPICECapacityConfigurationInput { + s.AwsAccountId = &v + return s +} + +// SetPurchaseMode sets the PurchaseMode field's value. +func (s *UpdateSPICECapacityConfigurationInput) SetPurchaseMode(v string) *UpdateSPICECapacityConfigurationInput { + s.PurchaseMode = &v + return s +} + +type UpdateSPICECapacityConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" 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 UpdateSPICECapacityConfigurationOutput) 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 UpdateSPICECapacityConfigurationOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *UpdateSPICECapacityConfigurationOutput) SetRequestId(v string) *UpdateSPICECapacityConfigurationOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateSPICECapacityConfigurationOutput) SetStatus(v int64) *UpdateSPICECapacityConfigurationOutput { + s.Status = &v + return s +} + type UpdateTemplateAliasInput struct { _ struct{} `type:"structure"` @@ -103784,6 +104241,18 @@ type UpdateUserInput struct { // * ADMIN: A user who is an author, who can also manage Amazon QuickSight // settings. // + // * READER_PRO: Reader Pro adds Generative BI capabilities to the Reader + // role. Reader Pros have access to Amazon Q Business, can build stories + // with Amazon Q, and can generate executive summaries from dashboards. + // + // * AUTHOR_PRO: Author Pro adds Generative BI capabilities to the Author + // role. Author Pros can author dashboards with natural language with Amazon + // Q, build stories with Amazon Q, create Topics for Q&A, and generate executive + // summaries from dashboards. + // + // * ADMIN_PRO: Admin Pros are Author Pros who can also manage Amazon QuickSight + // administrative settings. Admin Pro users are billed at Author Pro pricing. + // // The name of the Amazon QuickSight role is invisible to the user except for // the console screens dealing with permissions. // @@ -104322,6 +104791,18 @@ type User struct { // * ADMIN: A user who is an author, who can also manage Amazon Amazon QuickSight // settings. // + // * READER_PRO: Reader Pro adds Generative BI capabilities to the Reader + // role. Reader Pros have access to Amazon Q Business, can build stories + // with Amazon Q, and can generate executive summaries from dashboards. + // + // * AUTHOR_PRO: Author Pro adds Generative BI capabilities to the Author + // role. Author Pros can author dashboards with natural language with Amazon + // Q, build stories with Amazon Q, create Topics for Q&A, and generate executive + // summaries from dashboards. + // + // * ADMIN_PRO: Admin Pros are Author Pros who can also manage Amazon QuickSight + // administrative settings. Admin Pro users are billed at Author Pro pricing. + // // * RESTRICTED_READER: This role isn't currently available for use. // // * RESTRICTED_AUTHOR: This role isn't currently available for use. @@ -110537,6 +111018,22 @@ func PropertyUsage_Values() []string { } } +const ( + // PurchaseModeManual is a PurchaseMode enum value + PurchaseModeManual = "MANUAL" + + // PurchaseModeAutoPurchase is a PurchaseMode enum value + PurchaseModeAutoPurchase = "AUTO_PURCHASE" +) + +// PurchaseMode_Values returns all elements of the PurchaseMode enum +func PurchaseMode_Values() []string { + return []string{ + PurchaseModeManual, + PurchaseModeAutoPurchase, + } +} + const ( // RadarChartAxesRangeScaleAuto is a RadarChartAxesRangeScale enum value RadarChartAxesRangeScaleAuto = "AUTO" @@ -110810,6 +111307,15 @@ const ( // RoleReader is a Role enum value RoleReader = "READER" + + // RoleAdminPro is a Role enum value + RoleAdminPro = "ADMIN_PRO" + + // RoleAuthorPro is a Role enum value + RoleAuthorPro = "AUTHOR_PRO" + + // RoleReaderPro is a Role enum value + RoleReaderPro = "READER_PRO" ) // Role_Values returns all elements of the Role enum @@ -110818,6 +111324,9 @@ func Role_Values() []string { RoleAdmin, RoleAuthor, RoleReader, + RoleAdminPro, + RoleAuthorPro, + RoleReaderPro, } } @@ -111804,6 +112313,15 @@ const ( // UserRoleRestrictedReader is a UserRole enum value UserRoleRestrictedReader = "RESTRICTED_READER" + + // UserRoleAdminPro is a UserRole enum value + UserRoleAdminPro = "ADMIN_PRO" + + // UserRoleAuthorPro is a UserRole enum value + UserRoleAuthorPro = "AUTHOR_PRO" + + // UserRoleReaderPro is a UserRole enum value + UserRoleReaderPro = "READER_PRO" ) // UserRole_Values returns all elements of the UserRole enum @@ -111814,6 +112332,9 @@ func UserRole_Values() []string { UserRoleReader, UserRoleRestrictedAuthor, UserRoleRestrictedReader, + UserRoleAdminPro, + UserRoleAuthorPro, + UserRoleReaderPro, } } diff --git a/service/quicksight/quicksightiface/interface.go b/service/quicksight/quicksightiface/interface.go index 2d74a5aa88..71ba9de0be 100644 --- a/service/quicksight/quicksightiface/interface.go +++ b/service/quicksight/quicksightiface/interface.go @@ -799,6 +799,10 @@ type QuickSightAPI interface { UpdateRoleCustomPermissionWithContext(aws.Context, *quicksight.UpdateRoleCustomPermissionInput, ...request.Option) (*quicksight.UpdateRoleCustomPermissionOutput, error) UpdateRoleCustomPermissionRequest(*quicksight.UpdateRoleCustomPermissionInput) (*request.Request, *quicksight.UpdateRoleCustomPermissionOutput) + UpdateSPICECapacityConfiguration(*quicksight.UpdateSPICECapacityConfigurationInput) (*quicksight.UpdateSPICECapacityConfigurationOutput, error) + UpdateSPICECapacityConfigurationWithContext(aws.Context, *quicksight.UpdateSPICECapacityConfigurationInput, ...request.Option) (*quicksight.UpdateSPICECapacityConfigurationOutput, error) + UpdateSPICECapacityConfigurationRequest(*quicksight.UpdateSPICECapacityConfigurationInput) (*request.Request, *quicksight.UpdateSPICECapacityConfigurationOutput) + UpdateTemplate(*quicksight.UpdateTemplateInput) (*quicksight.UpdateTemplateOutput, error) UpdateTemplateWithContext(aws.Context, *quicksight.UpdateTemplateInput, ...request.Option) (*quicksight.UpdateTemplateOutput, error) UpdateTemplateRequest(*quicksight.UpdateTemplateInput) (*request.Request, *quicksight.UpdateTemplateOutput) diff --git a/service/route53resolver/api.go b/service/route53resolver/api.go index c39f19f8c7..a944b9b795 100644 --- a/service/route53resolver/api.go +++ b/service/route53resolver/api.go @@ -86,6 +86,9 @@ func (c *Route53Resolver) AssociateFirewallRuleGroupRequest(input *AssociateFire // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -305,6 +308,9 @@ func (c *Route53Resolver) AssociateResolverQueryLogConfigRequest(input *Associat // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverQueryLogConfig func (c *Route53Resolver) AssociateResolverQueryLogConfig(input *AssociateResolverQueryLogConfigInput) (*AssociateResolverQueryLogConfigOutput, error) { req, out := c.AssociateResolverQueryLogConfigRequest(input) @@ -498,6 +504,9 @@ func (c *Route53Resolver) CreateFirewallDomainListRequest(input *CreateFirewallD // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -595,6 +604,9 @@ func (c *Route53Resolver) CreateFirewallRuleRequest(input *CreateFirewallRuleInp // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -689,6 +701,9 @@ func (c *Route53Resolver) CreateFirewallRuleGroupRequest(input *CreateFirewallRu // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -775,6 +790,9 @@ func (c *Route53Resolver) CreateOutpostResolverRequest(input *CreateOutpostResol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -890,6 +908,9 @@ func (c *Route53Resolver) CreateResolverEndpointRequest(input *CreateResolverEnd // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - LimitExceededException // The request caused one or more limits to be exceeded. // @@ -1012,6 +1033,9 @@ func (c *Route53Resolver) CreateResolverQueryLogConfigRequest(input *CreateResol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverQueryLogConfig func (c *Route53Resolver) CreateResolverQueryLogConfig(input *CreateResolverQueryLogConfigInput) (*CreateResolverQueryLogConfigOutput, error) { req, out := c.CreateResolverQueryLogConfigRequest(input) @@ -1115,6 +1139,9 @@ func (c *Route53Resolver) CreateResolverRuleRequest(input *CreateResolverRuleInp // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - ThrottlingException // The request was throttled. Try again in a few minutes. // @@ -1206,6 +1233,9 @@ func (c *Route53Resolver) DeleteFirewallDomainListRequest(input *DeleteFirewallD // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -1295,6 +1325,9 @@ func (c *Route53Resolver) DeleteFirewallRuleRequest(input *DeleteFirewallRuleInp // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -1393,6 +1426,9 @@ func (c *Route53Resolver) DeleteFirewallRuleGroupRequest(input *DeleteFirewallRu // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -1479,6 +1515,9 @@ func (c *Route53Resolver) DeleteOutpostResolverRequest(input *DeleteOutpostResol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - ConflictException // The requested state transition isn't valid. For example, you can't delete // a firewall domain list if it is in the process of being deleted, or you can't @@ -1703,6 +1742,9 @@ func (c *Route53Resolver) DeleteResolverQueryLogConfigRequest(input *DeleteResol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfig func (c *Route53Resolver) DeleteResolverQueryLogConfig(input *DeleteResolverQueryLogConfigInput) (*DeleteResolverQueryLogConfigOutput, error) { req, out := c.DeleteResolverQueryLogConfigRequest(input) @@ -1884,6 +1926,9 @@ func (c *Route53Resolver) DisassociateFirewallRuleGroupRequest(input *Disassocia // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - ConflictException // The requested state transition isn't valid. For example, you can't delete // a firewall domain list if it is in the process of being deleted, or you can't @@ -2099,6 +2144,9 @@ func (c *Route53Resolver) DisassociateResolverQueryLogConfigRequest(input *Disas // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverQueryLogConfig func (c *Route53Resolver) DisassociateResolverQueryLogConfig(input *DisassociateResolverQueryLogConfigInput) (*DisassociateResolverQueryLogConfigOutput, error) { req, out := c.DisassociateResolverQueryLogConfigRequest(input) @@ -2275,6 +2323,9 @@ func (c *Route53Resolver) GetFirewallConfigRequest(input *GetFirewallConfigInput // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -2368,6 +2419,9 @@ func (c *Route53Resolver) GetFirewallDomainListRequest(input *GetFirewallDomainL // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -2457,6 +2511,9 @@ func (c *Route53Resolver) GetFirewallRuleGroupRequest(input *GetFirewallRuleGrou // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -2549,6 +2606,9 @@ func (c *Route53Resolver) GetFirewallRuleGroupAssociationRequest(input *GetFirew // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -2644,6 +2704,9 @@ func (c *Route53Resolver) GetFirewallRuleGroupPolicyRequest(input *GetFirewallRu // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -2731,6 +2794,9 @@ func (c *Route53Resolver) GetOutpostResolverRequest(input *GetOutpostResolverInp // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -2837,6 +2903,9 @@ func (c *Route53Resolver) GetResolverConfigRequest(input *GetResolverConfigInput // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - ValidationException // You have provided an invalid command. If you ran the UpdateFirewallDomains // request. supported values are ADD, REMOVE, or REPLACE a domain. @@ -2936,6 +3005,9 @@ func (c *Route53Resolver) GetResolverDnssecConfigRequest(input *GetResolverDnsse // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfig func (c *Route53Resolver) GetResolverDnssecConfig(input *GetResolverDnssecConfigInput) (*GetResolverDnssecConfigOutput, error) { req, out := c.GetResolverDnssecConfigRequest(input) @@ -3123,6 +3195,9 @@ func (c *Route53Resolver) GetResolverQueryLogConfigRequest(input *GetResolverQue // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfig func (c *Route53Resolver) GetResolverQueryLogConfig(input *GetResolverQueryLogConfigInput) (*GetResolverQueryLogConfigOutput, error) { req, out := c.GetResolverQueryLogConfigRequest(input) @@ -3220,6 +3295,9 @@ func (c *Route53Resolver) GetResolverQueryLogConfigAssociationRequest(input *Get // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociation func (c *Route53Resolver) GetResolverQueryLogConfigAssociation(input *GetResolverQueryLogConfigAssociationInput) (*GetResolverQueryLogConfigAssociationOutput, error) { req, out := c.GetResolverQueryLogConfigAssociationRequest(input) @@ -3314,6 +3392,9 @@ func (c *Route53Resolver) GetResolverQueryLogConfigPolicyRequest(input *GetResol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy func (c *Route53Resolver) GetResolverQueryLogConfigPolicy(input *GetResolverQueryLogConfigPolicyInput) (*GetResolverQueryLogConfigPolicyOutput, error) { req, out := c.GetResolverQueryLogConfigPolicyRequest(input) @@ -3586,6 +3667,9 @@ func (c *Route53Resolver) GetResolverRulePolicyRequest(input *GetResolverRulePol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy func (c *Route53Resolver) GetResolverRulePolicy(input *GetResolverRulePolicyInput) (*GetResolverRulePolicyOutput, error) { req, out := c.GetResolverRulePolicyRequest(input) @@ -3681,6 +3765,9 @@ func (c *Route53Resolver) ImportFirewallDomainsRequest(input *ImportFirewallDoma // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - ResourceNotFoundException // The specified resource doesn't exist. // @@ -3792,6 +3879,9 @@ func (c *Route53Resolver) ListFirewallConfigsRequest(input *ListFirewallConfigsI // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -3944,6 +4034,9 @@ func (c *Route53Resolver) ListFirewallDomainListsRequest(input *ListFirewallDoma // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -4098,6 +4191,9 @@ func (c *Route53Resolver) ListFirewallDomainsRequest(input *ListFirewallDomainsI // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -4249,6 +4345,9 @@ func (c *Route53Resolver) ListFirewallRuleGroupAssociationsRequest(input *ListFi // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -4400,6 +4499,9 @@ func (c *Route53Resolver) ListFirewallRuleGroupsRequest(input *ListFirewallRuleG // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -4555,6 +4657,9 @@ func (c *Route53Resolver) ListFirewallRulesRequest(input *ListFirewallRulesInput // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -4699,6 +4804,9 @@ func (c *Route53Resolver) ListOutpostResolversRequest(input *ListOutpostResolver // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -4865,6 +4973,9 @@ func (c *Route53Resolver) ListResolverConfigsRequest(input *ListResolverConfigsI // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - ValidationException // You have provided an invalid command. If you ran the UpdateFirewallDomains // request. supported values are ADD, REMOVE, or REPLACE a domain. @@ -5022,6 +5133,9 @@ func (c *Route53Resolver) ListResolverDnssecConfigsRequest(input *ListResolverDn // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverDnssecConfigs func (c *Route53Resolver) ListResolverDnssecConfigs(input *ListResolverDnssecConfigsInput) (*ListResolverDnssecConfigsOutput, error) { req, out := c.ListResolverDnssecConfigsRequest(input) @@ -5472,6 +5586,9 @@ func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsRequest(input *L // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigAssociations func (c *Route53Resolver) ListResolverQueryLogConfigAssociations(input *ListResolverQueryLogConfigAssociationsInput) (*ListResolverQueryLogConfigAssociationsOutput, error) { req, out := c.ListResolverQueryLogConfigAssociationsRequest(input) @@ -5626,6 +5743,9 @@ func (c *Route53Resolver) ListResolverQueryLogConfigsRequest(input *ListResolver // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigs func (c *Route53Resolver) ListResolverQueryLogConfigs(input *ListResolverQueryLogConfigsInput) (*ListResolverQueryLogConfigsOutput, error) { req, out := c.ListResolverQueryLogConfigsRequest(input) @@ -6215,6 +6335,9 @@ func (c *Route53Resolver) PutFirewallRuleGroupPolicyRequest(input *PutFirewallRu // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -6319,6 +6442,9 @@ func (c *Route53Resolver) PutResolverQueryLogConfigPolicyRequest(input *PutResol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverQueryLogConfigPolicy func (c *Route53Resolver) PutResolverQueryLogConfigPolicy(input *PutResolverQueryLogConfigPolicyInput) (*PutResolverQueryLogConfigPolicyOutput, error) { req, out := c.PutResolverQueryLogConfigPolicyRequest(input) @@ -6413,6 +6539,9 @@ func (c *Route53Resolver) PutResolverRulePolicyRequest(input *PutResolverRulePol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy func (c *Route53Resolver) PutResolverRulePolicy(input *PutResolverRulePolicyInput) (*PutResolverRulePolicyOutput, error) { req, out := c.PutResolverRulePolicyRequest(input) @@ -6691,6 +6820,9 @@ func (c *Route53Resolver) UpdateFirewallConfigRequest(input *UpdateFirewallConfi // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -6781,6 +6913,9 @@ func (c *Route53Resolver) UpdateFirewallDomainsRequest(input *UpdateFirewallDoma // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - ResourceNotFoundException // The specified resource doesn't exist. // @@ -6890,6 +7025,9 @@ func (c *Route53Resolver) UpdateFirewallRuleRequest(input *UpdateFirewallRuleInp // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -6989,6 +7127,9 @@ func (c *Route53Resolver) UpdateFirewallRuleGroupAssociationRequest(input *Updat // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -7076,6 +7217,9 @@ func (c *Route53Resolver) UpdateOutpostResolverRequest(input *UpdateOutpostResol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - ConflictException // The requested state transition isn't valid. For example, you can't delete // a firewall domain list if it is in the process of being deleted, or you can't @@ -7199,6 +7343,9 @@ func (c *Route53Resolver) UpdateResolverConfigRequest(input *UpdateResolverConfi // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - ValidationException // You have provided an invalid command. If you ran the UpdateFirewallDomains // request. supported values are ADD, REMOVE, or REPLACE a domain. @@ -7299,6 +7446,9 @@ func (c *Route53Resolver) UpdateResolverDnssecConfigRequest(input *UpdateResolve // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverDnssecConfig func (c *Route53Resolver) UpdateResolverDnssecConfig(input *UpdateResolverDnssecConfigInput) (*UpdateResolverDnssecConfigOutput, error) { req, out := c.UpdateResolverDnssecConfigRequest(input) @@ -7390,6 +7540,9 @@ func (c *Route53Resolver) UpdateResolverEndpointRequest(input *UpdateResolverEnd // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // - InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -7499,6 +7652,9 @@ func (c *Route53Resolver) UpdateResolverRuleRequest(input *UpdateResolverRuleInp // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule func (c *Route53Resolver) UpdateResolverRule(input *UpdateResolverRuleInput) (*UpdateResolverRuleOutput, error) { req, out := c.UpdateResolverRuleRequest(input) @@ -7523,6 +7679,9 @@ func (c *Route53Resolver) UpdateResolverRuleWithContext(ctx aws.Context, input * // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. +// +// This error can also be thrown when a customer has reached the 5120 character +// limit for a resource policy for CloudWatch Logs. type AccessDeniedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -8429,6 +8588,18 @@ type CreateFirewallRuleInput struct { // FirewallDomainListId is a required field FirewallDomainListId *string `min:"1" type:"string" required:"true"` + // How you want the the rule to evaluate DNS redirection in the DNS redirection + // chain, such as CNAME, DNAME, ot ALIAS. + // + // Inspect_Redirection_Domain (Default) inspects all domains in the redirection + // chain. The individual domains in the redirection chain must be added to the + // allow domain list. + // + // Trust_Redirection_Domain inspects only the first domain in the redirection + // chain. You don't need to add the subsequent domains in the redirection list + // to the domain alloww list. + FirewallDomainRedirectionAction *string `type:"string" enum:"FirewallDomainRedirectionAction"` + // The unique identifier of the firewall rule group where you want to create // the rule. // @@ -8479,6 +8650,11 @@ type CreateFirewallRuleInput struct { // * SRV: Application specific values that identify servers. // // * TXT: Verifies email senders and application-specific values. + // + // * A query type you define by using the DNS type ID, for example 28 for + // AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be + // 1-65334, for example, TYPE28. For more information, see List of DNS record + // types (https://en.wikipedia.org/wiki/List_of_DNS_record_types). Qtype *string `min:"1" type:"string"` } @@ -8582,6 +8758,12 @@ func (s *CreateFirewallRuleInput) SetFirewallDomainListId(v string) *CreateFirew return s } +// SetFirewallDomainRedirectionAction sets the FirewallDomainRedirectionAction field's value. +func (s *CreateFirewallRuleInput) SetFirewallDomainRedirectionAction(v string) *CreateFirewallRuleInput { + s.FirewallDomainRedirectionAction = &v + return s +} + // SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. func (s *CreateFirewallRuleInput) SetFirewallRuleGroupId(v string) *CreateFirewallRuleInput { s.FirewallRuleGroupId = &v @@ -8887,6 +9069,13 @@ type CreateResolverEndpointInput struct { // For inbound access, open port 53. For outbound access, open the port that // you're using for DNS queries on your network. // + // Some security group rules will cause your connection to be tracked. For outbound + // resolver endpoint, it can potentially impact the maximum queries per second + // from outbound endpoint to your target name server. For inbound resolver endpoint, + // it can bring down the overall maximum queries per second per IP address to + // as low as 1500. To avoid connection tracking caused by security group, see + // Untracked connections (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#untracked-connectionsl). + // // SecurityGroupIds is a required field SecurityGroupIds []*string `type:"list" required:"true"` @@ -9597,6 +9786,11 @@ type DeleteFirewallRuleInput struct { // * SRV: Application specific values that identify servers. // // * TXT: Verifies email senders and application-specific values. + // + // * A query type you define by using the DNS type ID, for example 28 for + // AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be + // 1-65334, for example, TYPE28. For more information, see List of DNS record + // types (https://en.wikipedia.org/wiki/List_of_DNS_record_types). Qtype *string `min:"1" type:"string"` } @@ -10932,6 +11126,18 @@ type FirewallRule struct { // The ID of the domain list that's used in the rule. FirewallDomainListId *string `min:"1" type:"string"` + // How you want the the rule to evaluate DNS redirection in the DNS redirection + // chain, such as CNAME, DNAME, ot ALIAS. + // + // Inspect_Redirection_Domain (Default) inspects all domains in the redirection + // chain. The individual domains in the redirection chain must be added to the + // allow domain list. + // + // Trust_Redirection_Domain inspects only the first domain in the redirection + // chain. You don't need to add the subsequent domains in the domain in the + // redirection list to the domain alloww list. + FirewallDomainRedirectionAction *string `type:"string" enum:"FirewallDomainRedirectionAction"` + // The unique identifier of the firewall rule group of the rule. FirewallRuleGroupId *string `min:"1" type:"string"` @@ -10974,6 +11180,11 @@ type FirewallRule struct { // * SRV: Application specific values that identify servers. // // * TXT: Verifies email senders and application-specific values. + // + // * A query type you define by using the DNS type ID, for example 28 for + // AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be + // 1-65334, for example, TYPE28. For more information, see List of DNS record + // types (https://en.wikipedia.org/wiki/List_of_DNS_record_types). Qtype *string `min:"1" type:"string"` } @@ -11043,6 +11254,12 @@ func (s *FirewallRule) SetFirewallDomainListId(v string) *FirewallRule { return s } +// SetFirewallDomainRedirectionAction sets the FirewallDomainRedirectionAction field's value. +func (s *FirewallRule) SetFirewallDomainRedirectionAction(v string) *FirewallRule { + s.FirewallDomainRedirectionAction = &v + return s +} + // SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. func (s *FirewallRule) SetFirewallRuleGroupId(v string) *FirewallRule { s.FirewallRuleGroupId = &v @@ -18414,6 +18631,18 @@ type UpdateFirewallRuleInput struct { // FirewallDomainListId is a required field FirewallDomainListId *string `min:"1" type:"string" required:"true"` + // How you want the the rule to evaluate DNS redirection in the DNS redirection + // chain, such as CNAME, DNAME, ot ALIAS. + // + // Inspect_Redirection_Domain (Default) inspects all domains in the redirection + // chain. The individual domains in the redirection chain must be added to the + // allow domain list. + // + // Trust_Redirection_Domain inspects only the first domain in the redirection + // chain. You don't need to add the subsequent domains in the domain in the + // redirection list to the domain alloww list. + FirewallDomainRedirectionAction *string `type:"string" enum:"FirewallDomainRedirectionAction"` + // The unique identifier of the firewall rule group for the rule. // // FirewallRuleGroupId is a required field @@ -18459,6 +18688,11 @@ type UpdateFirewallRuleInput struct { // * SRV: Application specific values that identify servers. // // * TXT: Verifies email senders and application-specific values. + // + // * A query type you define by using the DNS type ID, for example 28 for + // AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be + // 1-65334, for example, TYPE28. For more information, see List of DNS record + // types (https://en.wikipedia.org/wiki/List_of_DNS_record_types). Qtype *string `min:"1" type:"string"` } @@ -18544,6 +18778,12 @@ func (s *UpdateFirewallRuleInput) SetFirewallDomainListId(v string) *UpdateFirew return s } +// SetFirewallDomainRedirectionAction sets the FirewallDomainRedirectionAction field's value. +func (s *UpdateFirewallRuleInput) SetFirewallDomainRedirectionAction(v string) *UpdateFirewallRuleInput { + s.FirewallDomainRedirectionAction = &v + return s +} + // SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. func (s *UpdateFirewallRuleInput) SetFirewallRuleGroupId(v string) *UpdateFirewallRuleInput { s.FirewallRuleGroupId = &v @@ -19426,6 +19666,22 @@ func FirewallDomainListStatus_Values() []string { } } +const ( + // FirewallDomainRedirectionActionInspectRedirectionDomain is a FirewallDomainRedirectionAction enum value + FirewallDomainRedirectionActionInspectRedirectionDomain = "INSPECT_REDIRECTION_DOMAIN" + + // FirewallDomainRedirectionActionTrustRedirectionDomain is a FirewallDomainRedirectionAction enum value + FirewallDomainRedirectionActionTrustRedirectionDomain = "TRUST_REDIRECTION_DOMAIN" +) + +// FirewallDomainRedirectionAction_Values returns all elements of the FirewallDomainRedirectionAction enum +func FirewallDomainRedirectionAction_Values() []string { + return []string{ + FirewallDomainRedirectionActionInspectRedirectionDomain, + FirewallDomainRedirectionActionTrustRedirectionDomain, + } +} + const ( // FirewallDomainUpdateOperationAdd is a FirewallDomainUpdateOperation enum value FirewallDomainUpdateOperationAdd = "ADD" diff --git a/service/route53resolver/errors.go b/service/route53resolver/errors.go index 8d028862f6..a1d5577fa0 100644 --- a/service/route53resolver/errors.go +++ b/service/route53resolver/errors.go @@ -13,6 +13,9 @@ const ( // // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. + // + // This error can also be thrown when a customer has reached the 5120 character + // limit for a resource policy for CloudWatch Logs. ErrCodeAccessDeniedException = "AccessDeniedException" // ErrCodeConflictException for service response error code diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 2d02c6d72b..1576defe23 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -48913,6 +48913,10 @@ type CreateTrainingJobInput struct { // RoleArn is a required field RoleArn *string `min:"20" type:"string" required:"true"` + // Contains information about attribute-based access control (ABAC) for the + // training job. + SessionChainingConfig *SessionChainingConfig `type:"structure"` + // Specifies a limit to how long a model training job can run. It also specifies // how long a managed Spot training job has to complete. When the job reaches // the time limit, SageMaker ends the training job. Use this API to cap model @@ -49208,6 +49212,12 @@ func (s *CreateTrainingJobInput) SetRoleArn(v string) *CreateTrainingJobInput { return s } +// SetSessionChainingConfig sets the SessionChainingConfig field's value. +func (s *CreateTrainingJobInput) SetSessionChainingConfig(v *SessionChainingConfig) *CreateTrainingJobInput { + s.SessionChainingConfig = v + return s +} + // SetStoppingCondition sets the StoppingCondition field's value. func (s *CreateTrainingJobInput) SetStoppingCondition(v *StoppingCondition) *CreateTrainingJobInput { s.StoppingCondition = v @@ -111849,6 +111859,41 @@ func (s *ServiceCatalogProvisioningUpdateDetails) SetProvisioningParameters(v [] return s } +// Contains information about attribute-based access control (ABAC) for a training +// job. +type SessionChainingConfig struct { + _ struct{} `type:"structure"` + + // Set to True to allow SageMaker to extract session tags from a training job + // creation role and reuse these tags when assuming the training job execution + // role. + EnableSessionTagChaining *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SessionChainingConfig) 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 SessionChainingConfig) GoString() string { + return s.String() +} + +// SetEnableSessionTagChaining sets the EnableSessionTagChaining field's value. +func (s *SessionChainingConfig) SetEnableSessionTagChaining(v bool) *SessionChainingConfig { + s.EnableSessionTagChaining = &v + return s +} + // The configuration of ShadowMode inference experiment type, which specifies // a production variant to take all the inference requests, and a shadow variant // to which Amazon SageMaker replicates a percentage of the inference requests. @@ -132074,6 +132119,30 @@ const ( // ProductionVariantInstanceTypeMlG548xlarge is a ProductionVariantInstanceType enum value ProductionVariantInstanceTypeMlG548xlarge = "ml.g5.48xlarge" + // ProductionVariantInstanceTypeMlG6Xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlG6Xlarge = "ml.g6.xlarge" + + // ProductionVariantInstanceTypeMlG62xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlG62xlarge = "ml.g6.2xlarge" + + // ProductionVariantInstanceTypeMlG64xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlG64xlarge = "ml.g6.4xlarge" + + // ProductionVariantInstanceTypeMlG68xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlG68xlarge = "ml.g6.8xlarge" + + // ProductionVariantInstanceTypeMlG612xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlG612xlarge = "ml.g6.12xlarge" + + // ProductionVariantInstanceTypeMlG616xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlG616xlarge = "ml.g6.16xlarge" + + // ProductionVariantInstanceTypeMlG624xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlG624xlarge = "ml.g6.24xlarge" + + // ProductionVariantInstanceTypeMlG648xlarge is a ProductionVariantInstanceType enum value + ProductionVariantInstanceTypeMlG648xlarge = "ml.g6.48xlarge" + // ProductionVariantInstanceTypeMlP4d24xlarge is a ProductionVariantInstanceType enum value ProductionVariantInstanceTypeMlP4d24xlarge = "ml.p4d.24xlarge" @@ -132441,6 +132510,14 @@ func ProductionVariantInstanceType_Values() []string { ProductionVariantInstanceTypeMlG516xlarge, ProductionVariantInstanceTypeMlG524xlarge, ProductionVariantInstanceTypeMlG548xlarge, + ProductionVariantInstanceTypeMlG6Xlarge, + ProductionVariantInstanceTypeMlG62xlarge, + ProductionVariantInstanceTypeMlG64xlarge, + ProductionVariantInstanceTypeMlG68xlarge, + ProductionVariantInstanceTypeMlG612xlarge, + ProductionVariantInstanceTypeMlG616xlarge, + ProductionVariantInstanceTypeMlG624xlarge, + ProductionVariantInstanceTypeMlG648xlarge, ProductionVariantInstanceTypeMlP4d24xlarge, ProductionVariantInstanceTypeMlC7gLarge, ProductionVariantInstanceTypeMlC7gXlarge, diff --git a/service/signer/api.go b/service/signer/api.go index 7fbb327444..7187da0da5 100644 --- a/service/signer/api.go +++ b/service/signer/api.go @@ -1741,6 +1741,9 @@ func (c *Signer) StartSigningJobRequest(input *StartSigningJobInput) (req *reque // - You specify the name of the source and destination buckets when calling // the StartSigningJob operation. // +// - You must ensure the S3 buckets are from the same Region as the signing +// profile. Cross-Region signing isn't supported. +// // - You must also specify a request token that identifies your request to // Signer. // @@ -2060,7 +2063,23 @@ func (s *AccessDeniedException) RequestID() string { type AddProfilePermissionInput struct { _ struct{} `type:"structure"` - // The AWS Signer action permitted as part of cross-account permissions. + // For cross-account signing. Grant a designated account permission to perform + // one or more of the following actions. Each action is associated with a specific + // API's operations. For more information about cross-account signing, see Using + // cross-account signing with signing profiles (https://docs.aws.amazon.com/signer/latest/developerguide/signing-profile-cross-account.html) + // in the AWS Signer Developer Guide. + // + // You can designate the following actions to an account. + // + // * signer:StartSigningJob. This action isn't supported for container image + // workflows. For details, see StartSigningJob. + // + // * signer:SignPayload. This action isn't supported for AWS Lambda workflows. + // For details, see SignPayload + // + // * signer:GetSigningProfile. For details, see GetSigningProfile. + // + // * signer:RevokeSignature. For details, see RevokeSignature. // // Action is a required field Action *string `locationName:"action" type:"string" required:"true"`