From d0700c118beded1f78fe93ddfcb2c3bb53e7448c Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 13 Feb 2023 11:17:04 -0800 Subject: [PATCH] Release v1.44.200 (2023-02-13) (#4723) Release v1.44.200 (2023-02-13) === ### Service Client Updates * `service/account`: Updates service API, documentation, and paginators * `service/appconfigdata`: Updates service API and documentation * `service/snowball`: Updates service API and documentation * Adds support for EKS Anywhere on Snowball. AWS Snow Family customers can now install EKS Anywhere service on Snowball Edge Compute Optimized devices. --- CHANGELOG.md | 9 + aws/endpoints/defaults.go | 6 + aws/version.go | 2 +- models/apis/account/2021-02-01/api-2.json | 194 ++- models/apis/account/2021-02-01/docs-2.json | 120 +- .../2021-02-01/endpoint-rule-set-1.json | 842 ++++++++++++ .../account/2021-02-01/endpoint-tests-1.json | 326 +++++ .../apis/account/2021-02-01/paginators-1.json | 5 + .../apis/appconfigdata/2021-11-11/api-2.json | 17 +- .../apis/appconfigdata/2021-11-11/docs-2.json | 27 +- .../2021-11-11/endpoint-rule-set-1.json | 350 +++++ .../2021-11-11/endpoint-tests-1.json | 563 ++++++++ models/apis/snowball/2016-06-30/api-2.json | 78 +- models/apis/snowball/2016-06-30/docs-2.json | 63 +- .../2016-06-30/endpoint-rule-set-1.json | 350 +++++ .../snowball/2016-06-30/endpoint-tests-1.json | 758 +++++++++++ models/endpoints/endpoints.json | 2 + service/account/accountiface/interface.go | 19 + service/account/api.go | 1206 ++++++++++++++++- service/account/errors.go | 9 + service/appconfigdata/api.go | 37 +- service/appconfigdata/doc.go | 11 +- service/snowball/api.go | 469 ++++++- service/snowball/snowballiface/interface.go | 4 + 24 files changed, 5378 insertions(+), 89 deletions(-) create mode 100644 models/apis/account/2021-02-01/endpoint-rule-set-1.json create mode 100644 models/apis/account/2021-02-01/endpoint-tests-1.json create mode 100644 models/apis/appconfigdata/2021-11-11/endpoint-rule-set-1.json create mode 100644 models/apis/appconfigdata/2021-11-11/endpoint-tests-1.json create mode 100644 models/apis/snowball/2016-06-30/endpoint-rule-set-1.json create mode 100644 models/apis/snowball/2016-06-30/endpoint-tests-1.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 61db655a384..30f008e5df6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +Release v1.44.200 (2023-02-13) +=== + +### Service Client Updates +* `service/account`: Updates service API, documentation, and paginators +* `service/appconfigdata`: Updates service API and documentation +* `service/snowball`: Updates service API and documentation + * Adds support for EKS Anywhere on Snowball. AWS Snow Family customers can now install EKS Anywhere service on Snowball Edge Compute Optimized devices. + Release v1.44.199 (2023-02-10) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index bbdac18ebb9..efaa620dcc2 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -6591,6 +6591,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, endpointKey{ Region: "eu-west-2", }: endpoint{}, @@ -34739,6 +34742,9 @@ var awsusgovPartition = partition{ }, }, Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, endpointKey{ Region: "us-gov-west-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 3632d1b24db..e1fcd5dabc5 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.199" +const SDKVersion = "1.44.200" diff --git a/models/apis/account/2021-02-01/api-2.json b/models/apis/account/2021-02-01/api-2.json index 575e2f1bfb3..676343b8a53 100644 --- a/models/apis/account/2021-02-01/api-2.json +++ b/models/apis/account/2021-02-01/api-2.json @@ -29,6 +29,38 @@ ], "idempotent":true }, + "DisableRegion":{ + "name":"DisableRegion", + "http":{ + "method":"POST", + "requestUri":"/disableRegion", + "responseCode":200 + }, + "input":{"shape":"DisableRegionRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, + "EnableRegion":{ + "name":"EnableRegion", + "http":{ + "method":"POST", + "requestUri":"/enableRegion", + "responseCode":200 + }, + "input":{"shape":"EnableRegionRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, "GetAlternateContact":{ "name":"GetAlternateContact", "http":{ @@ -63,6 +95,38 @@ {"shape":"InternalServerException"} ] }, + "GetRegionOptStatus":{ + "name":"GetRegionOptStatus", + "http":{ + "method":"POST", + "requestUri":"/getRegionOptStatus", + "responseCode":200 + }, + "input":{"shape":"GetRegionOptStatusRequest"}, + "output":{"shape":"GetRegionOptStatusResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, + "ListRegions":{ + "name":"ListRegions", + "http":{ + "method":"POST", + "requestUri":"/listRegions", + "responseCode":200 + }, + "input":{"shape":"ListRegionsRequest"}, + "output":{"shape":"ListRegionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, "PutAlternateContact":{ "name":"PutAlternateContact", "http":{ @@ -149,6 +213,18 @@ "min":1, "sensitive":true }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, "ContactInformation":{ "type":"structure", "required":[ @@ -195,6 +271,14 @@ "AlternateContactType":{"shape":"AlternateContactType"} } }, + "DisableRegionRequest":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "AccountId":{"shape":"AccountId"}, + "RegionName":{"shape":"RegionName"} + } + }, "DistrictOrCounty":{ "type":"string", "max":50, @@ -208,6 +292,14 @@ "pattern":"^[\\s]*[\\w+=.#!&-]+@[\\w.-]+\\.[\\w]+[\\s]*$", "sensitive":true }, + "EnableRegionRequest":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "AccountId":{"shape":"AccountId"}, + "RegionName":{"shape":"RegionName"} + } + }, "FullName":{ "type":"string", "max":50, @@ -240,6 +332,21 @@ "ContactInformation":{"shape":"ContactInformation"} } }, + "GetRegionOptStatusRequest":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "AccountId":{"shape":"AccountId"}, + "RegionName":{"shape":"RegionName"} + } + }, + "GetRegionOptStatusResponse":{ + "type":"structure", + "members":{ + "RegionName":{"shape":"RegionName"}, + "RegionOptStatus":{"shape":"RegionOptStatus"} + } + }, "InternalServerException":{ "type":"structure", "required":["message"], @@ -251,6 +358,33 @@ "fault":true, "retryable":{"throttling":false} }, + "ListRegionsRequest":{ + "type":"structure", + "members":{ + "AccountId":{"shape":"AccountId"}, + "MaxResults":{"shape":"ListRegionsRequestMaxResultsInteger"}, + "NextToken":{"shape":"ListRegionsRequestNextTokenString"}, + "RegionOptStatusContains":{"shape":"RegionOptStatusList"} + } + }, + "ListRegionsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListRegionsRequestNextTokenString":{ + "type":"string", + "max":1000, + "min":0 + }, + "ListRegionsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "Regions":{"shape":"RegionOptList"} + } + }, "Name":{ "type":"string", "max":64, @@ -296,6 +430,36 @@ "ContactInformation":{"shape":"ContactInformation"} } }, + "Region":{ + "type":"structure", + "members":{ + "RegionName":{"shape":"RegionName"}, + "RegionOptStatus":{"shape":"RegionOptStatus"} + } + }, + "RegionName":{ + "type":"string", + "max":50, + "min":1 + }, + "RegionOptList":{ + "type":"list", + "member":{"shape":"Region"} + }, + "RegionOptStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "ENABLING", + "DISABLING", + "DISABLED", + "ENABLED_BY_DEFAULT" + ] + }, + "RegionOptStatusList":{ + "type":"list", + "member":{"shape":"RegionOptStatus"} + }, "ResourceNotFoundException":{ "type":"structure", "required":["message"], @@ -308,6 +472,10 @@ }, "exception":true }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, "StateOrRegion":{ "type":"string", "max":50, @@ -338,7 +506,9 @@ "type":"structure", "required":["message"], "members":{ - "message":{"shape":"String"} + "fieldList":{"shape":"ValidationExceptionFieldList"}, + "message":{"shape":"SensitiveString"}, + "reason":{"shape":"ValidationExceptionReason"} }, "error":{ "httpStatusCode":400, @@ -346,6 +516,28 @@ }, "exception":true }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "message", + "name" + ], + "members":{ + "message":{"shape":"SensitiveString"}, + "name":{"shape":"String"} + } + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "invalidRegionOptTarget", + "fieldValidationFailed" + ] + }, "WebsiteUrl":{ "type":"string", "max":256, diff --git a/models/apis/account/2021-02-01/docs-2.json b/models/apis/account/2021-02-01/docs-2.json index 0d103248f4d..2540657f2b7 100644 --- a/models/apis/account/2021-02-01/docs-2.json +++ b/models/apis/account/2021-02-01/docs-2.json @@ -3,8 +3,12 @@ "service": "

Operations for Amazon Web Services Account Management

", "operations": { "DeleteAlternateContact": "

Deletes the specified alternate contact from an Amazon Web Services account.

For complete details about how to use the alternate contact operations, see Access or updating the alternate contacts.

Before you can update the alternate contact information for an Amazon Web Services account that is managed by Organizations, you must first enable integration between Amazon Web Services Account Management and Organizations. For more information, see Enabling trusted access for Amazon Web Services Account Management.

", + "DisableRegion": "

Disables (opts-out) a particular Region for an account.

", + "EnableRegion": "

Enables (opts-in) a particular Region for an account.

", "GetAlternateContact": "

Retrieves the specified alternate contact attached to an Amazon Web Services account.

For complete details about how to use the alternate contact operations, see Access or updating the alternate contacts.

Before you can update the alternate contact information for an Amazon Web Services account that is managed by Organizations, you must first enable integration between Amazon Web Services Account Management and Organizations. For more information, see Enabling trusted access for Amazon Web Services Account Management.

", "GetContactInformation": "

Retrieves the primary contact information of an Amazon Web Services account.

For complete details about how to use the primary contact operations, see Update the primary and alternate contact information.

", + "GetRegionOptStatus": "

Retrieves the opt-in status of a particular Region.

", + "ListRegions": "

Lists all the Regions for a given account and their respective opt-in statuses. Optionally, this list can be filtered by the region-opt-status-contains parameter.

", "PutAlternateContact": "

Modifies the specified alternate contact attached to an Amazon Web Services account.

For complete details about how to use the alternate contact operations, see Access or updating the alternate contacts.

Before you can update the alternate contact information for an Amazon Web Services account that is managed by Organizations, you must first enable integration between Amazon Web Services Account Management and Organizations. For more information, see Enabling trusted access for Amazon Web Services Account Management.

", "PutContactInformation": "

Updates the primary contact information of an Amazon Web Services account.

For complete details about how to use the primary contact operations, see Update the primary and alternate contact information.

" }, @@ -18,8 +22,12 @@ "base": null, "refs": { "DeleteAlternateContactRequest$AccountId": "

Specifies the 12 digit account ID number of the Amazon Web Services account that you want to access or modify with this operation.

If you do not specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation.

To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account, and the specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned.

The management account can't specify its own AccountId; it must call the operation in standalone context by not including the AccountId parameter.

To call this operation on an account that is not a member of an organization, then don't specify this parameter, and call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify.

", + "DisableRegionRequest$AccountId": "

Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must also be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned.

The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter.

To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify.

", + "EnableRegionRequest$AccountId": "

Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must also be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned.

The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter.

To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify.

", "GetAlternateContactRequest$AccountId": "

Specifies the 12 digit account ID number of the Amazon Web Services account that you want to access or modify with this operation.

If you do not specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation.

To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account, and the specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned.

The management account can't specify its own AccountId; it must call the operation in standalone context by not including the AccountId parameter.

To call this operation on an account that is not a member of an organization, then don't specify this parameter, and call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify.

", "GetContactInformationRequest$AccountId": "

Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must also be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned.

The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter.

To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify.

", + "GetRegionOptStatusRequest$AccountId": "

Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must also be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned.

The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter.

To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify.

", + "ListRegionsRequest$AccountId": "

Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must also be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned.

The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter.

To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify.

", "PutAlternateContactRequest$AccountId": "

Specifies the 12 digit account ID number of the Amazon Web Services account that you want to access or modify with this operation.

If you do not specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation.

To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account, and the specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned.

The management account can't specify its own AccountId; it must call the operation in standalone context by not including the AccountId parameter.

To call this operation on an account that is not a member of an organization, then don't specify this parameter, and call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify.

", "PutContactInformationRequest$AccountId": "

Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must also be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned.

The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter.

To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify.

" } @@ -59,6 +67,11 @@ "ContactInformation$CompanyName": "

The name of the company associated with the primary contact information, if any.

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

The request could not be processed because of a conflict in the current status of the resource. For example, this happens if you try to enable a Region that is currently being disabled (in a status of DISABLING).

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

Contains the details of the primary contact information associated with an Amazon Web Services account.

", "refs": { @@ -83,6 +96,11 @@ "refs": { } }, + "DisableRegionRequest": { + "base": null, + "refs": { + } + }, "DistrictOrCounty": { "base": null, "refs": { @@ -96,6 +114,11 @@ "PutAlternateContactRequest$EmailAddress": "

Specifies an email address for the alternate contact.

" } }, + "EnableRegionRequest": { + "base": null, + "refs": { + } + }, "FullName": { "base": null, "refs": { @@ -122,11 +145,43 @@ "refs": { } }, + "GetRegionOptStatusRequest": { + "base": null, + "refs": { + } + }, + "GetRegionOptStatusResponse": { + "base": null, + "refs": { + } + }, "InternalServerException": { "base": "

The operation failed because of an error internal to Amazon Web Services. Try your operation again later.

", "refs": { } }, + "ListRegionsRequest": { + "base": null, + "refs": { + } + }, + "ListRegionsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListRegionsRequest$MaxResults": "

The total number of items to return in the command’s output. If the total number of items available is more than the value specified, a NextToken is provided in the command’s output. To resume pagination, provide the NextToken value in the starting-token argument of a subsequent command. Do not use the NextToken response element directly outside of the Amazon Web Services CLI. For usage examples, see Pagination in the Amazon Web Services Command Line Interface User Guide.

" + } + }, + "ListRegionsRequestNextTokenString": { + "base": null, + "refs": { + "ListRegionsRequest$NextToken": "

A token used to specify where to start paginating. This is the NextToken from a previously truncated response. For usage examples, see Pagination in the Amazon Web Services Command Line Interface User Guide.

" + } + }, + "ListRegionsResponse": { + "base": null, + "refs": { + } + }, "Name": { "base": null, "refs": { @@ -157,11 +212,54 @@ "refs": { } }, + "Region": { + "base": "

This is a structure that expresses the Region for a given account, consisting of a name and opt-in status.

", + "refs": { + "RegionOptList$member": null + } + }, + "RegionName": { + "base": null, + "refs": { + "DisableRegionRequest$RegionName": "

Specifies the Region-code for a given Region name (for example, af-south-1). When you disable a Region, AWS performs actions to deactivate that Region in your account, such as destroying IAM resources in the Region. This process takes a few minutes for most accounts, but this can take several hours. You cannot enable the Region until the disabling process is fully completed.

", + "EnableRegionRequest$RegionName": "

Specifies the Region-code for a given Region name (for example, af-south-1). When you enable a Region, AWS performs actions to prepare your account in that Region, such as distributing your IAM resources to the Region. This process takes a few minutes for most accounts, but it can take several hours. You cannot use the Region until this process is complete. Furthermore, you cannot disable the Region until the enabling process is fully completed.

", + "GetRegionOptStatusRequest$RegionName": "

Specifies the Region-code for a given Region name (for example, af-south-1). This function will return the status of whatever Region you pass into this parameter.

", + "GetRegionOptStatusResponse$RegionName": "

The Region code that was passed in.

", + "Region$RegionName": "

The Region code of a given Region (for example, us-east-1).

" + } + }, + "RegionOptList": { + "base": null, + "refs": { + "ListRegionsResponse$Regions": "

This is a list of Regions for a given account, or if the filtered parameter was used, a list of Regions that match the filter criteria set in the filter parameter.

" + } + }, + "RegionOptStatus": { + "base": null, + "refs": { + "GetRegionOptStatusResponse$RegionOptStatus": "

One of the potential statuses a Region can undergo (Enabled, Enabling, Disabled, Disabling, Enabled_By_Default).

", + "Region$RegionOptStatus": "

One of potential statuses a Region can undergo (Enabled, Enabling, Disabled, Disabling, Enabled_By_Default).

", + "RegionOptStatusList$member": null + } + }, + "RegionOptStatusList": { + "base": null, + "refs": { + "ListRegionsRequest$RegionOptStatusContains": "

A list of Region statuses (Enabling, Enabled, Disabling, Disabled, Enabled_by_default) to use to filter the list of Regions for a given account. For example, passing in a value of ENABLING will only return a list of Regions with a Region status of ENABLING.

" + } + }, "ResourceNotFoundException": { "base": "

The operation failed because it specified a resource that can't be found.

", "refs": { } }, + "SensitiveString": { + "base": null, + "refs": { + "ValidationException$message": "

The message that informs you about what was invalid about the request.

", + "ValidationExceptionField$message": "

A message about the validation exception.

" + } + }, "StateOrRegion": { "base": null, "refs": { @@ -172,10 +270,12 @@ "base": null, "refs": { "AccessDeniedException$message": null, + "ConflictException$message": null, "InternalServerException$message": null, + "ListRegionsResponse$NextToken": "

If there is more data to be returned, this will be populated. It should be passed into the next-token request parameter of list-regions.

", "ResourceNotFoundException$message": null, "TooManyRequestsException$message": null, - "ValidationException$message": null + "ValidationExceptionField$name": "

The field name where the invalid entry was detected.

" } }, "Title": { @@ -195,6 +295,24 @@ "refs": { } }, + "ValidationExceptionField": { + "base": "

The input failed to meet the constraints specified by the AWS service in a specified field.

", + "refs": { + "ValidationExceptionFieldList$member": null + } + }, + "ValidationExceptionFieldList": { + "base": null, + "refs": { + "ValidationException$fieldList": "

The field where the invalid entry was detected.

" + } + }, + "ValidationExceptionReason": { + "base": null, + "refs": { + "ValidationException$reason": "

The reason that validation failed.

" + } + }, "WebsiteUrl": { "base": null, "refs": { diff --git a/models/apis/account/2021-02-01/endpoint-rule-set-1.json b/models/apis/account/2021-02-01/endpoint-rule-set-1.json new file mode 100644 index 00000000000..bcb16c00737 --- /dev/null +++ b/models/apis/account/2021-02-01/endpoint-rule-set-1.json @@ -0,0 +1,842 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://account-fips.{Region}.api.aws", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://account-fips.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://account.{Region}.api.aws", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://account.us-east-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-cn" + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://account-fips.{Region}.api.amazonwebservices.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://account-fips.{Region}.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://account.{Region}.api.amazonwebservices.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://account.cn-northwest-1.amazonaws.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "signingRegion": "cn-northwest-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://account-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://account-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://account.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://account.us-east-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-cn-global" + ] + } + ], + "endpoint": { + "url": "https://account.cn-northwest-1.amazonaws.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "signingRegion": "cn-northwest-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://account.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/account/2021-02-01/endpoint-tests-1.json b/models/apis/account/2021-02-01/endpoint-tests-1.json new file mode 100644 index 00000000000..06b0bd674ec --- /dev/null +++ b/models/apis/account/2021-02-01/endpoint-tests-1.json @@ -0,0 +1,326 @@ +{ + "testCases": [ + { + "documentation": "For region aws-global with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://account.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "aws-global", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://account-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://account-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://account.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://account.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region aws-cn-global with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://account.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "aws-cn-global", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://account-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://account-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://account.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://account.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://account-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://account-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://account.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://account.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://account-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://account.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://account-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://account.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": 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": { + "UseDualStack": false, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/account/2021-02-01/paginators-1.json b/models/apis/account/2021-02-01/paginators-1.json index 5677bd8e4a2..cdd3aae8c98 100644 --- a/models/apis/account/2021-02-01/paginators-1.json +++ b/models/apis/account/2021-02-01/paginators-1.json @@ -1,4 +1,9 @@ { "pagination": { + "ListRegions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } } } diff --git a/models/apis/appconfigdata/2021-11-11/api-2.json b/models/apis/appconfigdata/2021-11-11/api-2.json index b83e197004c..67f2ee687b7 100644 --- a/models/apis/appconfigdata/2021-11-11/api-2.json +++ b/models/apis/appconfigdata/2021-11-11/api-2.json @@ -99,13 +99,18 @@ "location":"header", "locationName":"Content-Type" }, - "Configuration":{"shape":"SyntheticGetLatestConfigurationResponseBlob"} + "Configuration":{"shape":"SensitiveBlob"}, + "VersionLabel":{ + "shape":"String", + "location":"header", + "locationName":"Version-Label" + } }, "payload":"Configuration" }, "Identifier":{ "type":"string", - "max":64, + "max":128, "min":1 }, "Integer":{"type":"integer"}, @@ -166,6 +171,10 @@ "Configuration" ] }, + "SensitiveBlob":{ + "type":"blob", + "sensitive":true + }, "StartConfigurationSessionRequest":{ "type":"structure", "required":[ @@ -192,10 +201,6 @@ "key":{"shape":"String"}, "value":{"shape":"String"} }, - "SyntheticGetLatestConfigurationResponseBlob":{ - "type":"blob", - "sensitive":true - }, "ThrottlingException":{ "type":"structure", "members":{ diff --git a/models/apis/appconfigdata/2021-11-11/docs-2.json b/models/apis/appconfigdata/2021-11-11/docs-2.json index 79d857574d5..62fae1019cd 100644 --- a/models/apis/appconfigdata/2021-11-11/docs-2.json +++ b/models/apis/appconfigdata/2021-11-11/docs-2.json @@ -1,9 +1,9 @@ { "version": "2.0", - "service": "

AppConfig Data provides the data plane APIs your application uses to retrieve configuration data. Here's how it works:

Your application retrieves configuration data by first establishing a configuration session using the AppConfig Data StartConfigurationSession API action. Your session's client then makes periodic calls to GetLatestConfiguration to check for and retrieve the latest data available.

When calling StartConfigurationSession, your code sends the following information:

In response, AppConfig provides an InitialConfigurationToken to be given to the session's client and used the first time it calls GetLatestConfiguration for that session.

When calling GetLatestConfiguration, your client code sends the most recent ConfigurationToken value it has and receives in response:

For more information and to view example CLI commands that show how to retrieve a configuration using the AppConfig Data StartConfigurationSession and GetLatestConfiguration API actions, see Receiving the configuration in the AppConfig User Guide.

", + "service": "

AppConfig Data provides the data plane APIs your application uses to retrieve configuration data. Here's how it works:

Your application retrieves configuration data by first establishing a configuration session using the AppConfig Data StartConfigurationSession API action. Your session's client then makes periodic calls to GetLatestConfiguration to check for and retrieve the latest data available.

When calling StartConfigurationSession, your code sends the following information:

In response, AppConfig provides an InitialConfigurationToken to be given to the session's client and used the first time it calls GetLatestConfiguration for that session.

This token should only be used once in your first call to GetLatestConfiguration. You must use the new token in the GetLatestConfiguration response (NextPollConfigurationToken) in each subsequent call to GetLatestConfiguration.

When calling GetLatestConfiguration, your client code sends the most recent ConfigurationToken value it has and receives in response:

The InitialConfigurationToken and NextPollConfigurationToken should only be used once. To support long poll use cases, the tokens are valid for up to 24 hours. If a GetLatestConfiguration call uses an expired token, the system returns BadRequestException.

For more information and to view example CLI commands that show how to retrieve a configuration using the AppConfig Data StartConfigurationSession and GetLatestConfiguration API actions, see Retrieving the configuration in the AppConfig User Guide.

", "operations": { - "GetLatestConfiguration": "

Retrieves the latest deployed configuration. This API may return empty configuration data if the client already has the latest version. For more information about this API action and to view example CLI commands that show how to use it with the StartConfigurationSession API action, see Receiving the configuration in the AppConfig User Guide.

Note the following important information.

", - "StartConfigurationSession": "

Starts a configuration session used to retrieve a deployed configuration. For more information about this API action and to view example CLI commands that show how to use it with the GetLatestConfiguration API action, see Receiving the configuration in the AppConfig User Guide.

" + "GetLatestConfiguration": "

Retrieves the latest deployed configuration. This API may return empty configuration data if the client already has the latest version. For more information about this API action and to view example CLI commands that show how to use it with the StartConfigurationSession API action, see Retrieving the configuration in the AppConfig User Guide.

Note the following important information.

", + "StartConfigurationSession": "

Starts a configuration session used to retrieve a deployed configuration. For more information about this API action and to view example CLI commands that show how to use it with the GetLatestConfiguration API action, see Retrieving the configuration in the AppConfig User Guide.

" }, "shapes": { "BadRequestDetails": { @@ -73,7 +73,7 @@ "OptionalPollSeconds": { "base": null, "refs": { - "StartConfigurationSessionRequest$RequiredMinimumPollIntervalInSeconds": "

Sets a constraint on a session. If you specify a value of, for example, 60 seconds, then the client that established the session can't call GetLatestConfiguration more frequently then every 60 seconds.

" + "StartConfigurationSessionRequest$RequiredMinimumPollIntervalInSeconds": "

Sets a constraint on a session. If you specify a value of, for example, 60 seconds, then the client that established the session can't call GetLatestConfiguration more frequently than every 60 seconds.

" } }, "ResourceNotFoundException": { @@ -87,6 +87,12 @@ "ResourceNotFoundException$ResourceType": "

The type of resource that was not found.

" } }, + "SensitiveBlob": { + "base": null, + "refs": { + "GetLatestConfigurationResponse$Configuration": "

The data of the configuration. This may be empty if the client already has the latest version of configuration.

" + } + }, "StartConfigurationSessionRequest": { "base": null, "refs": { @@ -102,6 +108,7 @@ "refs": { "BadRequestException$Message": null, "GetLatestConfigurationResponse$ContentType": "

A standard MIME type describing the format of the configuration content.

", + "GetLatestConfigurationResponse$VersionLabel": "

The user-defined label for the AppConfig hosted configuration version. This attribute doesn't apply if the configuration is not from an AppConfig hosted configuration version. If the client already has the latest version of the configuration data, this value is empty.

", "InternalServerException$Message": null, "InvalidParameterMap$key": null, "ResourceNotFoundException$Message": null, @@ -116,12 +123,6 @@ "ResourceNotFoundException$ReferencedBy": "

A map indicating which parameters in the request reference the resource that was not found.

" } }, - "SyntheticGetLatestConfigurationResponseBlob": { - "base": null, - "refs": { - "GetLatestConfigurationResponse$Configuration": "

The data of the configuration. This may be empty if the client already has the latest version of configuration.

" - } - }, "ThrottlingException": { "base": "

The request was denied due to request throttling.

", "refs": { @@ -130,9 +131,9 @@ "Token": { "base": null, "refs": { - "GetLatestConfigurationRequest$ConfigurationToken": "

Token describing the current state of the configuration session. To obtain a token, first call the StartConfigurationSession API. Note that every call to GetLatestConfiguration will return a new ConfigurationToken (NextPollConfigurationToken in the response) and MUST be provided to subsequent GetLatestConfiguration API calls.

", - "GetLatestConfigurationResponse$NextPollConfigurationToken": "

The latest token describing the current state of the configuration session. This MUST be provided to the next call to GetLatestConfiguration.

", - "StartConfigurationSessionResponse$InitialConfigurationToken": "

Token encapsulating state about the configuration session. Provide this token to the GetLatestConfiguration API to retrieve configuration data.

This token should only be used once in your first call to GetLatestConfiguration. You MUST use the new token in the GetLatestConfiguration response (NextPollConfigurationToken) in each subsequent call to GetLatestConfiguration.

" + "GetLatestConfigurationRequest$ConfigurationToken": "

Token describing the current state of the configuration session. To obtain a token, first call the StartConfigurationSession API. Note that every call to GetLatestConfiguration will return a new ConfigurationToken (NextPollConfigurationToken in the response) and must be provided to subsequent GetLatestConfiguration API calls.

This token should only be used once. To support long poll use cases, the token is valid for up to 24 hours. If a GetLatestConfiguration call uses an expired token, the system returns BadRequestException.

", + "GetLatestConfigurationResponse$NextPollConfigurationToken": "

The latest token describing the current state of the configuration session. This must be provided to the next call to GetLatestConfiguration.

This token should only be used once. To support long poll use cases, the token is valid for up to 24 hours. If a GetLatestConfiguration call uses an expired token, the system returns BadRequestException.

", + "StartConfigurationSessionResponse$InitialConfigurationToken": "

Token encapsulating state about the configuration session. Provide this token to the GetLatestConfiguration API to retrieve configuration data.

This token should only be used once in your first call to GetLatestConfiguration. You must use the new token in the GetLatestConfiguration response (NextPollConfigurationToken) in each subsequent call to GetLatestConfiguration.

The InitialConfigurationToken and NextPollConfigurationToken should only be used once. To support long poll use cases, the tokens are valid for up to 24 hours. If a GetLatestConfiguration call uses an expired token, the system returns BadRequestException.

" } } } diff --git a/models/apis/appconfigdata/2021-11-11/endpoint-rule-set-1.json b/models/apis/appconfigdata/2021-11-11/endpoint-rule-set-1.json new file mode 100644 index 00000000000..2a486b706d6 --- /dev/null +++ b/models/apis/appconfigdata/2021-11-11/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appconfigdata-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appconfigdata-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appconfigdata.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appconfigdata.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/appconfigdata/2021-11-11/endpoint-tests-1.json b/models/apis/appconfigdata/2021-11-11/endpoint-tests-1.json new file mode 100644 index 00000000000..538a6cf8257 --- /dev/null +++ b/models/apis/appconfigdata/2021-11-11/endpoint-tests-1.json @@ -0,0 +1,563 @@ +{ + "testCases": [ + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.af-south-1.amazonaws.com" + } + }, + "params": { + "Region": "af-south-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.ap-east-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-3", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.eu-north-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-north-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.eu-south-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-south-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.eu-west-3.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-3", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.me-south-1.amazonaws.com" + } + }, + "params": { + "Region": "me-south-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.sa-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sa-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-west-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appconfigdata.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": 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": { + "UseDualStack": false, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/snowball/2016-06-30/api-2.json b/models/apis/snowball/2016-06-30/api-2.json index cef969906c6..141713e4382 100755 --- a/models/apis/snowball/2016-06-30/api-2.json +++ b/models/apis/snowball/2016-06-30/api-2.json @@ -287,6 +287,19 @@ {"shape":"InvalidNextTokenException"} ] }, + "ListServiceVersions":{ + "name":"ListServiceVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServiceVersionsRequest"}, + "output":{"shape":"ListServiceVersionsResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidResourceException"} + ] + }, "UpdateCluster":{ "name":"UpdateCluster", "http":{ @@ -593,6 +606,17 @@ "TotalObjects":{"shape":"Long"} } }, + "DependentService":{ + "type":"structure", + "members":{ + "ServiceName":{"shape":"ServiceName"}, + "ServiceVersion":{"shape":"ServiceVersion"} + } + }, + "DependentServiceList":{ + "type":"list", + "member":{"shape":"DependentService"} + }, "DescribeAddressRequest":{ "type":"structure", "required":["AddressId"], @@ -675,6 +699,13 @@ "S3_ON_DEVICE_SERVICE" ] }, + "EKSOnDeviceServiceConfiguration":{ + "type":"structure", + "members":{ + "KubernetesVersion":{"shape":"String"}, + "EKSAnywhereVersion":{"shape":"String"} + } + }, "Ec2AmiResource":{ "type":"structure", "required":["AmiId"], @@ -1011,6 +1042,29 @@ "NextToken":{"shape":"String"} } }, + "ListServiceVersionsRequest":{ + "type":"structure", + "required":["ServiceName"], + "members":{ + "ServiceName":{"shape":"ServiceName"}, + "DependentServices":{"shape":"DependentServiceList"}, + "MaxResults":{"shape":"ListLimit"}, + "NextToken":{"shape":"String"} + } + }, + "ListServiceVersionsResult":{ + "type":"structure", + "required":[ + "ServiceVersions", + "ServiceName" + ], + "members":{ + "ServiceVersions":{"shape":"ServiceVersionList"}, + "ServiceName":{"shape":"ServiceName"}, + "DependentServices":{"shape":"DependentServiceList"}, + "NextToken":{"shape":"String"} + } + }, "Long":{"type":"long"}, "LongTermPricingAssociatedJobIdList":{ "type":"list", @@ -1067,7 +1121,8 @@ "type":"structure", "members":{ "NFSOnDeviceService":{"shape":"NFSOnDeviceServiceConfiguration"}, - "TGWOnDeviceService":{"shape":"TGWOnDeviceServiceConfiguration"} + "TGWOnDeviceService":{"shape":"TGWOnDeviceServiceConfiguration"}, + "EKSOnDeviceService":{"shape":"EKSOnDeviceServiceConfiguration"} } }, "RemoteManagement":{ @@ -1106,6 +1161,23 @@ "type":"list", "member":{"shape":"S3Resource"} }, + "ServiceName":{ + "type":"string", + "enum":[ + "KUBERNETES", + "EKS_ANYWHERE" + ] + }, + "ServiceVersion":{ + "type":"structure", + "members":{ + "Version":{"shape":"String"} + } + }, + "ServiceVersionList":{ + "type":"list", + "member":{"shape":"ServiceVersion"} + }, "Shipment":{ "type":"structure", "members":{ @@ -1156,8 +1228,8 @@ "T98", "T8", "T14", - "NoPreference", - "T32" + "T32", + "NoPreference" ] }, "SnowballType":{ diff --git a/models/apis/snowball/2016-06-30/docs-2.json b/models/apis/snowball/2016-06-30/docs-2.json index bf77e292e31..d8d728c6b58 100755 --- a/models/apis/snowball/2016-06-30/docs-2.json +++ b/models/apis/snowball/2016-06-30/docs-2.json @@ -6,7 +6,7 @@ "CancelJob": "

Cancels the specified job. You can only cancel a job before its JobState value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob action returns a job's JobState as part of the response element data returned.

", "CreateAddress": "

Creates an address for a Snow device to be shipped to. In most regions, addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.

", "CreateCluster": "

Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob action separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created.

", - "CreateJob": "

Creates a job to import or export data between Amazon S3 and your on-premises data center. Your Amazon Web Services account must have the right trust policies and permissions in place to create a job for a Snow device. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster.

Only the Snowball; Edge device type is supported when ordering clustered jobs.

The device capacity is optional.

Availability of device types differ by Amazon Web Services Region. For more information about Region availability, see Amazon Web Services Regional Services.

Snow Family devices and their capacities.

", + "CreateJob": "

Creates a job to import or export data between Amazon S3 and your on-premises data center. Your Amazon Web Services account must have the right trust policies and permissions in place to create a job for a Snow device. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster.

Only the Snowball; Edge device type is supported when ordering clustered jobs.

The device capacity is optional.

Availability of device types differ by Amazon Web Services Region. For more information about Region availability, see Amazon Web Services Regional Services.

Snow Family devices and their capacities.

", "CreateLongTermPricing": "

Creates a job with the long-term usage option for a device. The long-term usage is a 1-year or 3-year long-term pricing type for the device. You are billed upfront, and Amazon Web Services provides discounts for long-term pricing.

", "CreateReturnShippingLabel": "

Creates a shipping label that will be used to return the Snow device to Amazon Web Services.

", "DescribeAddress": "

Takes an AddressId and returns specific details about that address in the form of an Address object.

", @@ -23,6 +23,7 @@ "ListCompatibleImages": "

This action returns a list of the different Amazon EC2 Amazon Machine Images (AMIs) that are owned by your Amazon Web Services accountthat would be supported for use on a Snow device. Currently, supported AMIs are based on the CentOS 7 (x86_64) - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS - Xenial (HVM) images, available on the Amazon Web Services Marketplace.

", "ListJobs": "

Returns an array of JobListEntry objects of the specified length. Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.

", "ListLongTermPricing": "

Lists all long-term pricing types.

", + "ListServiceVersions": "

Lists all supported versions for Snow on-device services. Returns an array of ServiceVersion object containing the supported versions for a particular service.

", "UpdateCluster": "

While a cluster's ClusterState value is in the AwaitingQuorum state, you can update some of the information associated with a cluster. Once the cluster changes to a different job state, usually 60 minutes after the cluster being created, this action is no longer available.

", "UpdateJob": "

While a job's JobState value is New, you can update some of the information associated with a job. Once the job changes to a different job state, usually within 60 minutes of the job being created, this action is no longer available.

", "UpdateJobShipmentState": "

Updates the state when a shipment state changes to a different state.

", @@ -211,6 +212,19 @@ "JobMetadata$DataTransferProgress": "

A value that defines the real-time status of a Snow device's data transfer while the device is at Amazon Web Services. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

" } }, + "DependentService": { + "base": "

The name and version of the service dependant on the requested service.

", + "refs": { + "DependentServiceList$member": null + } + }, + "DependentServiceList": { + "base": null, + "refs": { + "ListServiceVersionsRequest$DependentServices": "

A list of names and versions of dependant services of the requested service.

", + "ListServiceVersionsResult$DependentServices": "

A list of names and versions of dependant services of the service for which the system provided supported versions.

" + } + }, "DescribeAddressRequest": { "base": null, "refs": { @@ -274,6 +288,12 @@ "TargetOnDeviceService$ServiceName": "

Specifies the name of the service on the Snow Family device that your transferred data will be exported from or imported into.

" } }, + "EKSOnDeviceServiceConfiguration": { + "base": "

An object representing the metadata and configuration settings of EKS Anywhere on the Snow Family device.

", + "refs": { + "OnDeviceServiceConfiguration$EKSOnDeviceService": "

The configuration of EKS Anywhere on the Snow Family device.

" + } + }, "Ec2AmiResource": { "base": "

A JSON-formatted object that contains the IDs for an Amazon Machine Image (AMI), including the Amazon EC2 AMI ID and the Snow device AMI ID. Each AMI has these two IDs to simplify identifying the AMI in both the Amazon Web Services Cloud and on the device.

", "refs": { @@ -390,7 +410,7 @@ "JavaBoolean": { "base": null, "refs": { - "CreateLongTermPricingRequest$IsLongTermPricingAutoRenew": "

snowballty

Specifies whether the current long-term pricing type for the device should be renewed.

", + "CreateLongTermPricingRequest$IsLongTermPricingAutoRenew": "

Specifies whether the current long-term pricing type for the device should be renewed.

", "LongTermPricingListEntry$IsLongTermPricingAutoRenew": "

If set to true, specifies that the current long-term pricing type for the device should be automatically renewed before the long-term pricing contract expires.

", "UpdateLongTermPricingRequest$IsLongTermPricingAutoRenew": "

If set to true, specifies that the current long-term pricing type for the device should be automatically renewed before the long-term pricing contract expires.

" } @@ -561,7 +581,8 @@ "ListClustersRequest$MaxResults": "

The number of ClusterListEntry objects to return.

", "ListCompatibleImagesRequest$MaxResults": "

The maximum number of results for the list of compatible images. Currently, a Snowball Edge device can store 10 AMIs.

", "ListJobsRequest$MaxResults": "

The number of JobListEntry objects to return.

", - "ListLongTermPricingRequest$MaxResults": "

The maximum number of ListLongTermPricing objects to return.

" + "ListLongTermPricingRequest$MaxResults": "

The maximum number of ListLongTermPricing objects to return.

", + "ListServiceVersionsRequest$MaxResults": "

The maximum number of ListServiceVersions objects to return.

" } }, "ListLongTermPricingRequest": { @@ -574,6 +595,16 @@ "refs": { } }, + "ListServiceVersionsRequest": { + "base": null, + "refs": { + } + }, + "ListServiceVersionsResult": { + "base": null, + "refs": { + } + }, "Long": { "base": null, "refs": { @@ -690,6 +721,27 @@ "JobResource$S3Resources": "

An array of S3Resource objects.

" } }, + "ServiceName": { + "base": null, + "refs": { + "DependentService$ServiceName": "

The name of the dependent service.

", + "ListServiceVersionsRequest$ServiceName": "

The name of the service for which you're requesting supported versions.

", + "ListServiceVersionsResult$ServiceName": "

The name of the service for which the system provided supported versions.

" + } + }, + "ServiceVersion": { + "base": "

The version of the requested service.

", + "refs": { + "DependentService$ServiceVersion": "

The version of the dependent service.

", + "ServiceVersionList$member": null + } + }, + "ServiceVersionList": { + "base": null, + "refs": { + "ListServiceVersionsResult$ServiceVersions": "

A list of supported versions.

" + } + }, "Shipment": { "base": "

The Status and TrackingNumber information for an inbound or outbound shipment.

", "refs": { @@ -804,6 +856,8 @@ "DescribeAddressesRequest$NextToken": "

HTTP requests are stateless. To identify what object comes \"next\" in the list of ADDRESS objects, you have the option of specifying a value for NextToken as the starting point for your list of returned addresses.

", "DescribeAddressesResult$NextToken": "

HTTP requests are stateless. If you use the automatically generated NextToken value in your next DescribeAddresses call, your list of returned addresses will start from this point in the array.

", "DescribeReturnShippingLabelResult$ReturnShippingLabelURI": "

The pre-signed Amazon S3 URI used to download the return shipping label.

", + "EKSOnDeviceServiceConfiguration$KubernetesVersion": "

The Kubernetes version for EKS Anywhere on the Snow Family device.

", + "EKSOnDeviceServiceConfiguration$EKSAnywhereVersion": "

The version of EKS Anywhere on the Snow Family device.

", "Ec2AmiResource$SnowballAmiId": "

The ID of the AMI on the Snow device.

", "Ec2RequestFailedException$Message": null, "GetJobManifestResult$ManifestURI": "

The Amazon S3 presigned URL for the manifest file associated with the specified JobId value.

", @@ -836,8 +890,11 @@ "ListJobsResult$NextToken": "

HTTP requests are stateless. If you use this automatically generated NextToken value in your next ListJobs call, your returned JobListEntry objects will start from this point in the array.

", "ListLongTermPricingRequest$NextToken": "

Because HTTP requests are stateless, this is the starting point for your next list of ListLongTermPricing to return.

", "ListLongTermPricingResult$NextToken": "

Because HTTP requests are stateless, this is the starting point for your next list of returned ListLongTermPricing list.

", + "ListServiceVersionsRequest$NextToken": "

Because HTTP requests are stateless, this is the starting point for the next list of returned ListServiceVersionsRequest versions.

", + "ListServiceVersionsResult$NextToken": "

Because HTTP requests are stateless, this is the starting point of the next list of returned ListServiceVersionsResult results.

", "LongTermPricingListEntry$LongTermPricingStatus": "

The status of the long-term pricing type.

", "ReturnShippingLabelAlreadyExistsException$Message": null, + "ServiceVersion$Version": "

The version number of the requested service.

", "Shipment$Status": "

Status information for a shipment.

", "Shipment$TrackingNumber": "

The tracking number for this job. Using this tracking number with your region's carrier's website, you can track a Snow device as the carrier transports it.

For India, the carrier is Amazon Logistics. For all other regions, UPS is the carrier.

", "UnsupportedAddressException$Message": null, diff --git a/models/apis/snowball/2016-06-30/endpoint-rule-set-1.json b/models/apis/snowball/2016-06-30/endpoint-rule-set-1.json new file mode 100644 index 00000000000..3ffead86f13 --- /dev/null +++ b/models/apis/snowball/2016-06-30/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://snowball-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://snowball-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://snowball.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://snowball.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/snowball/2016-06-30/endpoint-tests-1.json b/models/apis/snowball/2016-06-30/endpoint-tests-1.json new file mode 100644 index 00000000000..aa787332291 --- /dev/null +++ b/models/apis/snowball/2016-06-30/endpoint-tests-1.json @@ -0,0 +1,758 @@ +{ + "testCases": [ + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.af-south-1.amazonaws.com" + } + }, + "params": { + "Region": "af-south-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.ap-east-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-3", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-3", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.eu-north-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-north-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.eu-south-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-south-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.eu-west-3.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-3", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-3", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.sa-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sa-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sa-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://snowball.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://snowball-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": 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": { + "UseDualStack": false, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 1caa65a339e..bb0886b582b 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -3637,6 +3637,7 @@ "connect-campaigns" : { "endpoints" : { "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-west-2" : { }, "fips-us-east-1" : { "credentialScope" : { @@ -20915,6 +20916,7 @@ } ] }, "endpoints" : { + "us-gov-east-1" : { }, "us-gov-west-1" : { "variants" : [ { "hostname" : "runtime.sagemaker.us-gov-west-1.amazonaws.com", diff --git a/service/account/accountiface/interface.go b/service/account/accountiface/interface.go index 3764b50ad87..2a2fe0dcd2f 100644 --- a/service/account/accountiface/interface.go +++ b/service/account/accountiface/interface.go @@ -64,6 +64,14 @@ type AccountAPI interface { DeleteAlternateContactWithContext(aws.Context, *account.DeleteAlternateContactInput, ...request.Option) (*account.DeleteAlternateContactOutput, error) DeleteAlternateContactRequest(*account.DeleteAlternateContactInput) (*request.Request, *account.DeleteAlternateContactOutput) + DisableRegion(*account.DisableRegionInput) (*account.DisableRegionOutput, error) + DisableRegionWithContext(aws.Context, *account.DisableRegionInput, ...request.Option) (*account.DisableRegionOutput, error) + DisableRegionRequest(*account.DisableRegionInput) (*request.Request, *account.DisableRegionOutput) + + EnableRegion(*account.EnableRegionInput) (*account.EnableRegionOutput, error) + EnableRegionWithContext(aws.Context, *account.EnableRegionInput, ...request.Option) (*account.EnableRegionOutput, error) + EnableRegionRequest(*account.EnableRegionInput) (*request.Request, *account.EnableRegionOutput) + GetAlternateContact(*account.GetAlternateContactInput) (*account.GetAlternateContactOutput, error) GetAlternateContactWithContext(aws.Context, *account.GetAlternateContactInput, ...request.Option) (*account.GetAlternateContactOutput, error) GetAlternateContactRequest(*account.GetAlternateContactInput) (*request.Request, *account.GetAlternateContactOutput) @@ -72,6 +80,17 @@ type AccountAPI interface { GetContactInformationWithContext(aws.Context, *account.GetContactInformationInput, ...request.Option) (*account.GetContactInformationOutput, error) GetContactInformationRequest(*account.GetContactInformationInput) (*request.Request, *account.GetContactInformationOutput) + GetRegionOptStatus(*account.GetRegionOptStatusInput) (*account.GetRegionOptStatusOutput, error) + GetRegionOptStatusWithContext(aws.Context, *account.GetRegionOptStatusInput, ...request.Option) (*account.GetRegionOptStatusOutput, error) + GetRegionOptStatusRequest(*account.GetRegionOptStatusInput) (*request.Request, *account.GetRegionOptStatusOutput) + + ListRegions(*account.ListRegionsInput) (*account.ListRegionsOutput, error) + ListRegionsWithContext(aws.Context, *account.ListRegionsInput, ...request.Option) (*account.ListRegionsOutput, error) + ListRegionsRequest(*account.ListRegionsInput) (*request.Request, *account.ListRegionsOutput) + + ListRegionsPages(*account.ListRegionsInput, func(*account.ListRegionsOutput, bool) bool) error + ListRegionsPagesWithContext(aws.Context, *account.ListRegionsInput, func(*account.ListRegionsOutput, bool) bool, ...request.Option) error + PutAlternateContact(*account.PutAlternateContactInput) (*account.PutAlternateContactOutput, error) PutAlternateContactWithContext(aws.Context, *account.PutAlternateContactInput, ...request.Option) (*account.PutAlternateContactOutput, error) PutAlternateContactRequest(*account.PutAlternateContactInput) (*request.Request, *account.PutAlternateContactOutput) diff --git a/service/account/api.go b/service/account/api.go index 976ee35343a..5b599eb2121 100644 --- a/service/account/api.go +++ b/service/account/api.go @@ -116,6 +116,200 @@ func (c *Account) DeleteAlternateContactWithContext(ctx aws.Context, input *Dele return out, req.Send() } +const opDisableRegion = "DisableRegion" + +// DisableRegionRequest generates a "aws/request.Request" representing the +// client's request for the DisableRegion 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 DisableRegion for more information on using the DisableRegion +// 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 DisableRegionRequest method. +// req, resp := client.DisableRegionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/account-2021-02-01/DisableRegion +func (c *Account) DisableRegionRequest(input *DisableRegionInput) (req *request.Request, output *DisableRegionOutput) { + op := &request.Operation{ + Name: opDisableRegion, + HTTPMethod: "POST", + HTTPPath: "/disableRegion", + } + + if input == nil { + input = &DisableRegionInput{} + } + + output = &DisableRegionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisableRegion API operation for AWS Account. +// +// Disables (opts-out) a particular Region for an 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 AWS Account's +// API operation DisableRegion for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The operation failed because one of the input parameters was invalid. +// +// - ConflictException +// The request could not be processed because of a conflict in the current status +// of the resource. For example, this happens if you try to enable a Region +// that is currently being disabled (in a status of DISABLING). +// +// - AccessDeniedException +// The operation failed because the calling identity doesn't have the minimum +// required permissions. +// +// - TooManyRequestsException +// The operation failed because it was called too frequently and exceeded a +// throttle limit. +// +// - InternalServerException +// The operation failed because of an error internal to Amazon Web Services. +// Try your operation again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/account-2021-02-01/DisableRegion +func (c *Account) DisableRegion(input *DisableRegionInput) (*DisableRegionOutput, error) { + req, out := c.DisableRegionRequest(input) + return out, req.Send() +} + +// DisableRegionWithContext is the same as DisableRegion with the addition of +// the ability to pass a context and additional request options. +// +// See DisableRegion 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 *Account) DisableRegionWithContext(ctx aws.Context, input *DisableRegionInput, opts ...request.Option) (*DisableRegionOutput, error) { + req, out := c.DisableRegionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opEnableRegion = "EnableRegion" + +// EnableRegionRequest generates a "aws/request.Request" representing the +// client's request for the EnableRegion 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 EnableRegion for more information on using the EnableRegion +// 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 EnableRegionRequest method. +// req, resp := client.EnableRegionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/account-2021-02-01/EnableRegion +func (c *Account) EnableRegionRequest(input *EnableRegionInput) (req *request.Request, output *EnableRegionOutput) { + op := &request.Operation{ + Name: opEnableRegion, + HTTPMethod: "POST", + HTTPPath: "/enableRegion", + } + + if input == nil { + input = &EnableRegionInput{} + } + + output = &EnableRegionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// EnableRegion API operation for AWS Account. +// +// Enables (opts-in) a particular Region for an 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 AWS Account's +// API operation EnableRegion for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The operation failed because one of the input parameters was invalid. +// +// - ConflictException +// The request could not be processed because of a conflict in the current status +// of the resource. For example, this happens if you try to enable a Region +// that is currently being disabled (in a status of DISABLING). +// +// - AccessDeniedException +// The operation failed because the calling identity doesn't have the minimum +// required permissions. +// +// - TooManyRequestsException +// The operation failed because it was called too frequently and exceeded a +// throttle limit. +// +// - InternalServerException +// The operation failed because of an error internal to Amazon Web Services. +// Try your operation again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/account-2021-02-01/EnableRegion +func (c *Account) EnableRegion(input *EnableRegionInput) (*EnableRegionOutput, error) { + req, out := c.EnableRegionRequest(input) + return out, req.Send() +} + +// EnableRegionWithContext is the same as EnableRegion with the addition of +// the ability to pass a context and additional request options. +// +// See EnableRegion 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 *Account) EnableRegionWithContext(ctx aws.Context, input *EnableRegionInput, opts ...request.Option) (*EnableRegionOutput, error) { + req, out := c.EnableRegionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetAlternateContact = "GetAlternateContact" // GetAlternateContactRequest generates a "aws/request.Request" representing the @@ -317,6 +511,246 @@ func (c *Account) GetContactInformationWithContext(ctx aws.Context, input *GetCo return out, req.Send() } +const opGetRegionOptStatus = "GetRegionOptStatus" + +// GetRegionOptStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetRegionOptStatus 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 GetRegionOptStatus for more information on using the GetRegionOptStatus +// 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 GetRegionOptStatusRequest method. +// req, resp := client.GetRegionOptStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/account-2021-02-01/GetRegionOptStatus +func (c *Account) GetRegionOptStatusRequest(input *GetRegionOptStatusInput) (req *request.Request, output *GetRegionOptStatusOutput) { + op := &request.Operation{ + Name: opGetRegionOptStatus, + HTTPMethod: "POST", + HTTPPath: "/getRegionOptStatus", + } + + if input == nil { + input = &GetRegionOptStatusInput{} + } + + output = &GetRegionOptStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRegionOptStatus API operation for AWS Account. +// +// Retrieves the opt-in status of a particular Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Account's +// API operation GetRegionOptStatus for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The operation failed because one of the input parameters was invalid. +// +// - AccessDeniedException +// The operation failed because the calling identity doesn't have the minimum +// required permissions. +// +// - TooManyRequestsException +// The operation failed because it was called too frequently and exceeded a +// throttle limit. +// +// - InternalServerException +// The operation failed because of an error internal to Amazon Web Services. +// Try your operation again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/account-2021-02-01/GetRegionOptStatus +func (c *Account) GetRegionOptStatus(input *GetRegionOptStatusInput) (*GetRegionOptStatusOutput, error) { + req, out := c.GetRegionOptStatusRequest(input) + return out, req.Send() +} + +// GetRegionOptStatusWithContext is the same as GetRegionOptStatus with the addition of +// the ability to pass a context and additional request options. +// +// See GetRegionOptStatus 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 *Account) GetRegionOptStatusWithContext(ctx aws.Context, input *GetRegionOptStatusInput, opts ...request.Option) (*GetRegionOptStatusOutput, error) { + req, out := c.GetRegionOptStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListRegions = "ListRegions" + +// ListRegionsRequest generates a "aws/request.Request" representing the +// client's request for the ListRegions 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 ListRegions for more information on using the ListRegions +// 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 ListRegionsRequest method. +// req, resp := client.ListRegionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/account-2021-02-01/ListRegions +func (c *Account) ListRegionsRequest(input *ListRegionsInput) (req *request.Request, output *ListRegionsOutput) { + op := &request.Operation{ + Name: opListRegions, + HTTPMethod: "POST", + HTTPPath: "/listRegions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRegionsInput{} + } + + output = &ListRegionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRegions API operation for AWS Account. +// +// Lists all the Regions for a given account and their respective opt-in statuses. +// Optionally, this list can be filtered by the region-opt-status-contains parameter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Account's +// API operation ListRegions for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The operation failed because one of the input parameters was invalid. +// +// - AccessDeniedException +// The operation failed because the calling identity doesn't have the minimum +// required permissions. +// +// - TooManyRequestsException +// The operation failed because it was called too frequently and exceeded a +// throttle limit. +// +// - InternalServerException +// The operation failed because of an error internal to Amazon Web Services. +// Try your operation again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/account-2021-02-01/ListRegions +func (c *Account) ListRegions(input *ListRegionsInput) (*ListRegionsOutput, error) { + req, out := c.ListRegionsRequest(input) + return out, req.Send() +} + +// ListRegionsWithContext is the same as ListRegions with the addition of +// the ability to pass a context and additional request options. +// +// See ListRegions 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 *Account) ListRegionsWithContext(ctx aws.Context, input *ListRegionsInput, opts ...request.Option) (*ListRegionsOutput, error) { + req, out := c.ListRegionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRegionsPages iterates over the pages of a ListRegions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRegions 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 ListRegions operation. +// pageNum := 0 +// err := client.ListRegionsPages(params, +// func(page *account.ListRegionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Account) ListRegionsPages(input *ListRegionsInput, fn func(*ListRegionsOutput, bool) bool) error { + return c.ListRegionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRegionsPagesWithContext same as ListRegionsPages 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 *Account) ListRegionsPagesWithContext(ctx aws.Context, input *ListRegionsInput, fn func(*ListRegionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRegionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRegionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRegionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opPutAlternateContact = "PutAlternateContact" // PutAlternateContactRequest generates a "aws/request.Request" representing the @@ -664,6 +1098,72 @@ func (s *AlternateContact) SetTitle(v string) *AlternateContact { return s } +// The request could not be processed because of a conflict in the current status +// of the resource. For example, this happens if you try to enable a Region +// that is currently being disabled (in a status of DISABLING). +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) 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 ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + // Contains the details of the primary contact information associated with an // Amazon Web Services account. type ContactInformation struct { @@ -1022,6 +1522,211 @@ func (s DeleteAlternateContactOutput) GoString() string { return s.String() } +type DisableRegionInput struct { + _ struct{} `type:"structure"` + + // Specifies the 12-digit account ID number of the Amazon Web Services account + // that you want to access or modify with this operation. If you don't specify + // this parameter, it defaults to the Amazon Web Services account of the identity + // used to call the operation. To use this parameter, the caller must be an + // identity in the organization's management account (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#account) + // or a delegated administrator account. The specified account ID must also + // be a member account in the same organization. The organization must have + // all features enabled (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html), + // and the organization must have trusted access (https://docs.aws.amazon.com/organizations/latest/userguide/using-orgs-trusted-access.html) + // enabled for the Account Management service, and optionally a delegated admin + // (https://docs.aws.amazon.com/organizations/latest/userguide/using-orgs-delegated-admin.html) + // account assigned. + // + // The management account can't specify its own AccountId. It must call the + // operation in standalone context by not including the AccountId parameter. + // + // To call this operation on an account that is not a member of an organization, + // don't specify this parameter. Instead, call the operation using an identity + // belonging to the account whose contacts you wish to retrieve or modify. + AccountId *string `type:"string"` + + // Specifies the Region-code for a given Region name (for example, af-south-1). + // When you disable a Region, AWS performs actions to deactivate that Region + // in your account, such as destroying IAM resources in the Region. This process + // takes a few minutes for most accounts, but this can take several hours. You + // cannot enable the Region until the disabling process is fully completed. + // + // RegionName is a required field + RegionName *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 DisableRegionInput) 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 DisableRegionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableRegionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableRegionInput"} + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + if s.RegionName != nil && len(*s.RegionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *DisableRegionInput) SetAccountId(v string) *DisableRegionInput { + s.AccountId = &v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *DisableRegionInput) SetRegionName(v string) *DisableRegionInput { + s.RegionName = &v + return s +} + +type DisableRegionOutput 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 DisableRegionOutput) 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 DisableRegionOutput) GoString() string { + return s.String() +} + +type EnableRegionInput struct { + _ struct{} `type:"structure"` + + // Specifies the 12-digit account ID number of the Amazon Web Services account + // that you want to access or modify with this operation. If you don't specify + // this parameter, it defaults to the Amazon Web Services account of the identity + // used to call the operation. To use this parameter, the caller must be an + // identity in the organization's management account (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#account) + // or a delegated administrator account. The specified account ID must also + // be a member account in the same organization. The organization must have + // all features enabled (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html), + // and the organization must have trusted access (https://docs.aws.amazon.com/organizations/latest/userguide/using-orgs-trusted-access.html) + // enabled for the Account Management service, and optionally a delegated admin + // (https://docs.aws.amazon.com/organizations/latest/userguide/using-orgs-delegated-admin.html) + // account assigned. + // + // The management account can't specify its own AccountId. It must call the + // operation in standalone context by not including the AccountId parameter. + // + // To call this operation on an account that is not a member of an organization, + // don't specify this parameter. Instead, call the operation using an identity + // belonging to the account whose contacts you wish to retrieve or modify. + AccountId *string `type:"string"` + + // Specifies the Region-code for a given Region name (for example, af-south-1). + // When you enable a Region, AWS performs actions to prepare your account in + // that Region, such as distributing your IAM resources to the Region. This + // process takes a few minutes for most accounts, but it can take several hours. + // You cannot use the Region until this process is complete. Furthermore, you + // cannot disable the Region until the enabling process is fully completed. + // + // RegionName is a required field + RegionName *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 EnableRegionInput) 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 EnableRegionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableRegionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableRegionInput"} + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + if s.RegionName != nil && len(*s.RegionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *EnableRegionInput) SetAccountId(v string) *EnableRegionInput { + s.AccountId = &v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *EnableRegionInput) SetRegionName(v string) *EnableRegionInput { + s.RegionName = &v + return s +} + +type EnableRegionOutput 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 EnableRegionOutput) 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 EnableRegionOutput) GoString() string { + return s.String() +} + type GetAlternateContactInput struct { _ struct{} `type:"structure"` @@ -1060,7 +1765,106 @@ type GetAlternateContactInput 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 GetAlternateContactInput) String() string { +func (s GetAlternateContactInput) 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 GetAlternateContactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAlternateContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAlternateContactInput"} + if s.AlternateContactType == nil { + invalidParams.Add(request.NewErrParamRequired("AlternateContactType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *GetAlternateContactInput) SetAccountId(v string) *GetAlternateContactInput { + s.AccountId = &v + return s +} + +// SetAlternateContactType sets the AlternateContactType field's value. +func (s *GetAlternateContactInput) SetAlternateContactType(v string) *GetAlternateContactInput { + s.AlternateContactType = &v + return s +} + +type GetAlternateContactOutput struct { + _ struct{} `type:"structure"` + + // A structure that contains the details for the specified alternate contact. + AlternateContact *AlternateContact `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 GetAlternateContactOutput) 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 GetAlternateContactOutput) GoString() string { + return s.String() +} + +// SetAlternateContact sets the AlternateContact field's value. +func (s *GetAlternateContactOutput) SetAlternateContact(v *AlternateContact) *GetAlternateContactOutput { + s.AlternateContact = v + return s +} + +type GetContactInformationInput struct { + _ struct{} `type:"structure"` + + // Specifies the 12-digit account ID number of the Amazon Web Services account + // that you want to access or modify with this operation. If you don't specify + // this parameter, it defaults to the Amazon Web Services account of the identity + // used to call the operation. To use this parameter, the caller must be an + // identity in the organization's management account (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#account) + // or a delegated administrator account. The specified account ID must also + // be a member account in the same organization. The organization must have + // all features enabled (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html), + // and the organization must have trusted access (https://docs.aws.amazon.com/organizations/latest/userguide/using-orgs-trusted-access.html) + // enabled for the Account Management service, and optionally a delegated admin + // (https://docs.aws.amazon.com/organizations/latest/userguide/using-orgs-delegated-admin.html) + // account assigned. + // + // The management account can't specify its own AccountId. It must call the + // operation in standalone context by not including the AccountId parameter. + // + // To call this operation on an account that is not a member of an organization, + // don't specify this parameter. Instead, call the operation using an identity + // belonging to the account whose contacts you wish to retrieve or modify. + AccountId *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 GetContactInformationInput) String() string { return awsutil.Prettify(s) } @@ -1069,40 +1873,22 @@ func (s GetAlternateContactInput) 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 GetAlternateContactInput) GoString() string { +func (s GetContactInformationInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetAlternateContactInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetAlternateContactInput"} - if s.AlternateContactType == nil { - invalidParams.Add(request.NewErrParamRequired("AlternateContactType")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetAccountId sets the AccountId field's value. -func (s *GetAlternateContactInput) SetAccountId(v string) *GetAlternateContactInput { +func (s *GetContactInformationInput) SetAccountId(v string) *GetContactInformationInput { s.AccountId = &v return s } -// SetAlternateContactType sets the AlternateContactType field's value. -func (s *GetAlternateContactInput) SetAlternateContactType(v string) *GetAlternateContactInput { - s.AlternateContactType = &v - return s -} - -type GetAlternateContactOutput struct { +type GetContactInformationOutput struct { _ struct{} `type:"structure"` - // A structure that contains the details for the specified alternate contact. - AlternateContact *AlternateContact `type:"structure"` + // Contains the details of the primary contact information associated with an + // Amazon Web Services account. + ContactInformation *ContactInformation `type:"structure"` } // String returns the string representation. @@ -1110,7 +1896,7 @@ type GetAlternateContactOutput 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 GetAlternateContactOutput) String() string { +func (s GetContactInformationOutput) String() string { return awsutil.Prettify(s) } @@ -1119,17 +1905,17 @@ func (s GetAlternateContactOutput) 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 GetAlternateContactOutput) GoString() string { +func (s GetContactInformationOutput) GoString() string { return s.String() } -// SetAlternateContact sets the AlternateContact field's value. -func (s *GetAlternateContactOutput) SetAlternateContact(v *AlternateContact) *GetAlternateContactOutput { - s.AlternateContact = v +// SetContactInformation sets the ContactInformation field's value. +func (s *GetContactInformationOutput) SetContactInformation(v *ContactInformation) *GetContactInformationOutput { + s.ContactInformation = v return s } -type GetContactInformationInput struct { +type GetRegionOptStatusInput struct { _ struct{} `type:"structure"` // Specifies the 12-digit account ID number of the Amazon Web Services account @@ -1152,6 +1938,13 @@ type GetContactInformationInput struct { // don't specify this parameter. Instead, call the operation using an identity // belonging to the account whose contacts you wish to retrieve or modify. AccountId *string `type:"string"` + + // Specifies the Region-code for a given Region name (for example, af-south-1). + // This function will return the status of whatever Region you pass into this + // parameter. + // + // RegionName is a required field + RegionName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -1159,7 +1952,7 @@ type GetContactInformationInput 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 GetContactInformationInput) String() string { +func (s GetRegionOptStatusInput) String() string { return awsutil.Prettify(s) } @@ -1168,22 +1961,47 @@ func (s GetContactInformationInput) 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 GetContactInformationInput) GoString() string { +func (s GetRegionOptStatusInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRegionOptStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRegionOptStatusInput"} + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + if s.RegionName != nil && len(*s.RegionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAccountId sets the AccountId field's value. -func (s *GetContactInformationInput) SetAccountId(v string) *GetContactInformationInput { +func (s *GetRegionOptStatusInput) SetAccountId(v string) *GetRegionOptStatusInput { s.AccountId = &v return s } -type GetContactInformationOutput struct { +// SetRegionName sets the RegionName field's value. +func (s *GetRegionOptStatusInput) SetRegionName(v string) *GetRegionOptStatusInput { + s.RegionName = &v + return s +} + +type GetRegionOptStatusOutput struct { _ struct{} `type:"structure"` - // Contains the details of the primary contact information associated with an - // Amazon Web Services account. - ContactInformation *ContactInformation `type:"structure"` + // The Region code that was passed in. + RegionName *string `min:"1" type:"string"` + + // One of the potential statuses a Region can undergo (Enabled, Enabling, Disabled, + // Disabling, Enabled_By_Default). + RegionOptStatus *string `type:"string" enum:"RegionOptStatus"` } // String returns the string representation. @@ -1191,7 +2009,7 @@ type GetContactInformationOutput 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 GetContactInformationOutput) String() string { +func (s GetRegionOptStatusOutput) String() string { return awsutil.Prettify(s) } @@ -1200,13 +2018,19 @@ func (s GetContactInformationOutput) 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 GetContactInformationOutput) GoString() string { +func (s GetRegionOptStatusOutput) GoString() string { return s.String() } -// SetContactInformation sets the ContactInformation field's value. -func (s *GetContactInformationOutput) SetContactInformation(v *ContactInformation) *GetContactInformationOutput { - s.ContactInformation = v +// SetRegionName sets the RegionName field's value. +func (s *GetRegionOptStatusOutput) SetRegionName(v string) *GetRegionOptStatusOutput { + s.RegionName = &v + return s +} + +// SetRegionOptStatus sets the RegionOptStatus field's value. +func (s *GetRegionOptStatusOutput) SetRegionOptStatus(v string) *GetRegionOptStatusOutput { + s.RegionOptStatus = &v return s } @@ -1275,6 +2099,150 @@ func (s *InternalServerException) RequestID() string { return s.RespMetadata.RequestID } +type ListRegionsInput struct { + _ struct{} `type:"structure"` + + // Specifies the 12-digit account ID number of the Amazon Web Services account + // that you want to access or modify with this operation. If you don't specify + // this parameter, it defaults to the Amazon Web Services account of the identity + // used to call the operation. To use this parameter, the caller must be an + // identity in the organization's management account (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#account) + // or a delegated administrator account. The specified account ID must also + // be a member account in the same organization. The organization must have + // all features enabled (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html), + // and the organization must have trusted access (https://docs.aws.amazon.com/organizations/latest/userguide/using-orgs-trusted-access.html) + // enabled for the Account Management service, and optionally a delegated admin + // (https://docs.aws.amazon.com/organizations/latest/userguide/using-orgs-delegated-admin.html) + // account assigned. + // + // The management account can't specify its own AccountId. It must call the + // operation in standalone context by not including the AccountId parameter. + // + // To call this operation on an account that is not a member of an organization, + // don't specify this parameter. Instead, call the operation using an identity + // belonging to the account whose contacts you wish to retrieve or modify. + AccountId *string `type:"string"` + + // The total number of items to return in the command’s output. If the total + // number of items available is more than the value specified, a NextToken is + // provided in the command’s output. To resume pagination, provide the NextToken + // value in the starting-token argument of a subsequent command. Do not use + // the NextToken response element directly outside of the Amazon Web Services + // CLI. For usage examples, see Pagination (http://docs.aws.amazon.com/cli/latest/userguide/pagination.html) + // in the Amazon Web Services Command Line Interface User Guide. + MaxResults *int64 `min:"1" type:"integer"` + + // A token used to specify where to start paginating. This is the NextToken + // from a previously truncated response. For usage examples, see Pagination + // (http://docs.aws.amazon.com/cli/latest/userguide/pagination.html) in the + // Amazon Web Services Command Line Interface User Guide. + NextToken *string `type:"string"` + + // A list of Region statuses (Enabling, Enabled, Disabling, Disabled, Enabled_by_default) + // to use to filter the list of Regions for a given account. For example, passing + // in a value of ENABLING will only return a list of Regions with a Region status + // of ENABLING. + RegionOptStatusContains []*string `type:"list" enum:"RegionOptStatus"` +} + +// 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 ListRegionsInput) 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 ListRegionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRegionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRegionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *ListRegionsInput) SetAccountId(v string) *ListRegionsInput { + s.AccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListRegionsInput) SetMaxResults(v int64) *ListRegionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRegionsInput) SetNextToken(v string) *ListRegionsInput { + s.NextToken = &v + return s +} + +// SetRegionOptStatusContains sets the RegionOptStatusContains field's value. +func (s *ListRegionsInput) SetRegionOptStatusContains(v []*string) *ListRegionsInput { + s.RegionOptStatusContains = v + return s +} + +type ListRegionsOutput struct { + _ struct{} `type:"structure"` + + // If there is more data to be returned, this will be populated. It should be + // passed into the next-token request parameter of list-regions. + NextToken *string `type:"string"` + + // This is a list of Regions for a given account, or if the filtered parameter + // was used, a list of Regions that match the filter criteria set in the filter + // parameter. + Regions []*Region `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 ListRegionsOutput) 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 ListRegionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRegionsOutput) SetNextToken(v string) *ListRegionsOutput { + s.NextToken = &v + return s +} + +// SetRegions sets the Regions field's value. +func (s *ListRegionsOutput) SetRegions(v []*Region) *ListRegionsOutput { + s.Regions = v + return s +} + type PutAlternateContactInput struct { _ struct{} `type:"structure"` @@ -1558,6 +2526,49 @@ func (s PutContactInformationOutput) GoString() string { return s.String() } +// This is a structure that expresses the Region for a given account, consisting +// of a name and opt-in status. +type Region struct { + _ struct{} `type:"structure"` + + // The Region code of a given Region (for example, us-east-1). + RegionName *string `min:"1" type:"string"` + + // One of potential statuses a Region can undergo (Enabled, Enabling, Disabled, + // Disabling, Enabled_By_Default). + RegionOptStatus *string `type:"string" enum:"RegionOptStatus"` +} + +// 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 Region) 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 Region) GoString() string { + return s.String() +} + +// SetRegionName sets the RegionName field's value. +func (s *Region) SetRegionName(v string) *Region { + s.RegionName = &v + return s +} + +// SetRegionOptStatus sets the RegionOptStatus field's value. +func (s *Region) SetRegionOptStatus(v string) *Region { + s.RegionOptStatus = &v + return s +} + // The operation failed because it specified a resource that can't be found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` @@ -1692,7 +2703,18 @@ type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - Message_ *string `locationName:"message" type:"string"` + // The field where the invalid entry was detected. + FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list"` + + // The message that informs you about what was invalid about the request. + // + // Message_ is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ValidationException's + // String and GoString methods. + Message_ *string `locationName:"message" type:"string" sensitive:"true"` + + // The reason that validation failed. + Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"` } // String returns the string representation. @@ -1738,7 +2760,7 @@ func (s *ValidationException) OrigErr() error { } func (s *ValidationException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. @@ -1751,6 +2773,56 @@ func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } +// The input failed to meet the constraints specified by the AWS service in +// a specified field. +type ValidationExceptionField struct { + _ struct{} `type:"structure"` + + // A message about the validation exception. + // + // Message is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ValidationExceptionField's + // String and GoString methods. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true" sensitive:"true"` + + // The field name where the invalid entry was detected. + // + // Name is a required field + Name *string `locationName:"name" 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 ValidationExceptionField) 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 ValidationExceptionField) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { + s.Message = &v + return s +} + +// SetName sets the Name field's value. +func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { + s.Name = &v + return s +} + const ( // AlternateContactTypeBilling is a AlternateContactType enum value AlternateContactTypeBilling = "BILLING" @@ -1770,3 +2842,47 @@ func AlternateContactType_Values() []string { AlternateContactTypeSecurity, } } + +const ( + // RegionOptStatusEnabled is a RegionOptStatus enum value + RegionOptStatusEnabled = "ENABLED" + + // RegionOptStatusEnabling is a RegionOptStatus enum value + RegionOptStatusEnabling = "ENABLING" + + // RegionOptStatusDisabling is a RegionOptStatus enum value + RegionOptStatusDisabling = "DISABLING" + + // RegionOptStatusDisabled is a RegionOptStatus enum value + RegionOptStatusDisabled = "DISABLED" + + // RegionOptStatusEnabledByDefault is a RegionOptStatus enum value + RegionOptStatusEnabledByDefault = "ENABLED_BY_DEFAULT" +) + +// RegionOptStatus_Values returns all elements of the RegionOptStatus enum +func RegionOptStatus_Values() []string { + return []string{ + RegionOptStatusEnabled, + RegionOptStatusEnabling, + RegionOptStatusDisabling, + RegionOptStatusDisabled, + RegionOptStatusEnabledByDefault, + } +} + +const ( + // ValidationExceptionReasonInvalidRegionOptTarget is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidRegionOptTarget = "invalidRegionOptTarget" + + // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value + ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed" +) + +// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum +func ValidationExceptionReason_Values() []string { + return []string{ + ValidationExceptionReasonInvalidRegionOptTarget, + ValidationExceptionReasonFieldValidationFailed, + } +} diff --git a/service/account/errors.go b/service/account/errors.go index f5d6dd87123..e1bc38e78c1 100644 --- a/service/account/errors.go +++ b/service/account/errors.go @@ -15,6 +15,14 @@ const ( // required permissions. ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The request could not be processed because of a conflict in the current status + // of the resource. For example, this happens if you try to enable a Region + // that is currently being disabled (in a status of DISABLING). + ErrCodeConflictException = "ConflictException" + // ErrCodeInternalServerException for service response error code // "InternalServerException". // @@ -44,6 +52,7 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, "InternalServerException": newErrorInternalServerException, "ResourceNotFoundException": newErrorResourceNotFoundException, "TooManyRequestsException": newErrorTooManyRequestsException, diff --git a/service/appconfigdata/api.go b/service/appconfigdata/api.go index 60cfd6470c7..cbb940c9538 100644 --- a/service/appconfigdata/api.go +++ b/service/appconfigdata/api.go @@ -57,7 +57,7 @@ func (c *AppConfigData) GetLatestConfigurationRequest(input *GetLatestConfigurat // Retrieves the latest deployed configuration. This API may return empty configuration // data if the client already has the latest version. For more information about // this API action and to view example CLI commands that show how to use it -// with the StartConfigurationSession API action, see Receiving the configuration +// with the StartConfigurationSession API action, see Retrieving the configuration // (http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration) // in the AppConfig User Guide. // @@ -159,7 +159,7 @@ func (c *AppConfigData) StartConfigurationSessionRequest(input *StartConfigurati // // Starts a configuration session used to retrieve a deployed configuration. // For more information about this API action and to view example CLI commands -// that show how to use it with the GetLatestConfiguration API action, see Receiving +// that show how to use it with the GetLatestConfiguration API action, see Retrieving // the configuration (http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration) // in the AppConfig User Guide. // @@ -315,9 +315,13 @@ type GetLatestConfigurationInput struct { // Token describing the current state of the configuration session. To obtain // a token, first call the StartConfigurationSession API. Note that every call // to GetLatestConfiguration will return a new ConfigurationToken (NextPollConfigurationToken - // in the response) and MUST be provided to subsequent GetLatestConfiguration + // in the response) and must be provided to subsequent GetLatestConfiguration // API calls. // + // This token should only be used once. To support long poll use cases, the + // token is valid for up to 24 hours. If a GetLatestConfiguration call uses + // an expired token, the system returns BadRequestException. + // // ConfigurationToken is a required field ConfigurationToken *string `location:"querystring" locationName:"configuration_token" type:"string" required:"true"` } @@ -374,13 +378,23 @@ type GetLatestConfigurationOutput struct { ContentType *string `location:"header" locationName:"Content-Type" type:"string"` // The latest token describing the current state of the configuration session. - // This MUST be provided to the next call to GetLatestConfiguration. + // This must be provided to the next call to GetLatestConfiguration. + // + // This token should only be used once. To support long poll use cases, the + // token is valid for up to 24 hours. If a GetLatestConfiguration call uses + // an expired token, the system returns BadRequestException. NextPollConfigurationToken *string `location:"header" locationName:"Next-Poll-Configuration-Token" type:"string"` // The amount of time the client should wait before polling for configuration // updates again. Use RequiredMinimumPollIntervalInSeconds to set the desired // poll interval. NextPollIntervalInSeconds *int64 `location:"header" locationName:"Next-Poll-Interval-In-Seconds" type:"integer"` + + // The user-defined label for the AppConfig hosted configuration version. This + // attribute doesn't apply if the configuration is not from an AppConfig hosted + // configuration version. If the client already has the latest version of the + // configuration data, this value is empty. + VersionLabel *string `location:"header" locationName:"Version-Label" type:"string"` } // String returns the string representation. @@ -425,6 +439,12 @@ func (s *GetLatestConfigurationOutput) SetNextPollIntervalInSeconds(v int64) *Ge return s } +// SetVersionLabel sets the VersionLabel field's value. +func (s *GetLatestConfigurationOutput) SetVersionLabel(v string) *GetLatestConfigurationOutput { + s.VersionLabel = &v + return s +} + // There was an internal failure in the service. type InternalServerException struct { _ struct{} `type:"structure"` @@ -612,7 +632,7 @@ type StartConfigurationSessionInput struct { // Sets a constraint on a session. If you specify a value of, for example, 60 // seconds, then the client that established the session can't call GetLatestConfiguration - // more frequently then every 60 seconds. + // more frequently than every 60 seconds. RequiredMinimumPollIntervalInSeconds *int64 `min:"15" type:"integer"` } @@ -696,8 +716,13 @@ type StartConfigurationSessionOutput struct { // to the GetLatestConfiguration API to retrieve configuration data. // // This token should only be used once in your first call to GetLatestConfiguration. - // You MUST use the new token in the GetLatestConfiguration response (NextPollConfigurationToken) + // You must use the new token in the GetLatestConfiguration response (NextPollConfigurationToken) // in each subsequent call to GetLatestConfiguration. + // + // The InitialConfigurationToken and NextPollConfigurationToken should only + // be used once. To support long poll use cases, the tokens are valid for up + // to 24 hours. If a GetLatestConfiguration call uses an expired token, the + // system returns BadRequestException. InitialConfigurationToken *string `type:"string"` } diff --git a/service/appconfigdata/doc.go b/service/appconfigdata/doc.go index c127c55bbfb..06a5ae7c852 100644 --- a/service/appconfigdata/doc.go +++ b/service/appconfigdata/doc.go @@ -23,6 +23,10 @@ // to the session's client and used the first time it calls GetLatestConfiguration // for that session. // +// This token should only be used once in your first call to GetLatestConfiguration. +// You must use the new token in the GetLatestConfiguration response (NextPollConfigurationToken) +// in each subsequent call to GetLatestConfiguration. +// // When calling GetLatestConfiguration, your client code sends the most recent // ConfigurationToken value it has and receives in response: // @@ -37,9 +41,14 @@ // - The configuration: the latest data intended for the session. This may // be empty if the client already has the latest version of the configuration. // +// The InitialConfigurationToken and NextPollConfigurationToken should only +// be used once. To support long poll use cases, the tokens are valid for up +// to 24 hours. If a GetLatestConfiguration call uses an expired token, the +// system returns BadRequestException. +// // For more information and to view example CLI commands that show how to retrieve // a configuration using the AppConfig Data StartConfigurationSession and GetLatestConfiguration -// API actions, see Receiving the configuration (http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration) +// API actions, see Retrieving the configuration (http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration) // in the AppConfig User Guide. // // See https://docs.aws.amazon.com/goto/WebAPI/appconfigdata-2021-11-11 for more information on this service. diff --git a/service/snowball/api.go b/service/snowball/api.go index 31612933af5..060a4426f5e 100644 --- a/service/snowball/api.go +++ b/service/snowball/api.go @@ -454,9 +454,6 @@ func (c *Snowball) CreateJobRequest(input *CreateJobInput) (req *request.Request // - Device type: EDGE Capacity: T100 Description: Snowball Edge Storage // Optimized with EC2 Compute // -// - Device type: V3_5C Capacity: T32 Description: Snowball Edge Compute -// Optimized without GPU -// // - Device type: STANDARD Capacity: T50 Description: Original Snowball device // This device is only available in the Ningxia, Beijing, and Singapore Amazon // Web Services Region @@ -2244,6 +2241,92 @@ func (c *Snowball) ListLongTermPricingPagesWithContext(ctx aws.Context, input *L return p.Err() } +const opListServiceVersions = "ListServiceVersions" + +// ListServiceVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListServiceVersions 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 ListServiceVersions for more information on using the ListServiceVersions +// 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 ListServiceVersionsRequest method. +// req, resp := client.ListServiceVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListServiceVersions +func (c *Snowball) ListServiceVersionsRequest(input *ListServiceVersionsInput) (req *request.Request, output *ListServiceVersionsOutput) { + op := &request.Operation{ + Name: opListServiceVersions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListServiceVersionsInput{} + } + + output = &ListServiceVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListServiceVersions API operation for Amazon Import/Export Snowball. +// +// Lists all supported versions for Snow on-device services. Returns an array +// of ServiceVersion object containing the supported versions for a particular +// service. +// +// 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 Import/Export Snowball's +// API operation ListServiceVersions for usage and error information. +// +// Returned Error Types: +// +// - InvalidNextTokenException +// The NextToken string was altered unexpectedly, and the operation has stopped. +// Run the operation without changing the NextToken string, and try again. +// +// - InvalidResourceException +// The specified resource can't be found. Check the information you provided +// in your last request, and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListServiceVersions +func (c *Snowball) ListServiceVersions(input *ListServiceVersionsInput) (*ListServiceVersionsOutput, error) { + req, out := c.ListServiceVersionsRequest(input) + return out, req.Send() +} + +// ListServiceVersionsWithContext is the same as ListServiceVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListServiceVersions 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 *Snowball) ListServiceVersionsWithContext(ctx aws.Context, input *ListServiceVersionsInput, opts ...request.Option) (*ListServiceVersionsOutput, error) { + req, out := c.ListServiceVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateCluster = "UpdateCluster" // UpdateClusterRequest generates a "aws/request.Request" representing the @@ -3634,6 +3717,11 @@ func (s *CreateClusterInput) Validate() error { if s.SnowballType == nil { invalidParams.Add(request.NewErrParamRequired("SnowballType")) } + if s.OnDeviceServiceConfiguration != nil { + if err := s.OnDeviceServiceConfiguration.Validate(); err != nil { + invalidParams.AddNested("OnDeviceServiceConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Resources != nil { if err := s.Resources.Validate(); err != nil { invalidParams.AddNested("Resources", err.(request.ErrInvalidParams)) @@ -3912,6 +4000,11 @@ func (s *CreateJobInput) Validate() error { if s.LongTermPricingId != nil && len(*s.LongTermPricingId) < 41 { invalidParams.Add(request.NewErrParamMinLen("LongTermPricingId", 41)) } + if s.OnDeviceServiceConfiguration != nil { + if err := s.OnDeviceServiceConfiguration.Validate(); err != nil { + invalidParams.AddNested("OnDeviceServiceConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Resources != nil { if err := s.Resources.Validate(); err != nil { invalidParams.AddNested("Resources", err.(request.ErrInvalidParams)) @@ -4065,8 +4158,6 @@ func (s *CreateJobOutput) SetJobId(v string) *CreateJobOutput { type CreateLongTermPricingInput struct { _ struct{} `type:"structure"` - // snowballty - // // Specifies whether the current long-term pricing type for the device should // be renewed. IsLongTermPricingAutoRenew *bool `type:"boolean"` @@ -4320,6 +4411,62 @@ func (s *DataTransfer) SetTotalObjects(v int64) *DataTransfer { return s } +// The name and version of the service dependant on the requested service. +type DependentService struct { + _ struct{} `type:"structure"` + + // The name of the dependent service. + ServiceName *string `type:"string" enum:"ServiceName"` + + // The version of the dependent service. + ServiceVersion *ServiceVersion `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 DependentService) 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 DependentService) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DependentService) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DependentService"} + if s.ServiceVersion != nil { + if err := s.ServiceVersion.Validate(); err != nil { + invalidParams.AddNested("ServiceVersion", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServiceName sets the ServiceName field's value. +func (s *DependentService) SetServiceName(v string) *DependentService { + s.ServiceName = &v + return s +} + +// SetServiceVersion sets the ServiceVersion field's value. +func (s *DependentService) SetServiceVersion(v *ServiceVersion) *DependentService { + s.ServiceVersion = v + return s +} + type DescribeAddressInput struct { _ struct{} `type:"structure"` @@ -4801,6 +4948,64 @@ func (s *DeviceConfiguration) SetSnowconeDeviceConfiguration(v *SnowconeDeviceCo return s } +// An object representing the metadata and configuration settings of EKS Anywhere +// on the Snow Family device. +type EKSOnDeviceServiceConfiguration struct { + _ struct{} `type:"structure"` + + // The version of EKS Anywhere on the Snow Family device. + EKSAnywhereVersion *string `min:"1" type:"string"` + + // The Kubernetes version for EKS Anywhere on the Snow Family device. + KubernetesVersion *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 EKSOnDeviceServiceConfiguration) 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 EKSOnDeviceServiceConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EKSOnDeviceServiceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EKSOnDeviceServiceConfiguration"} + if s.EKSAnywhereVersion != nil && len(*s.EKSAnywhereVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EKSAnywhereVersion", 1)) + } + if s.KubernetesVersion != nil && len(*s.KubernetesVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KubernetesVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEKSAnywhereVersion sets the EKSAnywhereVersion field's value. +func (s *EKSOnDeviceServiceConfiguration) SetEKSAnywhereVersion(v string) *EKSOnDeviceServiceConfiguration { + s.EKSAnywhereVersion = &v + return s +} + +// SetKubernetesVersion sets the KubernetesVersion field's value. +func (s *EKSOnDeviceServiceConfiguration) SetKubernetesVersion(v string) *EKSOnDeviceServiceConfiguration { + s.KubernetesVersion = &v + return s +} + // A JSON-formatted object that contains the IDs for an Amazon Machine Image // (AMI), including the Amazon EC2 AMI ID and the Snow device AMI ID. Each AMI // has these two IDs to simplify identifying the AMI in both the Amazon Web @@ -6818,6 +7023,157 @@ func (s *ListLongTermPricingOutput) SetNextToken(v string) *ListLongTermPricingO return s } +type ListServiceVersionsInput struct { + _ struct{} `type:"structure"` + + // A list of names and versions of dependant services of the requested service. + DependentServices []*DependentService `type:"list"` + + // The maximum number of ListServiceVersions objects to return. + MaxResults *int64 `type:"integer"` + + // Because HTTP requests are stateless, this is the starting point for the next + // list of returned ListServiceVersionsRequest versions. + NextToken *string `min:"1" type:"string"` + + // The name of the service for which you're requesting supported versions. + // + // ServiceName is a required field + ServiceName *string `type:"string" required:"true" enum:"ServiceName"` +} + +// 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 ListServiceVersionsInput) 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 ListServiceVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListServiceVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListServiceVersionsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.DependentServices != nil { + for i, v := range s.DependentServices { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependentServices", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDependentServices sets the DependentServices field's value. +func (s *ListServiceVersionsInput) SetDependentServices(v []*DependentService) *ListServiceVersionsInput { + s.DependentServices = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListServiceVersionsInput) SetMaxResults(v int64) *ListServiceVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListServiceVersionsInput) SetNextToken(v string) *ListServiceVersionsInput { + s.NextToken = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *ListServiceVersionsInput) SetServiceName(v string) *ListServiceVersionsInput { + s.ServiceName = &v + return s +} + +type ListServiceVersionsOutput struct { + _ struct{} `type:"structure"` + + // A list of names and versions of dependant services of the service for which + // the system provided supported versions. + DependentServices []*DependentService `type:"list"` + + // Because HTTP requests are stateless, this is the starting point of the next + // list of returned ListServiceVersionsResult results. + NextToken *string `min:"1" type:"string"` + + // The name of the service for which the system provided supported versions. + // + // ServiceName is a required field + ServiceName *string `type:"string" required:"true" enum:"ServiceName"` + + // A list of supported versions. + // + // ServiceVersions is a required field + ServiceVersions []*ServiceVersion `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 ListServiceVersionsOutput) 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 ListServiceVersionsOutput) GoString() string { + return s.String() +} + +// SetDependentServices sets the DependentServices field's value. +func (s *ListServiceVersionsOutput) SetDependentServices(v []*DependentService) *ListServiceVersionsOutput { + s.DependentServices = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListServiceVersionsOutput) SetNextToken(v string) *ListServiceVersionsOutput { + s.NextToken = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *ListServiceVersionsOutput) SetServiceName(v string) *ListServiceVersionsOutput { + s.ServiceName = &v + return s +} + +// SetServiceVersions sets the ServiceVersions field's value. +func (s *ListServiceVersionsOutput) SetServiceVersions(v []*ServiceVersion) *ListServiceVersionsOutput { + s.ServiceVersions = v + return s +} + // Each LongTermPricingListEntry object contains information about a long-term // pricing type. type LongTermPricingListEntry struct { @@ -7047,6 +7403,9 @@ func (s *Notification) SetSnsTopicARN(v string) *Notification { type OnDeviceServiceConfiguration struct { _ struct{} `type:"structure"` + // The configuration of EKS Anywhere on the Snow Family device. + EKSOnDeviceService *EKSOnDeviceServiceConfiguration `type:"structure"` + // Represents the NFS (Network File System) service on a Snow Family device. NFSOnDeviceService *NFSOnDeviceServiceConfiguration `type:"structure"` @@ -7073,6 +7432,27 @@ func (s OnDeviceServiceConfiguration) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *OnDeviceServiceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OnDeviceServiceConfiguration"} + if s.EKSOnDeviceService != nil { + if err := s.EKSOnDeviceService.Validate(); err != nil { + invalidParams.AddNested("EKSOnDeviceService", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEKSOnDeviceService sets the EKSOnDeviceService field's value. +func (s *OnDeviceServiceConfiguration) SetEKSOnDeviceService(v *EKSOnDeviceServiceConfiguration) *OnDeviceServiceConfiguration { + s.EKSOnDeviceService = v + return s +} + // SetNFSOnDeviceService sets the NFSOnDeviceService field's value. func (s *OnDeviceServiceConfiguration) SetNFSOnDeviceService(v *NFSOnDeviceServiceConfiguration) *OnDeviceServiceConfiguration { s.NFSOnDeviceService = v @@ -7225,6 +7605,51 @@ func (s *S3Resource) SetTargetOnDeviceServices(v []*TargetOnDeviceService) *S3Re return s } +// The version of the requested service. +type ServiceVersion struct { + _ struct{} `type:"structure"` + + // The version number of the requested service. + Version *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 ServiceVersion) 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 ServiceVersion) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServiceVersion) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceVersion"} + if s.Version != nil && len(*s.Version) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Version", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetVersion sets the Version field's value. +func (s *ServiceVersion) SetVersion(v string) *ServiceVersion { + s.Version = &v + return s +} + // The Status and TrackingNumber information for an inbound or outbound shipment. type Shipment struct { _ struct{} `type:"structure"` @@ -7650,6 +8075,11 @@ func (s *UpdateClusterInput) Validate() error { if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 { invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40)) } + if s.OnDeviceServiceConfiguration != nil { + if err := s.OnDeviceServiceConfiguration.Validate(); err != nil { + invalidParams.AddNested("OnDeviceServiceConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Resources != nil { if err := s.Resources.Validate(); err != nil { invalidParams.AddNested("Resources", err.(request.ErrInvalidParams)) @@ -7821,6 +8251,11 @@ func (s *UpdateJobInput) Validate() error { if s.JobId != nil && len(*s.JobId) < 39 { invalidParams.Add(request.NewErrParamMinLen("JobId", 39)) } + if s.OnDeviceServiceConfiguration != nil { + if err := s.OnDeviceServiceConfiguration.Validate(); err != nil { + invalidParams.AddNested("OnDeviceServiceConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Resources != nil { if err := s.Resources.Validate(); err != nil { invalidParams.AddNested("Resources", err.(request.ErrInvalidParams)) @@ -8154,11 +8589,11 @@ const ( // CapacityT14 is a Capacity enum value CapacityT14 = "T14" - // CapacityNoPreference is a Capacity enum value - CapacityNoPreference = "NoPreference" - // CapacityT32 is a Capacity enum value CapacityT32 = "T32" + + // CapacityNoPreference is a Capacity enum value + CapacityNoPreference = "NoPreference" ) // Capacity_Values returns all elements of the Capacity enum @@ -8171,8 +8606,8 @@ func Capacity_Values() []string { CapacityT98, CapacityT8, CapacityT14, - CapacityNoPreference, CapacityT32, + CapacityNoPreference, } } @@ -8332,6 +8767,22 @@ func RemoteManagement_Values() []string { } } +const ( + // ServiceNameKubernetes is a ServiceName enum value + ServiceNameKubernetes = "KUBERNETES" + + // ServiceNameEksAnywhere is a ServiceName enum value + ServiceNameEksAnywhere = "EKS_ANYWHERE" +) + +// ServiceName_Values returns all elements of the ServiceName enum +func ServiceName_Values() []string { + return []string{ + ServiceNameKubernetes, + ServiceNameEksAnywhere, + } +} + const ( // ShipmentStateReceived is a ShipmentState enum value ShipmentStateReceived = "RECEIVED" diff --git a/service/snowball/snowballiface/interface.go b/service/snowball/snowballiface/interface.go index 808de7eccad..339e7ce49b1 100644 --- a/service/snowball/snowballiface/interface.go +++ b/service/snowball/snowballiface/interface.go @@ -162,6 +162,10 @@ type SnowballAPI interface { ListLongTermPricingPages(*snowball.ListLongTermPricingInput, func(*snowball.ListLongTermPricingOutput, bool) bool) error ListLongTermPricingPagesWithContext(aws.Context, *snowball.ListLongTermPricingInput, func(*snowball.ListLongTermPricingOutput, bool) bool, ...request.Option) error + ListServiceVersions(*snowball.ListServiceVersionsInput) (*snowball.ListServiceVersionsOutput, error) + ListServiceVersionsWithContext(aws.Context, *snowball.ListServiceVersionsInput, ...request.Option) (*snowball.ListServiceVersionsOutput, error) + ListServiceVersionsRequest(*snowball.ListServiceVersionsInput) (*request.Request, *snowball.ListServiceVersionsOutput) + UpdateCluster(*snowball.UpdateClusterInput) (*snowball.UpdateClusterOutput, error) UpdateClusterWithContext(aws.Context, *snowball.UpdateClusterInput, ...request.Option) (*snowball.UpdateClusterOutput, error) UpdateClusterRequest(*snowball.UpdateClusterInput) (*request.Request, *snowball.UpdateClusterOutput)