diff --git a/codegen/sdk-codegen/aws-models/account.json b/codegen/sdk-codegen/aws-models/account.json index c342fe4cab3..8f2a78d6516 100644 --- a/codegen/sdk-codegen/aws-models/account.json +++ b/codegen/sdk-codegen/aws-models/account.json @@ -1,5 +1,5 @@ { - "smithy": "1.0", + "smithy": "2.0", "shapes": { "com.amazonaws.account#AccessDeniedException": { "type": "structure", @@ -19,6 +19,18 @@ }, "com.amazonaws.account#Account": { "type": "service", + "version": "2021-02-01", + "resources": [ + { + "target": "com.amazonaws.account#AlternateContactResource" + }, + { + "target": "com.amazonaws.account#ContactInformationResource" + }, + { + "target": "com.amazonaws.account#RegionOptResource" + } + ], "traits": { "aws.api#service": { "sdkId": "Account", @@ -39,17 +51,1176 @@ "smithy.api#suppress": [ "EventSource" ], - "smithy.api#title": "AWS Account" - }, - "version": "2021-02-01", - "resources": [ - { - "target": "com.amazonaws.account#AlternateContactResource" - }, - { - "target": "com.amazonaws.account#ContactInformationResource" + "smithy.api#title": "AWS Account", + "smithy.rules#endpointRuleSet": { + "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" + } + ] + } + ] + }, + "smithy.rules#endpointTests": { + "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" } - ] + } }, "com.amazonaws.account#AccountId": { "type": "string", @@ -166,6 +1337,22 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.account#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, "com.amazonaws.account#ContactInformation": { "type": "structure", "members": { @@ -313,7 +1500,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

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

\n \n

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

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

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

\n

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

\n \n

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

\n
", "smithy.api#http": { "uri": "/deleteAlternateContact", "method": "POST", @@ -343,6 +1530,61 @@ "smithy.api#input": {} } }, + "com.amazonaws.account#DisableRegion": { + "type": "operation", + "input": { + "target": "com.amazonaws.account#DisableRegionRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.account#AccessDeniedException" + }, + { + "target": "com.amazonaws.account#ConflictException" + }, + { + "target": "com.amazonaws.account#InternalServerException" + }, + { + "target": "com.amazonaws.account#TooManyRequestsException" + }, + { + "target": "com.amazonaws.account#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#http": { + "uri": "/disableRegion", + "method": "POST", + "code": 200 + } + } + }, + "com.amazonaws.account#DisableRegionRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.account#AccountId", + "traits": { + "smithy.api#documentation": "

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

\n \n

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

\n
\n

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

" + } + }, + "RegionName": { + "target": "com.amazonaws.account#RegionName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.account#DistrictOrCounty": { "type": "string", "traits": { @@ -364,6 +1606,61 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.account#EnableRegion": { + "type": "operation", + "input": { + "target": "com.amazonaws.account#EnableRegionRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.account#AccessDeniedException" + }, + { + "target": "com.amazonaws.account#ConflictException" + }, + { + "target": "com.amazonaws.account#InternalServerException" + }, + { + "target": "com.amazonaws.account#TooManyRequestsException" + }, + { + "target": "com.amazonaws.account#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#http": { + "uri": "/enableRegion", + "method": "POST", + "code": 200 + } + } + }, + "com.amazonaws.account#EnableRegionRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.account#AccountId", + "traits": { + "smithy.api#documentation": "

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

\n \n

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

\n
\n

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

" + } + }, + "RegionName": { + "target": "com.amazonaws.account#RegionName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.account#FullName": { "type": "string", "traits": { @@ -400,7 +1697,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

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

\n \n

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

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

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

\n

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

\n \n

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

\n
", "smithy.api#http": { "uri": "/getAlternateContact", "method": "POST", @@ -473,7 +1770,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

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

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

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

\n

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

", "smithy.api#http": { "uri": "/getContactInformation", "method": "POST", @@ -491,7 +1788,7 @@ "AccountId": { "target": "com.amazonaws.account#AccountId", "traits": { - "smithy.api#documentation": "

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

\n \n

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

\n
\n

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

" + "smithy.api#documentation": "

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

\n \n

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

\n
\n

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

" } } }, @@ -513,6 +1810,82 @@ "smithy.api#output": {} } }, + "com.amazonaws.account#GetRegionOptStatus": { + "type": "operation", + "input": { + "target": "com.amazonaws.account#GetRegionOptStatusRequest" + }, + "output": { + "target": "com.amazonaws.account#GetRegionOptStatusResponse" + }, + "errors": [ + { + "target": "com.amazonaws.account#AccessDeniedException" + }, + { + "target": "com.amazonaws.account#InternalServerException" + }, + { + "target": "com.amazonaws.account#TooManyRequestsException" + }, + { + "target": "com.amazonaws.account#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the opt-in status of a particular Region.

", + "smithy.api#http": { + "uri": "/getRegionOptStatus", + "method": "POST", + "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.api#suppress": [ + "HttpMethodSemantics" + ] + } + }, + "com.amazonaws.account#GetRegionOptStatusRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.account#AccountId", + "traits": { + "smithy.api#documentation": "

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

\n \n

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

\n
\n

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

" + } + }, + "RegionName": { + "target": "com.amazonaws.account#RegionName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.account#GetRegionOptStatusResponse": { + "type": "structure", + "members": { + "RegionName": { + "target": "com.amazonaws.account#RegionName", + "traits": { + "smithy.api#documentation": "

The Region code that was passed in.

" + } + }, + "RegionOptStatus": { + "target": "com.amazonaws.account#RegionOptStatus", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.account#InternalServerException": { "type": "structure", "members": { @@ -530,6 +1903,105 @@ "smithy.api#retryable": {} } }, + "com.amazonaws.account#ListRegions": { + "type": "operation", + "input": { + "target": "com.amazonaws.account#ListRegionsRequest" + }, + "output": { + "target": "com.amazonaws.account#ListRegionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.account#AccessDeniedException" + }, + { + "target": "com.amazonaws.account#InternalServerException" + }, + { + "target": "com.amazonaws.account#TooManyRequestsException" + }, + { + "target": "com.amazonaws.account#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#http": { + "uri": "/listRegions", + "method": "POST", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {}, + "smithy.api#suppress": [ + "HttpMethodSemantics" + ] + } + }, + "com.amazonaws.account#ListRegionsRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.account#AccountId", + "traits": { + "smithy.api#documentation": "

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

\n \n

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

\n
\n

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

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

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

", + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#length": { + "max": 1000 + } + } + }, + "RegionOptStatusContains": { + "target": "com.amazonaws.account#RegionOptStatusList", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.account#ListRegionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "Regions": { + "target": "com.amazonaws.account#RegionOptList", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.account#Name": { "type": "string", "traits": { @@ -584,7 +2056,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

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

\n \n

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

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

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

\n

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

\n \n

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

\n
", "smithy.api#http": { "uri": "/putAlternateContact", "method": "POST", @@ -665,7 +2137,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

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

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

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

\n

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

", "smithy.api#http": { "uri": "/putContactInformation", "method": "POST", @@ -687,7 +2159,7 @@ "AccountId": { "target": "com.amazonaws.account#AccountId", "traits": { - "smithy.api#documentation": "

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

\n \n

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

\n
\n

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

" + "smithy.api#documentation": "

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

\n \n

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

\n
\n

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

" } } }, @@ -695,6 +2167,96 @@ "smithy.api#input": {} } }, + "com.amazonaws.account#Region": { + "type": "structure", + "members": { + "RegionName": { + "target": "com.amazonaws.account#RegionName", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "RegionOptStatus": { + "target": "com.amazonaws.account#RegionOptStatus", + "traits": { + "smithy.api#documentation": "

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

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

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

" + } + }, + "com.amazonaws.account#RegionName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.account#RegionOptList": { + "type": "list", + "member": { + "target": "com.amazonaws.account#Region" + } + }, + "com.amazonaws.account#RegionOptResource": { + "type": "resource", + "operations": [ + { + "target": "com.amazonaws.account#DisableRegion" + }, + { + "target": "com.amazonaws.account#EnableRegion" + }, + { + "target": "com.amazonaws.account#GetRegionOptStatus" + }, + { + "target": "com.amazonaws.account#ListRegions" + } + ], + "traits": { + "aws.api#arn": { + "template": "RegionOpt" + } + } + }, + "com.amazonaws.account#RegionOptStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLED", + "name": "ENABLED" + }, + { + "value": "ENABLING", + "name": "ENABLING" + }, + { + "value": "DISABLING", + "name": "DISABLING" + }, + { + "value": "DISABLED", + "name": "DISABLED" + }, + { + "value": "ENABLED_BY_DEFAULT", + "name": "ENABLED_BY_DEFAULT" + } + ] + } + }, + "com.amazonaws.account#RegionOptStatusList": { + "type": "list", + "member": { + "target": "com.amazonaws.account#RegionOptStatus" + } + }, "com.amazonaws.account#ResourceNotFoundException": { "type": "structure", "members": { @@ -711,6 +2273,12 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.account#SensitiveString": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.account#StateOrRegion": { "type": "string", "traits": { @@ -754,10 +2322,23 @@ "type": "structure", "members": { "message": { - "target": "smithy.api#String", + "target": "com.amazonaws.account#SensitiveString", "traits": { + "smithy.api#documentation": "

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

", "smithy.api#required": {} } + }, + "reason": { + "target": "com.amazonaws.account#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

The reason that validation failed.

" + } + }, + "fieldList": { + "target": "com.amazonaws.account#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

The field where the invalid entry was detected.

" + } } }, "traits": { @@ -766,6 +2347,49 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.account#ValidationExceptionField": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The field name where the invalid entry was detected.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "com.amazonaws.account#SensitiveString", + "traits": { + "smithy.api#documentation": "

A message about the validation exception.

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

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

" + } + }, + "com.amazonaws.account#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.account#ValidationExceptionField" + } + }, + "com.amazonaws.account#ValidationExceptionReason": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "invalidRegionOptTarget", + "name": "INVALID_REGION_OPT_TARGET" + }, + { + "value": "fieldValidationFailed", + "name": "FIELD_VALIDATION_FAILED" + } + ] + } + }, "com.amazonaws.account#WebsiteUrl": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/appconfigdata.json b/codegen/sdk-codegen/aws-models/appconfigdata.json index dce683a2a86..6b56ffe56fd 100644 --- a/codegen/sdk-codegen/aws-models/appconfigdata.json +++ b/codegen/sdk-codegen/aws-models/appconfigdata.json @@ -1,8 +1,19 @@ { - "smithy": "1.0", + "smithy": "2.0", "shapes": { "com.amazonaws.appconfigdata#AppConfigData": { "type": "service", + "version": "2021-11-11", + "operations": [ + { + "target": "com.amazonaws.appconfigdata#GetLatestConfiguration" + } + ], + "resources": [ + { + "target": "com.amazonaws.appconfigdata#ConfigurationSession" + } + ], "traits": { "aws.api#dataPlane": {}, "aws.api#service": { @@ -16,20 +27,922 @@ "name": "appconfig" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

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

\n

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

\n

When calling StartConfigurationSession, your code sends the following\n information:

\n \n

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

\n

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

\n \n

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

", - "smithy.api#title": "AWS AppConfig Data" - }, - "version": "2021-11-11", - "operations": [ - { - "target": "com.amazonaws.appconfigdata#GetLatestConfiguration" - } - ], - "resources": [ - { - "target": "com.amazonaws.appconfigdata#ConfigurationSession" + "smithy.api#documentation": "

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

\n

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

\n

When calling StartConfigurationSession, your code sends the following\n information:

\n \n

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

\n \n

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

\n
\n

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

\n \n \n

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

\n
\n

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

", + "smithy.api#title": "AWS AppConfig Data", + "smithy.rules#endpointRuleSet": { + "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" + } + ] + } + ] + }, + "smithy.rules#endpointTests": { + "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" } - ] + } }, "com.amazonaws.appconfigdata#BadRequestDetails": { "type": "union", @@ -116,7 +1029,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n \n

Note the following important information.

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

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

\n \n

Note the following important information.

\n \n
", "smithy.api#http": { "method": "GET", "uri": "/configuration", @@ -131,7 +1044,7 @@ "ConfigurationToken": { "target": "com.amazonaws.appconfigdata#Token", "traits": { - "smithy.api#documentation": "

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

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

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

\n \n

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

\n
", "smithy.api#httpQuery": "configuration_token", "smithy.api#required": {} } @@ -144,13 +1057,14 @@ "NextPollConfigurationToken": { "target": "com.amazonaws.appconfigdata#Token", "traits": { - "smithy.api#documentation": "

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

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

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

\n \n

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

\n
", "smithy.api#httpHeader": "Next-Poll-Configuration-Token" } }, "NextPollIntervalInSeconds": { "target": "com.amazonaws.appconfigdata#Integer", "traits": { + "smithy.api#default": 0, "smithy.api#documentation": "

The amount of time the client should wait before polling for configuration updates\n again. Use RequiredMinimumPollIntervalInSeconds to set the desired poll\n interval.

", "smithy.api#httpHeader": "Next-Poll-Interval-In-Seconds" } @@ -168,6 +1082,13 @@ "smithy.api#documentation": "

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

", "smithy.api#httpPayload": {} } + }, + "VersionLabel": { + "target": "com.amazonaws.appconfigdata#String", + "traits": { + "smithy.api#documentation": "

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.

", + "smithy.api#httpHeader": "Version-Label" + } } } }, @@ -182,12 +1103,15 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 64 + "max": 128 } } }, "com.amazonaws.appconfigdata#Integer": { - "type": "integer" + "type": "integer", + "traits": { + "smithy.api#default": 0 + } }, "com.amazonaws.appconfigdata#InternalServerException": { "type": "structure", @@ -250,7 +1174,6 @@ "com.amazonaws.appconfigdata#OptionalPollSeconds": { "type": "integer", "traits": { - "smithy.api#box": {}, "smithy.api#range": { "min": 15, "max": 86400 @@ -272,7 +1195,7 @@ "ReferencedBy": { "target": "com.amazonaws.appconfigdata#StringMap", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

" } } }, @@ -343,7 +1266,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

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

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

", "smithy.api#http": { "method": "POST", "uri": "/configurationsessions", @@ -378,7 +1301,7 @@ "RequiredMinimumPollIntervalInSeconds": { "target": "com.amazonaws.appconfigdata#OptionalPollSeconds", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

" } } } @@ -389,7 +1312,7 @@ "InitialConfigurationToken": { "target": "com.amazonaws.appconfigdata#Token", "traits": { - "smithy.api#documentation": "

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

\n \n

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

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

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

\n \n

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

\n

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

\n
" } } } @@ -426,4 +1349,4 @@ } } } -} +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/snowball.json b/codegen/sdk-codegen/aws-models/snowball.json index 588b0c89bf1..09929d491f2 100644 --- a/codegen/sdk-codegen/aws-models/snowball.json +++ b/codegen/sdk-codegen/aws-models/snowball.json @@ -96,6 +96,9 @@ { "target": "com.amazonaws.snowball#ListLongTermPricing" }, + { + "target": "com.amazonaws.snowball#ListServiceVersions" + }, { "target": "com.amazonaws.snowball#UpdateCluster" }, @@ -122,7 +125,1115 @@ }, "aws.protocols#awsJson1_1": {}, "smithy.api#documentation": "

The Amazon Web Services Snow Family provides a petabyte-scale data transport solution that uses\n secure devices to transfer large amounts of data between your on-premises data centers and\n Amazon Simple Storage Service (Amazon S3). The Snow Family commands described here provide access to the same\n functionality that is available in the Amazon Web Services Snow Family Management Console, which enables you to create\n and manage jobs for a Snow Family device. To transfer data locally with a Snow Family device,\n you'll need to use the Snowball Edge client or the Amazon S3 API Interface for Snowball or OpsHub for Snow Family. For more information, see the User Guide.

", - "smithy.api#title": "Amazon Import/Export Snowball" + "smithy.api#title": "Amazon Import/Export Snowball", + "smithy.rules#endpointRuleSet": { + "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" + } + ] + } + ] + }, + "smithy.rules#endpointTests": { + "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" + } } }, "com.amazonaws.snowball#Address": { @@ -283,6 +1394,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#CancelClusterResult": { @@ -322,6 +1436,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#CancelJobResult": { @@ -454,7 +1571,7 @@ "ShippingOption": { "target": "com.amazonaws.snowball#ShippingOption", "traits": { - "smithy.api#documentation": "

The shipping speed for each node in this cluster. This speed doesn't dictate how soon\n you'll get each device, rather it represents how quickly each device moves to its destination\n while in transit. Regional shipping speeds are as follows:

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

The shipping speed for each node in this cluster. This speed doesn't dictate how soon\n you'll get each device, rather it represents how quickly each device moves to its destination\n while in transit. Regional shipping speeds are as follows:

\n " } }, "Notification": { @@ -595,6 +1712,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#CreateAddressResult": { @@ -640,7 +1760,7 @@ "JobType": { "target": "com.amazonaws.snowball#JobType", "traits": { - "smithy.api#documentation": "

The type of job for this cluster. Currently, the only job type supported for clusters\n is LOCAL_USE.

\n \n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

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

The type of job for this cluster. Currently, the only job type supported for clusters\n is LOCAL_USE.

\n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

", "smithy.api#required": {} } }, @@ -686,14 +1806,14 @@ "SnowballType": { "target": "com.amazonaws.snowball#SnowballType", "traits": { - "smithy.api#documentation": "

The type of Snow Family devices to use for this cluster.

\n \n

For cluster jobs, Amazon Web Services Snow Family currently supports only the\n EDGE device type.

\n
\n \n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

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

The type of Snow Family devices to use for this cluster.

\n \n

For cluster jobs, Amazon Web Services Snow Family currently supports only the\n EDGE device type.

\n
\n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

", "smithy.api#required": {} } }, "ShippingOption": { "target": "com.amazonaws.snowball#ShippingOption", "traits": { - "smithy.api#documentation": "

The shipping speed for each node in this cluster. This speed doesn't dictate how soon\n you'll get each Snowball Edge device, rather it represents how quickly each device moves to\n its destination while in transit. Regional shipping speeds are as follows:

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

The shipping speed for each node in this cluster. This speed doesn't dictate how soon\n you'll get each Snowball Edge device, rather it represents how quickly each device moves to\n its destination while in transit. Regional shipping speeds are as follows:

\n \n ", "smithy.api#required": {} } }, @@ -721,6 +1841,9 @@ "smithy.api#documentation": "

Allows you to securely operate and manage Snow devices in a cluster remotely from outside\n of your internal network. When set to INSTALLED_AUTOSTART, remote management will\n automatically be available when the device arrives at your location. Otherwise, you need to\n use the Snowball Client to manage the device.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#CreateClusterResult": { @@ -760,7 +1883,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n \n

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

\n

The device capacity is optional.

\n

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

\n
\n\n

\n\n

\n Snow Family devices and their capacities.\n

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

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

\n \n

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

\n

The device capacity is optional.

\n

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

\n
\n

\n

\n Snow Family devices and their capacities.\n

\n " } }, "com.amazonaws.snowball#CreateJobRequest": { @@ -775,7 +1898,7 @@ "Resources": { "target": "com.amazonaws.snowball#JobResource", "traits": { - "smithy.api#documentation": "

Defines the Amazon S3 buckets associated with this job.

\n\n

With IMPORT jobs, you specify the bucket or buckets that your transferred\n data will be imported into.

\n\n

With EXPORT jobs, you specify the bucket or buckets that your transferred\n data will be exported from. Optionally, you can also specify a KeyRange value. If\n you choose to export a range, you define the length of the range by providing either an\n inclusive BeginMarker value, an inclusive EndMarker value, or both.\n Ranges are UTF-8 binary sorted.

" + "smithy.api#documentation": "

Defines the Amazon S3 buckets associated with this job.

\n

With IMPORT jobs, you specify the bucket or buckets that your transferred\n data will be imported into.

\n

With EXPORT jobs, you specify the bucket or buckets that your transferred\n data will be exported from. Optionally, you can also specify a KeyRange value. If\n you choose to export a range, you define the length of the range by providing either an\n inclusive BeginMarker value, an inclusive EndMarker value, or both.\n Ranges are UTF-8 binary sorted.

" } }, "OnDeviceServiceConfiguration": { @@ -811,13 +1934,13 @@ "SnowballCapacityPreference": { "target": "com.amazonaws.snowball#SnowballCapacity", "traits": { - "smithy.api#documentation": "

If your job is being created in one of the US regions, you have the option of\n specifying what size Snow device you'd like for this job. In all other regions, Snowballs come\n with 80 TB in storage capacity.

\n \n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" + "smithy.api#documentation": "

If your job is being created in one of the US regions, you have the option of\n specifying what size Snow device you'd like for this job. In all other regions, Snowballs come\n with 80 TB in storage capacity.

\n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" } }, "ShippingOption": { "target": "com.amazonaws.snowball#ShippingOption", "traits": { - "smithy.api#documentation": "

The shipping speed for this job. This speed doesn't dictate how soon you'll get the\n Snow device, rather it represents how quickly the Snow device moves to its destination while\n in transit. Regional shipping speeds are as follows:

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

The shipping speed for this job. This speed doesn't dictate how soon you'll get the\n Snow device, rather it represents how quickly the Snow device moves to its destination while\n in transit. Regional shipping speeds are as follows:

\n " } }, "Notification": { @@ -835,7 +1958,7 @@ "SnowballType": { "target": "com.amazonaws.snowball#SnowballType", "traits": { - "smithy.api#documentation": "

The type of Snow Family devices to use for this job.\n

\n \n

For cluster jobs, Amazon Web Services Snow Family currently supports only the\n EDGE device type.

\n
\n

The type of Amazon Web Services Snow device to use for this job. Currently, the only\n supported device type for cluster jobs is EDGE.

\n

For more information, see Snowball Edge Device\n Options in the Snowball Edge Developer Guide.

\n \n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" + "smithy.api#documentation": "

The type of Snow Family devices to use for this job.\n

\n \n

For cluster jobs, Amazon Web Services Snow Family currently supports only the\n EDGE device type.

\n
\n

The type of Amazon Web Services Snow device to use for this job. Currently, the only\n supported device type for cluster jobs is EDGE.

\n

For more information, see Snowball Edge Device\n Options in the Snowball Edge Developer Guide.

\n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" } }, "ForwardingAddressId": { @@ -853,7 +1976,7 @@ "DeviceConfiguration": { "target": "com.amazonaws.snowball#DeviceConfiguration", "traits": { - "smithy.api#documentation": "

Defines the device configuration for an Snowcone job.

\n \n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" + "smithy.api#documentation": "

Defines the device configuration for an Snowcone job.

\n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" } }, "RemoteManagement": { @@ -868,6 +1991,9 @@ "smithy.api#documentation": "

The ID of the long-term pricing type for the device.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#CreateJobResult": { @@ -911,7 +2037,7 @@ "IsLongTermPricingAutoRenew": { "target": "com.amazonaws.snowball#JavaBoolean", "traits": { - "smithy.api#documentation": "

snowballty

\n

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

" + "smithy.api#documentation": "

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

" } }, "SnowballType": { @@ -920,6 +2046,9 @@ "smithy.api#documentation": "

The type of Snow Family devices to use for the long-term pricing job.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#CreateLongTermPricingResult": { @@ -978,6 +2107,9 @@ "smithy.api#documentation": "

The shipping speed for a particular job. This speed doesn't dictate how soon the device\n is returned to Amazon Web Services. This speed represents how quickly it moves to its\n destination while in transit. Regional shipping speeds are as follows:

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#CreateReturnShippingLabelResult": { @@ -1027,6 +2159,32 @@ "smithy.api#documentation": "

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

" } }, + "com.amazonaws.snowball#DependentService": { + "type": "structure", + "members": { + "ServiceName": { + "target": "com.amazonaws.snowball#ServiceName", + "traits": { + "smithy.api#documentation": "

The name of the dependent service.

" + } + }, + "ServiceVersion": { + "target": "com.amazonaws.snowball#ServiceVersion", + "traits": { + "smithy.api#documentation": "

The version of the dependent service.

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

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

" + } + }, + "com.amazonaws.snowball#DependentServiceList": { + "type": "list", + "member": { + "target": "com.amazonaws.snowball#DependentService" + } + }, "com.amazonaws.snowball#DescribeAddress": { "type": "operation", "input": { @@ -1054,6 +2212,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#DescribeAddressResult": { @@ -1108,6 +2269,9 @@ "smithy.api#documentation": "

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

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#DescribeAddressesResult": { @@ -1154,6 +2318,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#DescribeClusterResult": { @@ -1194,6 +2361,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#DescribeJobResult": { @@ -1246,6 +2416,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#DescribeReturnShippingLabelResult": { @@ -1302,6 +2475,26 @@ } } }, + "com.amazonaws.snowball#EKSOnDeviceServiceConfiguration": { + "type": "structure", + "members": { + "KubernetesVersion": { + "target": "com.amazonaws.snowball#String", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "EKSAnywhereVersion": { + "target": "com.amazonaws.snowball#String", + "traits": { + "smithy.api#documentation": "

The version of EKS Anywhere on the Snow Family device.

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

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

" + } + }, "com.amazonaws.snowball#Ec2AmiResource": { "type": "structure", "members": { @@ -1388,7 +2581,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a link to an Amazon S3 presigned URL for the manifest file associated with the\n specified JobId value. You can access the manifest file for up to 60 minutes\n after this request has been made. To access the manifest file after 60 minutes have passed,\n you'll have to make another call to the GetJobManifest action.

\n\n

The manifest is an encrypted file that you can download after your job enters the\n WithCustomer status. This is the only valid status for calling this API as the\n manifest and UnlockCode code value are used for securing your device and should\n only be used when you have the device. The manifest is decrypted by using the\n UnlockCode code value, when you pass both values to the Snow device through the\n Snowball client when the client is started for the first time.

\n\n\n

As a best practice, we recommend that you don't save a copy of an\n UnlockCode value in the same location as the manifest file for that job. Saving\n these separately helps prevent unauthorized parties from gaining access to the Snow device\n associated with that job.

\n\n\n

The credentials of a given job, including its manifest file and unlock code, expire 360\n days after the job is created.

" + "smithy.api#documentation": "

Returns a link to an Amazon S3 presigned URL for the manifest file associated with the\n specified JobId value. You can access the manifest file for up to 60 minutes\n after this request has been made. To access the manifest file after 60 minutes have passed,\n you'll have to make another call to the GetJobManifest action.

\n

The manifest is an encrypted file that you can download after your job enters the\n WithCustomer status. This is the only valid status for calling this API as the\n manifest and UnlockCode code value are used for securing your device and should\n only be used when you have the device. The manifest is decrypted by using the\n UnlockCode code value, when you pass both values to the Snow device through the\n Snowball client when the client is started for the first time.

\n

As a best practice, we recommend that you don't save a copy of an\n UnlockCode value in the same location as the manifest file for that job. Saving\n these separately helps prevent unauthorized parties from gaining access to the Snow device\n associated with that job.

\n

The credentials of a given job, including its manifest file and unlock code, expire 360\n days after the job is created.

" } }, "com.amazonaws.snowball#GetJobManifestRequest": { @@ -1401,6 +2594,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#GetJobManifestResult": { @@ -1431,7 +2627,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the UnlockCode code value for the specified job. A particular\n UnlockCode value can be accessed for up to 360 days after the associated job\n has been created.

\n\n

The UnlockCode value is a 29-character code with 25 alphanumeric\n characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed\n along with the manifest to the Snow device through the Snowball client when the client is\n started for the first time. The only valid status for calling this API is\n WithCustomer as the manifest and Unlock code values are used for\n securing your device and should only be used when you have the device.

\n\n

As a best practice, we recommend that you don't save a copy of the\n UnlockCode in the same location as the manifest file for that job. Saving these\n separately helps prevent unauthorized parties from gaining access to the Snow device\n associated with that job.

" + "smithy.api#documentation": "

Returns the UnlockCode code value for the specified job. A particular\n UnlockCode value can be accessed for up to 360 days after the associated job\n has been created.

\n

The UnlockCode value is a 29-character code with 25 alphanumeric\n characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed\n along with the manifest to the Snow device through the Snowball client when the client is\n started for the first time. The only valid status for calling this API is\n WithCustomer as the manifest and Unlock code values are used for\n securing your device and should only be used when you have the device.

\n

As a best practice, we recommend that you don't save a copy of the\n UnlockCode in the same location as the manifest file for that job. Saving these\n separately helps prevent unauthorized parties from gaining access to the Snow device\n associated with that job.

" } }, "com.amazonaws.snowball#GetJobUnlockCodeRequest": { @@ -1444,6 +2640,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#GetJobUnlockCodeResult": { @@ -1466,12 +2665,15 @@ "target": "com.amazonaws.snowball#GetSnowballUsageResult" }, "traits": { - "smithy.api#documentation": "

Returns information about the Snow Family service limit for your account, and also the\n number of Snow devices your account has in use.

\n\n

The default service limit for the number of Snow devices that you can have at one time\n is 1. If you want to increase your service limit, contact Amazon Web Services Support.

" + "smithy.api#documentation": "

Returns information about the Snow Family service limit for your account, and also the\n number of Snow devices your account has in use.

\n

The default service limit for the number of Snow devices that you can have at one time\n is 1. If you want to increase your service limit, contact Amazon Web Services Support.

" } }, "com.amazonaws.snowball#GetSnowballUsageRequest": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#input": {} + } }, "com.amazonaws.snowball#GetSnowballUsageResult": { "type": "structure", @@ -1520,6 +2722,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#GetSoftwareUpdatesResult": { @@ -1709,7 +2914,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains job logs. Whenever a Snow device is used to import data into or export data\n out of Amazon S3, you'll have the option of downloading a PDF job report. Job logs are\n returned as a part of the response syntax of the DescribeJob action in the\n JobMetadata data type. The job logs can be accessed for up to 60 minutes after\n this request has been made. To access any of the job logs after 60 minutes have passed, you'll\n have to make another call to the DescribeJob action.

\n\n

For import jobs, the PDF job report becomes available at the end of the import process.\n For export jobs, your job report typically becomes available while the Snow device for your\n job part is being delivered to you.

\n\n

The job report provides you insight into the state of your Amazon S3 data transfer. The\n report includes details about your job or job part for your records.

\n\n

For deeper visibility into the status of your transferred objects, you can look at the\n two associated logs: a success log and a failure log. The logs are saved in comma-separated\n value (CSV) format, and the name of each log includes the ID of the job or job part that the\n log describes.

" + "smithy.api#documentation": "

Contains job logs. Whenever a Snow device is used to import data into or export data\n out of Amazon S3, you'll have the option of downloading a PDF job report. Job logs are\n returned as a part of the response syntax of the DescribeJob action in the\n JobMetadata data type. The job logs can be accessed for up to 60 minutes after\n this request has been made. To access any of the job logs after 60 minutes have passed, you'll\n have to make another call to the DescribeJob action.

\n

For import jobs, the PDF job report becomes available at the end of the import process.\n For export jobs, your job report typically becomes available while the Snow device for your\n job part is being delivered to you.

\n

The job report provides you insight into the state of your Amazon S3 data transfer. The\n report includes details about your job or job part for your records.

\n

For deeper visibility into the status of your transferred objects, you can look at the\n two associated logs: a success log and a failure log. The logs are saved in comma-separated\n value (CSV) format, and the name of each log includes the ID of the job or job part that the\n log describes.

" } }, "com.amazonaws.snowball#JobMetadata": { @@ -1784,7 +2989,7 @@ "SnowballCapacityPreference": { "target": "com.amazonaws.snowball#SnowballCapacity", "traits": { - "smithy.api#documentation": "

The Snow device capacity preference for this job, specified at job creation. In US\n regions, you can choose between 50 TB and 80 TB Snowballs. All other regions use 80 TB\n capacity Snowballs.

\n \n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" + "smithy.api#documentation": "

The Snow device capacity preference for this job, specified at job creation. In US\n regions, you can choose between 50 TB and 80 TB Snowballs. All other regions use 80 TB\n capacity Snowballs.

\n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" } }, "Notification": { @@ -2109,6 +3314,9 @@ "smithy.api#documentation": "

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

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#ListClusterJobsResult": { @@ -2166,6 +3374,9 @@ "smithy.api#documentation": "

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

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#ListClustersResult": { @@ -2226,6 +3437,9 @@ "smithy.api#documentation": "

HTTP requests are stateless. To identify what object comes \"next\" in the list of\n compatible images, you can specify a value for NextToken as the starting point\n for your list of returned images.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#ListCompatibleImagesResult": { @@ -2283,6 +3497,9 @@ "smithy.api#documentation": "

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

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#ListJobsResult": { @@ -2352,6 +3569,9 @@ "smithy.api#documentation": "

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

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#ListLongTermPricingResult": { @@ -2371,6 +3591,90 @@ } } }, + "com.amazonaws.snowball#ListServiceVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.snowball#ListServiceVersionsRequest" + }, + "output": { + "target": "com.amazonaws.snowball#ListServiceVersionsResult" + }, + "errors": [ + { + "target": "com.amazonaws.snowball#InvalidNextTokenException" + }, + { + "target": "com.amazonaws.snowball#InvalidResourceException" + } + ], + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "com.amazonaws.snowball#ListServiceVersionsRequest": { + "type": "structure", + "members": { + "ServiceName": { + "target": "com.amazonaws.snowball#ServiceName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + }, + "DependentServices": { + "target": "com.amazonaws.snowball#DependentServiceList", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "MaxResults": { + "target": "com.amazonaws.snowball#ListLimit", + "traits": { + "smithy.api#documentation": "

The maximum number of ListServiceVersions objects to return.

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

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

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.snowball#ListServiceVersionsResult": { + "type": "structure", + "members": { + "ServiceVersions": { + "target": "com.amazonaws.snowball#ServiceVersionList", + "traits": { + "smithy.api#documentation": "

A list of supported versions.

", + "smithy.api#required": {} + } + }, + "ServiceName": { + "target": "com.amazonaws.snowball#ServiceName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + }, + "DependentServices": { + "target": "com.amazonaws.snowball#DependentServiceList", + "traits": { + "smithy.api#documentation": "

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

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

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

" + } + } + } + }, "com.amazonaws.snowball#Long": { "type": "long", "traits": { @@ -2511,7 +3815,7 @@ "SnsTopicARN": { "target": "com.amazonaws.snowball#SnsTopicARN", "traits": { - "smithy.api#documentation": "

The new SNS TopicArn that you want to associate with this job. You can\n create Amazon Resource Names (ARNs) for topics by using the CreateTopic Amazon SNS API\n action.

\n\n

You can subscribe email addresses to an Amazon SNS topic through the Amazon Web Services Management Console, or by using the Subscribe Amazon Simple Notification\n Service (Amazon SNS) API action.

" + "smithy.api#documentation": "

The new SNS TopicArn that you want to associate with this job. You can\n create Amazon Resource Names (ARNs) for topics by using the CreateTopic Amazon SNS API\n action.

\n

You can subscribe email addresses to an Amazon SNS topic through the Amazon Web Services Management Console, or by using the Subscribe Amazon Simple Notification\n Service (Amazon SNS) API action.

" } }, "JobStatesToNotify": { @@ -2529,7 +3833,7 @@ } }, "traits": { - "smithy.api#documentation": "

The Amazon Simple Notification Service (Amazon SNS) notification settings associated\n with a specific job. The Notification object is returned as a part of the\n response syntax of the DescribeJob action in the JobMetadata data\n type.

\n\n

When the notification settings are defined during job creation, you can choose to\n notify based on a specific set of job states using the JobStatesToNotify array of\n strings, or you can specify that you want to have Amazon SNS notifications sent out for all\n job states with NotifyAll set to true.

" + "smithy.api#documentation": "

The Amazon Simple Notification Service (Amazon SNS) notification settings associated\n with a specific job. The Notification object is returned as a part of the\n response syntax of the DescribeJob action in the JobMetadata data\n type.

\n

When the notification settings are defined during job creation, you can choose to\n notify based on a specific set of job states using the JobStatesToNotify array of\n strings, or you can specify that you want to have Amazon SNS notifications sent out for all\n job states with NotifyAll set to true.

" } }, "com.amazonaws.snowball#OnDeviceServiceConfiguration": { @@ -2546,6 +3850,12 @@ "traits": { "smithy.api#documentation": "

Represents the Storage Gateway service Tape Gateway type on a Snow Family device.

" } + }, + "EKSOnDeviceService": { + "target": "com.amazonaws.snowball#EKSOnDeviceServiceConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration of EKS Anywhere on the Snow Family device.

" + } } }, "traits": { @@ -2633,6 +3943,43 @@ "target": "com.amazonaws.snowball#S3Resource" } }, + "com.amazonaws.snowball#ServiceName": { + "type": "enum", + "members": { + "KUBERNETES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KUBERNETES" + } + }, + "EKS_ANYWHERE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EKS_ANYWHERE" + } + } + } + }, + "com.amazonaws.snowball#ServiceVersion": { + "type": "structure", + "members": { + "Version": { + "target": "com.amazonaws.snowball#String", + "traits": { + "smithy.api#documentation": "

The version number of the requested service.

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

The version of the requested service.

" + } + }, + "com.amazonaws.snowball#ServiceVersionList": { + "type": "list", + "member": { + "target": "com.amazonaws.snowball#ServiceVersion" + } + }, "com.amazonaws.snowball#Shipment": { "type": "structure", "members": { @@ -2676,7 +4023,7 @@ "ShippingOption": { "target": "com.amazonaws.snowball#ShippingOption", "traits": { - "smithy.api#documentation": "

The shipping speed for a particular job. This speed doesn't dictate how soon you'll get\n the Snow device from the job's creation date. This speed represents how quickly it moves to\n its destination while in transit. Regional shipping speeds are as follows:

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

The shipping speed for a particular job. This speed doesn't dictate how soon you'll get\n the Snow device from the job's creation date. This speed represents how quickly it moves to\n its destination while in transit. Regional shipping speeds are as follows:

\n " } }, "InboundShipment": { @@ -2799,16 +4146,16 @@ "smithy.api#enumValue": "T14" } }, - "NO_PREFERENCE": { + "T32": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "NoPreference" + "smithy.api#enumValue": "T32" } }, - "T32": { + "NO_PREFERENCE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "T32" + "smithy.api#enumValue": "NoPreference" } } } @@ -3103,6 +4450,9 @@ "smithy.api#documentation": "

The updated ID for the forwarding address for a cluster. This field is not\n supported in most regions.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#UpdateClusterResult": { @@ -3196,7 +4546,7 @@ "SnowballCapacityPreference": { "target": "com.amazonaws.snowball#SnowballCapacity", "traits": { - "smithy.api#documentation": "

The updated SnowballCapacityPreference of this job's JobMetadata object. The 50 TB Snowballs are only available in the US\n regions.

\n \n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" + "smithy.api#documentation": "

The updated SnowballCapacityPreference of this job's JobMetadata object. The 50 TB Snowballs are only available in the US\n regions.

\n

For more information, see\n \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide or\n \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow\n Family Devices and Capacity) in the Snowcone User Guide.

" } }, "ForwardingAddressId": { @@ -3205,6 +4555,9 @@ "smithy.api#documentation": "

The updated ID for the forwarding address for a job. This field is not\n supported in most regions.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#UpdateJobResult": { @@ -3248,6 +4601,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#UpdateJobShipmentStateResult": { @@ -3293,6 +4649,9 @@ "smithy.api#documentation": "

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

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.snowball#UpdateLongTermPricingResult": {