diff --git a/CHANGELOG.md b/CHANGELOG.md index 53c5bd1ee8..92a2fc9c75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ +Release v1.44.132 (2022-11-07) +=== + +### Service Client Updates +* `service/athena`: Updates service API and documentation + * Adds support for using Query Result Reuse +* `service/autoscaling`: Updates service API and documentation + * This release adds support for two new attributes for attribute-based instance type selection - NetworkBandwidthGbps and AllowedInstanceTypes. +* `service/cloudtrail`: Updates service API and documentation + * This release includes support for configuring a delegated administrator to manage an AWS Organizations organization CloudTrail trails and event data stores, and AWS Key Management Service encryption of CloudTrail Lake event data stores. +* `service/ec2`: Updates service API and documentation + * This release adds support for two new attributes for attribute-based instance type selection - NetworkBandwidthGbps and AllowedInstanceTypes. +* `service/elasticache`: Updates service API and documentation + * Added support for IPv6 and dual stack for Memcached and Redis clusters. Customers can now launch new Redis and Memcached clusters with IPv6 and dual stack networking support. +* `service/mediaconvert`: Updates service API and documentation + * The AWS Elemental MediaConvert SDK has added support for setting the SDR reference white point for HDR conversions and conversion of HDR10 to DolbyVision without mastering metadata. +* `service/models.lex.v2`: Updates service API, documentation, and paginators +* `service/ssm`: Updates service API and documentation + * This release includes support for applying a CloudWatch alarm to multi account multi region Systems Manager Automation +* `service/wafv2`: Updates service documentation +* `service/wellarchitected`: Updates service API, documentation, and paginators +* `service/workspaces`: Updates service API and documentation + * This release adds protocols attribute to workspaces properties data type. This enables customers to migrate workspaces from PC over IP (PCoIP) to WorkSpaces Streaming Protocol (WSP) using create and modify workspaces public APIs. + Release v1.44.131 (2022-11-04) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index f3a6b9a350..340e4c26b4 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -8454,6 +8454,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, @@ -10323,6 +10326,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 7e8dd0c96a..011925b5bb 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.131" +const SDKVersion = "1.44.132" diff --git a/models/apis/athena/2017-05-18/api-2.json b/models/apis/athena/2017-05-18/api-2.json index a624ccfe94..5afd72e4f3 100644 --- a/models/apis/athena/2017-05-18/api-2.json +++ b/models/apis/athena/2017-05-18/api-2.json @@ -236,7 +236,8 @@ "output":{"shape":"GetQueryResultsOutput"}, "errors":[ {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"} ] }, "GetQueryRuntimeStatistics":{ @@ -519,6 +520,11 @@ "S3AclOption":{"shape":"S3AclOption"} } }, + "Age":{ + "type":"integer", + "max":10080, + "min":0 + }, "AmazonResourceName":{ "type":"string", "max":1011, @@ -1365,6 +1371,7 @@ "Query":{"shape":"QueryString"}, "StatementType":{"shape":"StatementType"}, "ResultConfiguration":{"shape":"ResultConfiguration"}, + "ResultReuseConfiguration":{"shape":"ResultReuseConfiguration"}, "QueryExecutionContext":{"shape":"QueryExecutionContext"}, "Status":{"shape":"QueryExecutionStatus"}, "Statistics":{"shape":"QueryExecutionStatistics"}, @@ -1415,7 +1422,8 @@ "TotalExecutionTimeInMillis":{"shape":"Long"}, "QueryQueueTimeInMillis":{"shape":"Long"}, "QueryPlanningTimeInMillis":{"shape":"Long"}, - "ServiceProcessingTimeInMillis":{"shape":"Long"} + "ServiceProcessingTimeInMillis":{"shape":"Long"}, + "ResultReuseInformation":{"shape":"ResultReuseInformation"} } }, "QueryExecutionStatus":{ @@ -1522,6 +1530,27 @@ } }, "ResultOutputLocation":{"type":"string"}, + "ResultReuseByAgeConfiguration":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{"shape":"Boolean"}, + "MaxAgeInMinutes":{"shape":"Age"} + } + }, + "ResultReuseConfiguration":{ + "type":"structure", + "members":{ + "ResultReuseByAgeConfiguration":{"shape":"ResultReuseByAgeConfiguration"} + } + }, + "ResultReuseInformation":{ + "type":"structure", + "required":["ReusedPreviousResult"], + "members":{ + "ReusedPreviousResult":{"shape":"Boolean"} + } + }, "ResultSet":{ "type":"structure", "members":{ @@ -1561,7 +1590,8 @@ "QueryExecutionContext":{"shape":"QueryExecutionContext"}, "ResultConfiguration":{"shape":"ResultConfiguration"}, "WorkGroup":{"shape":"WorkGroupName"}, - "ExecutionParameters":{"shape":"ExecutionParameters"} + "ExecutionParameters":{"shape":"ExecutionParameters"}, + "ResultReuseConfiguration":{"shape":"ResultReuseConfiguration"} } }, "StartQueryExecutionOutput":{ diff --git a/models/apis/athena/2017-05-18/docs-2.json b/models/apis/athena/2017-05-18/docs-2.json index 76a3c93140..612a1c02be 100644 --- a/models/apis/athena/2017-05-18/docs-2.json +++ b/models/apis/athena/2017-05-18/docs-2.json @@ -48,6 +48,12 @@ "ResultConfigurationUpdates$AclConfiguration": "

The ACL configuration for the query results.

" } }, + "Age": { + "base": null, + "refs": { + "ResultReuseByAgeConfiguration$MaxAgeInMinutes": "

Specifies, in minutes, the maximum age of a previous query result that Athena should consider for reuse. The default is 60.

" + } + }, "AmazonResourceName": { "base": null, "refs": { @@ -104,7 +110,9 @@ "base": null, "refs": { "AthenaError$Retryable": "

True if the query might succeed if resubmitted.

", - "ColumnInfo$CaseSensitive": "

Indicates whether values in the column are case-sensitive.

" + "ColumnInfo$CaseSensitive": "

Indicates whether values in the column are case-sensitive.

", + "ResultReuseByAgeConfiguration$Enabled": "

True if previous query results can be reused when the query is run; otherwise, false. The default is false.

", + "ResultReuseInformation$ReusedPreviousResult": "

True if a previous query result was reused; false if the result was generated from a new run of the query.

" } }, "BoxedBoolean": { @@ -970,6 +978,25 @@ "ResultConfigurationUpdates$OutputLocation": "

The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. For more information, see Query Results If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup. The \"workgroup settings override\" is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" } }, + "ResultReuseByAgeConfiguration": { + "base": "

Specifies whether previous query results are reused, and if so, their maximum age.

", + "refs": { + "ResultReuseConfiguration$ResultReuseByAgeConfiguration": "

Specifies whether previous query results are reused, and if so, their maximum age.

" + } + }, + "ResultReuseConfiguration": { + "base": "

Specifies the query result reuse behavior for the query.

", + "refs": { + "QueryExecution$ResultReuseConfiguration": "

Specifies the query result reuse behavior that was used for the query.

", + "StartQueryExecutionInput$ResultReuseConfiguration": "

Specifies the query result reuse behavior for the query.

" + } + }, + "ResultReuseInformation": { + "base": "

Contains information about whether the result of a previous query was reused.

", + "refs": { + "QueryExecutionStatistics$ResultReuseInformation": "

Contains information about whether previous query results were reused for the query.

" + } + }, "ResultSet": { "base": "

The metadata and rows that make up a query result set. The metadata describes the column structure and data types. To return a ResultSet object, use GetQueryResults.

", "refs": { diff --git a/models/apis/athena/2017-05-18/endpoint-rule-set-1.json b/models/apis/athena/2017-05-18/endpoint-rule-set-1.json new file mode 100644 index 0000000000..688cf5df47 --- /dev/null +++ b/models/apis/athena/2017-05-18/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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://athena-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://athena-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": [], + "endpoint": { + "url": "https://athena.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://athena.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/athena/2017-05-18/endpoint-tests-1.json b/models/apis/athena/2017-05-18/endpoint-tests-1.json new file mode 100644 index 0000000000..9c0dad8db5 --- /dev/null +++ b/models/apis/athena/2017-05-18/endpoint-tests-1.json @@ -0,0 +1,1491 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://athena.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://athena.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", + "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": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", + "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": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/autoscaling/2011-01-01/api-2.json b/models/apis/autoscaling/2011-01-01/api-2.json index a0c5c5d184..ff5cd3d58c 100644 --- a/models/apis/autoscaling/2011-01-01/api-2.json +++ b/models/apis/autoscaling/2011-01-01/api-2.json @@ -1030,6 +1030,17 @@ "type":"list", "member":{"shape":"Alarm"} }, + "AllowedInstanceType":{ + "type":"string", + "max":30, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\*]+" + }, + "AllowedInstanceTypes":{ + "type":"list", + "member":{"shape":"AllowedInstanceType"}, + "max":400 + }, "AlreadyExistsFault":{ "type":"structure", "members":{ @@ -2099,7 +2110,9 @@ "AcceleratorCount":{"shape":"AcceleratorCountRequest"}, "AcceleratorManufacturers":{"shape":"AcceleratorManufacturers"}, "AcceleratorNames":{"shape":"AcceleratorNames"}, - "AcceleratorTotalMemoryMiB":{"shape":"AcceleratorTotalMemoryMiBRequest"} + "AcceleratorTotalMemoryMiB":{"shape":"AcceleratorTotalMemoryMiBRequest"}, + "NetworkBandwidthGbps":{"shape":"NetworkBandwidthGbpsRequest"}, + "AllowedInstanceTypes":{"shape":"AllowedInstanceTypes"} } }, "InstanceReusePolicy":{ @@ -2532,6 +2545,13 @@ } }, "MonitoringEnabled":{"type":"boolean"}, + "NetworkBandwidthGbpsRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"NullablePositiveDouble"}, + "Max":{"shape":"NullablePositiveDouble"} + } + }, "NetworkInterfaceCountRequest":{ "type":"structure", "members":{ diff --git a/models/apis/autoscaling/2011-01-01/docs-2.json b/models/apis/autoscaling/2011-01-01/docs-2.json index df5d78559f..8c0f4e23f2 100644 --- a/models/apis/autoscaling/2011-01-01/docs-2.json +++ b/models/apis/autoscaling/2011-01-01/docs-2.json @@ -10,9 +10,9 @@ "CancelInstanceRefresh": "

Cancels an instance refresh operation in progress. Cancellation does not roll back any replacements that have already been completed, but it prevents new replacements from being started.

This operation is part of the instance refresh feature in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group after you make configuration changes.

", "CompleteLifecycleAction": "

Completes the lifecycle action for the specified token or instance with the specified result.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a launch template or launch configuration with a user data script that runs while an instance is in a wait state due to a lifecycle hook.

  2. (Optional) Create a Lambda function and a rule that allows Amazon EventBridge to invoke your Lambda function when an instance is put into a wait state due to a lifecycle hook.

  3. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  4. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  5. If you need more time, record the lifecycle action heartbeat to keep the instance in a wait state.

  6. If you finish before the timeout period ends, send a callback by using the CompleteLifecycleAction API call.

For more information, see Amazon EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide.

", "CreateAutoScalingGroup": "

We strongly recommend using a launch template when calling this operation to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2.

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

For introductory exercises for creating an Auto Scaling group, see Getting started with Amazon EC2 Auto Scaling and Tutorial: Set up a scaled and load-balanced application in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto Scaling groups in the Amazon EC2 Auto Scaling User Guide.

Every Auto Scaling group has three size properties (DesiredCapacity, MaxSize, and MinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.

", - "CreateLaunchConfiguration": "

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

For more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.

", + "CreateLaunchConfiguration": "

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

For more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a launch template or a launch configuration. We strongly recommend that you do not use launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For information about using launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

", "CreateOrUpdateTags": "

Creates or updates tags for the specified Auto Scaling group.

When you specify a tag with a key that already exists, the operation overwrites the previous tag definition, and you do not get an error message.

For more information, see Tag Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.

", - "DeleteAutoScalingGroup": "

Deletes the specified Auto Scaling group.

If the group has instances or scaling activities in progress, you must specify the option to force the deletion in order for it to succeed.

If the group has policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action.

To remove instances from the Auto Scaling group before deleting it, call the DetachInstances API with the list of instances and the option to decrement the desired capacity. This ensures that Amazon EC2 Auto Scaling does not launch replacement instances.

To terminate all instances before deleting the Auto Scaling group, call the UpdateAutoScalingGroup API and set the minimum size and desired capacity of the Auto Scaling group to zero.

", + "DeleteAutoScalingGroup": "

Deletes the specified Auto Scaling group.

If the group has instances or scaling activities in progress, you must specify the option to force the deletion in order for it to succeed. The force delete operation will also terminate the EC2 instances. If the group has a warm pool, the force delete option also deletes the warm pool.

To remove instances from the Auto Scaling group before deleting it, call the DetachInstances API with the list of instances and the option to decrement the desired capacity. This ensures that Amazon EC2 Auto Scaling does not launch replacement instances.

To terminate all instances before deleting the Auto Scaling group, call the UpdateAutoScalingGroup API and set the minimum size and desired capacity of the Auto Scaling group to zero.

If the group has scaling policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action.

For more information, see Delete your Auto Scaling infrastructure in the Amazon EC2 Auto Scaling User Guide.

", "DeleteLaunchConfiguration": "

Deletes the specified launch configuration.

The launch configuration must not be attached to an Auto Scaling group. When this call completes, the launch configuration is no longer available for use.

", "DeleteLifecycleHook": "

Deletes the specified lifecycle hook.

If there are any outstanding lifecycle actions, they are completed first (ABANDON for launching instances, CONTINUE for terminating instances).

", "DeleteNotificationConfiguration": "

Deletes the specified notification.

", @@ -68,7 +68,7 @@ "AcceleratorCountRequest": { "base": "

Specifies the minimum and maximum for the AcceleratorCount object when you specify InstanceRequirements for an Auto Scaling group.

", "refs": { - "InstanceRequirements$AcceleratorCount": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) for an instance type.

To exclude accelerator-enabled instance types, set Max to 0.

Default: No minimum or maximum

" + "InstanceRequirements$AcceleratorCount": "

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) for an instance type.

To exclude accelerator-enabled instance types, set Max to 0.

Default: No minimum or maximum limits

" } }, "AcceleratorManufacturer": { @@ -98,7 +98,7 @@ "AcceleratorTotalMemoryMiBRequest": { "base": "

Specifies the minimum and maximum for the AcceleratorTotalMemoryMiB object when you specify InstanceRequirements for an Auto Scaling group.

", "refs": { - "InstanceRequirements$AcceleratorTotalMemoryMiB": "

The minimum and maximum total memory size for the accelerators on an instance type, in MiB.

Default: No minimum or maximum

" + "InstanceRequirements$AcceleratorTotalMemoryMiB": "

The minimum and maximum total memory size for the accelerators on an instance type, in MiB.

Default: No minimum or maximum limits

" } }, "AcceleratorType": { @@ -175,6 +175,18 @@ "ScalingPolicy$Alarms": "

The CloudWatch alarms related to the policy.

" } }, + "AllowedInstanceType": { + "base": null, + "refs": { + "AllowedInstanceTypes$member": null + } + }, + "AllowedInstanceTypes": { + "base": null, + "refs": { + "InstanceRequirements$AllowedInstanceTypes": "

The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.

You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

Default: All instance types

" + } + }, "AlreadyExistsFault": { "base": "

You already have an Auto Scaling group or launch configuration with this name.

", "refs": { @@ -341,7 +353,7 @@ "BaselineEbsBandwidthMbpsRequest": { "base": "

Specifies the minimum and maximum for the BaselineEbsBandwidthMbps object when you specify InstanceRequirements for an Auto Scaling group.

", "refs": { - "InstanceRequirements$BaselineEbsBandwidthMbps": "

The minimum and maximum baseline bandwidth performance for an instance type, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide for Linux Instances.

Default: No minimum or maximum

" + "InstanceRequirements$BaselineEbsBandwidthMbps": "

The minimum and maximum baseline bandwidth performance for an instance type, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide for Linux Instances.

Default: No minimum or maximum limits

" } }, "BatchDeleteScheduledActionAnswer": { @@ -458,8 +470,8 @@ "ClassicLinkVPCSecurityGroups": { "base": null, "refs": { - "CreateLaunchConfigurationType$ClassicLinkVPCSecurityGroups": "

EC2-Classic retires on August 15, 2022. This property is not supported after that date.

The IDs of one or more security groups for the specified ClassicLink-enabled VPC.

If you specify the ClassicLinkVPCId property, you must specify ClassicLinkVPCSecurityGroups.

", - "LaunchConfiguration$ClassicLinkVPCSecurityGroups": "

EC2-Classic retires on August 15, 2022. This property is not supported after that date.

The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId.

" + "CreateLaunchConfigurationType$ClassicLinkVPCSecurityGroups": "

Available for backward compatibility.

", + "LaunchConfiguration$ClassicLinkVPCSecurityGroups": "

Available for backward compatibility.

" } }, "CompleteLifecycleActionAnswer": { @@ -795,7 +807,7 @@ "ExcludedInstanceTypes": { "base": null, "refs": { - "InstanceRequirements$ExcludedInstanceTypes": "

Lists which instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*). The following are examples: c5*, m5a.*, r*, *3*.

For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types.

Default: No excluded instance types

" + "InstanceRequirements$ExcludedInstanceTypes": "

The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance family, type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.

If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.

Default: No excluded instance types

" } }, "ExecutePolicyType": { @@ -1010,9 +1022,9 @@ } }, "InstanceRequirements": { - "base": "

When you specify multiple parameters, you get instance types that satisfy all of the specified parameters. If you specify multiple values for a parameter, you get instance types that satisfy any of the specified values.

Represents requirements for the types of instances that can be launched. You must specify VCpuCount and MemoryMiB, but all other parameters are optional. For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

", + "base": "

The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 Auto Scaling can identify matching instance types, you can use one of the following parameters, but not both in the same request:

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see Preview instance types with specified attributes in the Amazon EC2 User Guide for Linux Instances.

", "refs": { - "LaunchTemplateOverrides$InstanceRequirements": "

The instance requirements. When you specify instance requirements, Amazon EC2 Auto Scaling finds instance types that satisfy your requirements, and then uses your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of specific instance types.

" + "LaunchTemplateOverrides$InstanceRequirements": "

The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.

You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template.

If you specify InstanceRequirements, you can't specify InstanceType.

" } }, "InstanceReusePolicy": { @@ -1030,7 +1042,7 @@ } }, "InstancesDistribution": { - "base": "

Describes an instances distribution for an Auto Scaling group.

", + "base": "

Use this structure to specify the distribution of On-Demand Instances and Spot Instances and the allocation strategies used to fulfill On-Demand and Spot capacities for a mixed instances policy.

", "refs": { "MixedInstancesPolicy$InstancesDistribution": "

The instances distribution.

" } @@ -1091,7 +1103,7 @@ } }, "LaunchTemplate": { - "base": "

Describes a launch template and overrides. You specify these properties as part of a mixed instances policy.

", + "base": "

Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.

", "refs": { "MixedInstancesPolicy$LaunchTemplate": "

One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.

" } @@ -1103,7 +1115,7 @@ } }, "LaunchTemplateOverrides": { - "base": "

Describes an override for a launch template. For more information, see Configuring overrides in the Amazon EC2 Auto Scaling User Guide.

", + "base": "

Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:

Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.

After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.

", "refs": { "Overrides$member": null } @@ -1116,8 +1128,8 @@ "CreateAutoScalingGroupType$LaunchTemplate": "

Information used to specify the launch template and version to use to launch instances.

Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).

The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Creating a launch template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

", "DesiredConfiguration$LaunchTemplate": null, "Instance$LaunchTemplate": "

The launch template for the instance.

", - "LaunchTemplate$LaunchTemplateSpecification": "

The launch template to use.

", - "LaunchTemplateOverrides$LaunchTemplateSpecification": "

Provides a launch template for the specified instance type or instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed instances policy. For more information, see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User Guide.

", + "LaunchTemplate$LaunchTemplateSpecification": "

The launch template.

", + "LaunchTemplateOverrides$LaunchTemplateSpecification": "

Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the LaunchTemplate definition. For more information, see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User Guide.

You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the LaunchTemplate definition count towards this limit.

", "UpdateAutoScalingGroupType$LaunchTemplate": "

The launch template and version to use to specify the updates. If you specify LaunchTemplate in your update request, you can't specify LaunchConfigurationName or MixedInstancesPolicy.

" } }, @@ -1296,7 +1308,7 @@ "MemoryGiBPerVCpuRequest": { "base": "

Specifies the minimum and maximum for the MemoryGiBPerVCpu object when you specify InstanceRequirements for an Auto Scaling group.

", "refs": { - "InstanceRequirements$MemoryGiBPerVCpu": "

The minimum and maximum amount of memory per vCPU for an instance type, in GiB.

Default: No minimum or maximum

" + "InstanceRequirements$MemoryGiBPerVCpu": "

The minimum and maximum amount of memory per vCPU for an instance type, in GiB.

Default: No minimum or maximum limits

" } }, "MemoryMiBRequest": { @@ -1449,16 +1461,16 @@ "MixedInstanceSpotPrice": { "base": null, "refs": { - "InstancesDistribution$SpotMaxPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. If you keep the value at its default (unspecified), Amazon EC2 Auto Scaling uses the On-Demand price as the maximum Spot price. To remove a value that you previously set, include the property but specify an empty string (\"\") for the value.

If your maximum price is lower than the Spot price for the instance types that you selected, your Spot Instances are not launched.

Valid Range: Minimum value of 0.001

" + "InstancesDistribution$SpotMaxPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. If your maximum price is lower than the Spot price for the instance types that you selected, your Spot Instances are not launched. We do not recommend specifying a maximum price because it can lead to increased interruptions. When Spot Instances launch, you pay the current Spot price. To remove a maximum price that you previously set, include the property but specify an empty string (\"\") for the value.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.

Valid Range: Minimum value of 0.001

" } }, "MixedInstancesPolicy": { - "base": "

Describes a mixed instances policy. A mixed instances policy contains the instance types that Amazon EC2 Auto Scaling can launch and other information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

", + "base": "

Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.

A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

", "refs": { "AutoScalingGroup$MixedInstancesPolicy": "

The mixed instances policy for the group.

", - "CreateAutoScalingGroupType$MixedInstancesPolicy": "

An embedded object that specifies a mixed instances policy.

For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

", + "CreateAutoScalingGroupType$MixedInstancesPolicy": "

The mixed instances policy. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

", "DesiredConfiguration$MixedInstancesPolicy": null, - "UpdateAutoScalingGroupType$MixedInstancesPolicy": "

An embedded object that specifies a mixed instances policy. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

" + "UpdateAutoScalingGroupType$MixedInstancesPolicy": "

The mixed instances policy. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

" } }, "MonitoringEnabled": { @@ -1467,10 +1479,16 @@ "InstanceMonitoring$Enabled": "

If true, detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

" } }, + "NetworkBandwidthGbpsRequest": { + "base": "

Specifies the minimum and maximum for the NetworkBandwidthGbps object when you specify InstanceRequirements for an Auto Scaling group.

Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see Available instance bandwidth in the Amazon EC2 User Guide for Linux Instances.

", + "refs": { + "InstanceRequirements$NetworkBandwidthGbps": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

Default: No minimum or maximum limits

" + } + }, "NetworkInterfaceCountRequest": { "base": "

Specifies the minimum and maximum for the NetworkInterfaceCount object when you specify InstanceRequirements for an Auto Scaling group.

", "refs": { - "InstanceRequirements$NetworkInterfaceCount": "

The minimum and maximum number of network interfaces for an instance type.

Default: No minimum or maximum

" + "InstanceRequirements$NetworkInterfaceCount": "

The minimum and maximum number of network interfaces for an instance type.

Default: No minimum or maximum limits

" } }, "NoDevice": { @@ -1516,6 +1534,8 @@ "refs": { "MemoryGiBPerVCpuRequest$Min": "

The memory minimum in GiB.

", "MemoryGiBPerVCpuRequest$Max": "

The memory maximum in GiB.

", + "NetworkBandwidthGbpsRequest$Min": "

The minimum amount of network bandwidth, in gigabits per second (Gbps).

", + "NetworkBandwidthGbpsRequest$Max": "

The maximum amount of network bandwidth, in gigabits per second (Gbps).

", "TotalLocalStorageGBRequest$Min": "

The storage minimum in GB.

", "TotalLocalStorageGBRequest$Max": "

The storage maximum in GB.

" } @@ -1566,7 +1586,7 @@ "Overrides": { "base": null, "refs": { - "LaunchTemplate$Overrides": "

Any properties that you specify override the same properties in the launch template. If not provided, Amazon EC2 Auto Scaling uses the instance type or instance type requirements specified in the launch template when it launches an instance.

The overrides can include either one or more instance types or a set of instance requirements, but not both.

" + "LaunchTemplate$Overrides": "

Any properties that you specify override the same properties in the launch template.

" } }, "PoliciesType": { @@ -2140,7 +2160,7 @@ "TotalLocalStorageGBRequest": { "base": "

Specifies the minimum and maximum for the TotalLocalStorageGB object when you specify InstanceRequirements for an Auto Scaling group.

", "refs": { - "InstanceRequirements$TotalLocalStorageGB": "

The minimum and maximum total local storage size for an instance type, in GB.

Default: No minimum or maximum

" + "InstanceRequirements$TotalLocalStorageGB": "

The minimum and maximum total local storage size for an instance type, in GB.

Default: No minimum or maximum limits

" } }, "UpdateAutoScalingGroupType": { @@ -2319,7 +2339,7 @@ "CreateLaunchConfigurationType$LaunchConfigurationName": "

The name of the launch configuration. This name must be unique per Region per account.

", "CreateLaunchConfigurationType$ImageId": "

The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Finding a Linux AMI in the Amazon EC2 User Guide for Linux Instances.

If you specify InstanceId, an ImageId is not required.

", "CreateLaunchConfigurationType$KeyName": "

The name of the key pair. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon EC2 User Guide for Linux Instances.

", - "CreateLaunchConfigurationType$ClassicLinkVPCId": "

EC2-Classic retires on August 15, 2022. This property is not supported after that date.

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances.

", + "CreateLaunchConfigurationType$ClassicLinkVPCId": "

Available for backward compatibility.

", "CreateLaunchConfigurationType$InstanceType": "

Specifies the instance type of the EC2 instance. For information about available instance types, see Available instance types in the Amazon EC2 User Guide for Linux Instances.

If you specify InstanceId, an InstanceType is not required.

", "CreateLaunchConfigurationType$KernelId": "

The ID of the kernel associated with the AMI.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide for Linux Instances.

", "CreateLaunchConfigurationType$RamdiskId": "

The ID of the RAM disk to select.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide for Linux Instances.

", @@ -2365,13 +2385,13 @@ "LaunchConfiguration$LaunchConfigurationName": "

The name of the launch configuration.

", "LaunchConfiguration$ImageId": "

The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances. For more information, see Find a Linux AMI in the Amazon EC2 User Guide for Linux Instances.

", "LaunchConfiguration$KeyName": "

The name of the key pair.

For more information, see Amazon EC2 Key Pairs in the Amazon EC2 User Guide for Linux Instances.

", - "LaunchConfiguration$ClassicLinkVPCId": "

EC2-Classic retires on August 15, 2022. This property is not supported after that date.

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.

", + "LaunchConfiguration$ClassicLinkVPCId": "

Available for backward compatibility.

", "LaunchConfiguration$InstanceType": "

The instance type for the instances. For information about available instance types, see Available instance types in the Amazon EC2 User Guide for Linux Instances.

", "LaunchConfiguration$KernelId": "

The ID of the kernel associated with the AMI.

", "LaunchConfiguration$RamdiskId": "

The ID of the RAM disk associated with the AMI.

", "LaunchConfigurationNameType$LaunchConfigurationName": "

The name of the launch configuration.

", "LaunchConfigurationNames$member": null, - "LaunchTemplateOverrides$InstanceType": "

The instance type, such as m3.xlarge. You must use an instance type that is supported in your requested Region and Availability Zones. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

", + "LaunchTemplateOverrides$InstanceType": "

The instance type, such as m3.xlarge. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

You can specify up to 40 instance types per Auto Scaling group.

", "LaunchTemplateSpecification$LaunchTemplateId": "

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

", "LaunchTemplateSpecification$Version": "

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

", "LifecycleHook$AutoScalingGroupName": "

The name of the Auto Scaling group for the lifecycle hook.

", @@ -2441,7 +2461,7 @@ "CreateAutoScalingGroupType$HealthCheckType": "

The service to use for the health checks. The valid values are EC2 (default) and ELB. If you configure an Auto Scaling group to use load balancer (ELB) health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks. For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

", "Instance$HealthStatus": "

The last reported health status of the instance. \"Healthy\" means that the instance is healthy and should remain in service. \"Unhealthy\" means that the instance is unhealthy and that Amazon EC2 Auto Scaling should terminate and replace it.

", "Instance$WeightedCapacity": "

The number of capacity units contributed by the instance based on its instance type.

Valid Range: Minimum value of 1. Maximum value of 999.

", - "LaunchTemplateOverrides$WeightedCapacity": "

The number of capacity units provided by the instance type specified in InstanceType in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see Configuring instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1–999.

", + "LaunchTemplateOverrides$WeightedCapacity": "

If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see Configuring instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1–999.

If you specify a value for WeightedCapacity for one instance type, you must specify a value for WeightedCapacity for all of them.

Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize, and MinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.

", "PutScalingPolicyType$MetricAggregationType": "

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

Valid only if the policy type is StepScaling.

", "ScalingPolicy$MetricAggregationType": "

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average.

", "SetInstanceHealthQuery$HealthStatus": "

The health status of the instance. Set to Healthy to have the instance remain in service. Set to Unhealthy to have the instance be out of service. Amazon EC2 Auto Scaling terminates and replaces the unhealthy instance.

", diff --git a/models/apis/autoscaling/2011-01-01/endpoint-rule-set-1.json b/models/apis/autoscaling/2011-01-01/endpoint-rule-set-1.json new file mode 100644 index 0000000000..897713367c --- /dev/null +++ b/models/apis/autoscaling/2011-01-01/endpoint-rule-set-1.json @@ -0,0 +1,340 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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://autoscaling-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": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://autoscaling.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://autoscaling-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": [], + "endpoint": { + "url": "https://autoscaling.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://autoscaling.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/autoscaling/2011-01-01/endpoint-tests-1.json b/models/apis/autoscaling/2011-01-01/endpoint-tests-1.json new file mode 100644 index 0000000000..da21a8d151 --- /dev/null +++ b/models/apis/autoscaling/2011-01-01/endpoint-tests-1.json @@ -0,0 +1,1799 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-4", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-4", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-4", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-4", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "Region": "us-isob-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-isob-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "Region": "us-isob-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-isob-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/cloudtrail/2013-11-01/api-2.json b/models/apis/cloudtrail/2013-11-01/api-2.json index a6e958d35c..ff3a7f452a 100644 --- a/models/apis/cloudtrail/2013-11-01/api-2.json +++ b/models/apis/cloudtrail/2013-11-01/api-2.json @@ -33,6 +33,7 @@ {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"ConflictException"} ], "idempotent":true @@ -54,6 +55,7 @@ {"shape":"QueryIdNotFoundException"}, {"shape":"OperationNotPermittedException"}, {"shape":"UnsupportedOperationException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"ConflictException"} ], "idempotent":true @@ -74,11 +76,16 @@ {"shape":"OperationNotPermittedException"}, {"shape":"UnsupportedOperationException"}, {"shape":"ConflictException"}, + {"shape":"InsufficientEncryptionPolicyException"}, + {"shape":"InvalidKmsKeyIdException"}, + {"shape":"KmsKeyNotFoundException"}, + {"shape":"KmsException"}, {"shape":"CloudTrailAccessNotEnabledException"}, {"shape":"InsufficientDependencyServiceAccessPermissionException"}, {"shape":"NotOrganizationMasterAccountException"}, {"shape":"OrganizationsNotInUseException"}, - {"shape":"OrganizationNotInAllFeaturesModeException"} + {"shape":"OrganizationNotInAllFeaturesModeException"}, + {"shape":"NoManagementAccountSLRExistsException"} ] }, "CreateTrail":{ @@ -117,6 +124,7 @@ {"shape":"NotOrganizationMasterAccountException"}, {"shape":"OrganizationsNotInUseException"}, {"shape":"OrganizationNotInAllFeaturesModeException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"CloudTrailInvalidClientTokenIdException"}, {"shape":"ConflictException"} ], @@ -139,6 +147,7 @@ {"shape":"OperationNotPermittedException"}, {"shape":"UnsupportedOperationException"}, {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"InsufficientDependencyServiceAccessPermissionException"} ] }, @@ -157,11 +166,34 @@ {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"InsufficientDependencyServiceAccessPermissionException"}, {"shape":"ConflictException"} ], "idempotent":true }, + "DeregisterOrganizationDelegatedAdmin":{ + "name":"DeregisterOrganizationDelegatedAdmin", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterOrganizationDelegatedAdminRequest"}, + "output":{"shape":"DeregisterOrganizationDelegatedAdminResponse"}, + "errors":[ + {"shape":"AccountNotFoundException"}, + {"shape":"AccountNotRegisteredException"}, + {"shape":"CloudTrailAccessNotEnabledException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotOrganizationManagementAccountException"}, + {"shape":"OrganizationNotInAllFeaturesModeException"}, + {"shape":"OrganizationsNotInUseException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"} + ], + "idempotent":true + }, "DescribeQuery":{ "name":"DescribeQuery", "http":{ @@ -177,7 +209,8 @@ {"shape":"InvalidParameterException"}, {"shape":"QueryIdNotFoundException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"UnsupportedOperationException"} + {"shape":"UnsupportedOperationException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -192,7 +225,8 @@ "errors":[ {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"InvalidTrailNameException"} + {"shape":"InvalidTrailNameException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -225,7 +259,8 @@ {"shape":"EventDataStoreNotFoundException"}, {"shape":"InvalidParameterException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"UnsupportedOperationException"} + {"shape":"UnsupportedOperationException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -241,7 +276,8 @@ {"shape":"TrailNotFoundException"}, {"shape":"InvalidTrailNameException"}, {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -273,7 +309,8 @@ {"shape":"InvalidTrailNameException"}, {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"InsightNotEnabledException"} + {"shape":"InsightNotEnabledException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -293,8 +330,10 @@ {"shape":"InvalidNextTokenException"}, {"shape":"InvalidParameterException"}, {"shape":"QueryIdNotFoundException"}, + {"shape":"InsufficientEncryptionPolicyException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"UnsupportedOperationException"} + {"shape":"UnsupportedOperationException"}, + {"shape":"NoManagementAccountSLRExistsException"} ] }, "GetTrail":{ @@ -356,7 +395,8 @@ {"shape":"InvalidMaxResultsException"}, {"shape":"InvalidNextTokenException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"UnsupportedOperationException"} + {"shape":"UnsupportedOperationException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -426,7 +466,8 @@ {"shape":"InvalidParameterException"}, {"shape":"InvalidQueryStatusException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"UnsupportedOperationException"} + {"shape":"UnsupportedOperationException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -447,7 +488,8 @@ {"shape":"EventDataStoreNotFoundException"}, {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"InvalidTokenException"} + {"shape":"InvalidTokenException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -500,6 +542,7 @@ {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"InsufficientDependencyServiceAccessPermissionException"} ], "idempotent":true @@ -523,7 +566,32 @@ {"shape":"KmsException"}, {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"NotOrganizationMasterAccountException"} + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"} + ], + "idempotent":true + }, + "RegisterOrganizationDelegatedAdmin":{ + "name":"RegisterOrganizationDelegatedAdmin", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterOrganizationDelegatedAdminRequest"}, + "output":{"shape":"RegisterOrganizationDelegatedAdminResponse"}, + "errors":[ + {"shape":"AccountRegisteredException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"}, + {"shape":"InvalidParameterException"}, + {"shape":"CannotDelegateManagementAccountException"}, + {"shape":"CloudTrailAccessNotEnabledException"}, + {"shape":"DelegatedAdminAccountLimitExceededException"}, + {"shape":"NotOrganizationManagementAccountException"}, + {"shape":"OrganizationNotInAllFeaturesModeException"}, + {"shape":"OrganizationsNotInUseException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"} ], "idempotent":true }, @@ -545,7 +613,8 @@ {"shape":"EventDataStoreNotFoundException"}, {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"NotOrganizationMasterAccountException"} + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -569,6 +638,7 @@ {"shape":"InsufficientDependencyServiceAccessPermissionException"}, {"shape":"OrganizationsNotInUseException"}, {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"OrganizationNotInAllFeaturesModeException"} ] }, @@ -611,6 +681,7 @@ {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"InsufficientDependencyServiceAccessPermissionException"} ], "idempotent":true @@ -630,12 +701,14 @@ {"shape":"InvalidParameterException"}, {"shape":"InvalidQueryStatementException"}, {"shape":"MaxConcurrentQueriesException"}, + {"shape":"InsufficientEncryptionPolicyException"}, {"shape":"InvalidS3PrefixException"}, {"shape":"InvalidS3BucketNameException"}, {"shape":"InsufficientS3BucketPolicyException"}, {"shape":"S3BucketDoesNotExistException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"UnsupportedOperationException"} + {"shape":"UnsupportedOperationException"}, + {"shape":"NoManagementAccountSLRExistsException"} ], "idempotent":true }, @@ -669,6 +742,7 @@ {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"}, {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"InsufficientDependencyServiceAccessPermissionException"} ], "idempotent":true @@ -689,10 +763,15 @@ {"shape":"InvalidParameterException"}, {"shape":"OperationNotPermittedException"}, {"shape":"UnsupportedOperationException"}, + {"shape":"InsufficientEncryptionPolicyException"}, + {"shape":"InvalidKmsKeyIdException"}, + {"shape":"KmsKeyNotFoundException"}, + {"shape":"KmsException"}, {"shape":"CloudTrailAccessNotEnabledException"}, {"shape":"InsufficientDependencyServiceAccessPermissionException"}, {"shape":"OrganizationsNotInUseException"}, {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"OrganizationNotInAllFeaturesModeException"} ], "idempotent":true @@ -733,7 +812,9 @@ {"shape":"OrganizationsNotInUseException"}, {"shape":"NotOrganizationMasterAccountException"}, {"shape":"OrganizationNotInAllFeaturesModeException"}, - {"shape":"CloudTrailInvalidClientTokenIdException"} + {"shape":"NoManagementAccountSLRExistsException"}, + {"shape":"CloudTrailInvalidClientTokenIdException"}, + {"shape":"InvalidParameterException"} ], "idempotent":true } @@ -745,6 +826,30 @@ }, "exception":true }, + "AccountId":{ + "type":"string", + "max":16, + "min":12, + "pattern":"\\d+" + }, + "AccountNotFoundException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "AccountNotRegisteredException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "AccountRegisteredException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "AddTagsRequest":{ "type":"structure", "required":[ @@ -795,12 +900,13 @@ "ByteBuffer":{"type":"blob"}, "CancelQueryRequest":{ "type":"structure", - "required":[ - "EventDataStore", - "QueryId" - ], + "required":["QueryId"], "members":{ - "EventDataStore":{"shape":"EventDataStoreArn"}, + "EventDataStore":{ + "shape":"EventDataStoreArn", + "deprecated":true, + "deprecatedMessage":"EventDataStore is no longer required by CancelQueryRequest" + }, "QueryId":{"shape":"UUID"} } }, @@ -815,6 +921,12 @@ "QueryStatus":{"shape":"QueryStatus"} } }, + "CannotDelegateManagementAccountException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "Channel":{ "type":"structure", "members":{ @@ -890,7 +1002,8 @@ "OrganizationEnabled":{"shape":"Boolean"}, "RetentionPeriod":{"shape":"RetentionPeriod"}, "TerminationProtectionEnabled":{"shape":"TerminationProtectionEnabled"}, - "TagsList":{"shape":"TagsList"} + "TagsList":{"shape":"TagsList"}, + "KmsKeyId":{"shape":"EventDataStoreKmsKeyId"} } }, "CreateEventDataStoreResponse":{ @@ -906,7 +1019,8 @@ "TerminationProtectionEnabled":{"shape":"TerminationProtectionEnabled"}, "TagsList":{"shape":"TagsList"}, "CreatedTimestamp":{"shape":"Date"}, - "UpdatedTimestamp":{"shape":"Date"} + "UpdatedTimestamp":{"shape":"Date"}, + "KmsKeyId":{"shape":"EventDataStoreKmsKeyId"} } }, "CreateTrailRequest":{ @@ -967,6 +1081,12 @@ "member":{"shape":"DataResource"} }, "Date":{"type":"timestamp"}, + "DelegatedAdminAccountLimitExceededException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "DeleteEventDataStoreRequest":{ "type":"structure", "required":["EventDataStore"], @@ -1010,14 +1130,27 @@ "UNKNOWN" ] }, + "DeregisterOrganizationDelegatedAdminRequest":{ + "type":"structure", + "required":["DelegatedAdminAccountId"], + "members":{ + "DelegatedAdminAccountId":{"shape":"AccountId"} + } + }, + "DeregisterOrganizationDelegatedAdminResponse":{ + "type":"structure", + "members":{ + } + }, "DescribeQueryRequest":{ "type":"structure", - "required":[ - "EventDataStore", - "QueryId" - ], + "required":["QueryId"], "members":{ - "EventDataStore":{"shape":"EventDataStoreArn"}, + "EventDataStore":{ + "shape":"EventDataStoreArn", + "deprecated":true, + "deprecatedMessage":"EventDataStore is no longer required by DescribeQueryRequest" + }, "QueryId":{"shape":"UUID"} } }, @@ -1165,6 +1298,12 @@ }, "exception":true }, + "EventDataStoreKmsKeyId":{ + "type":"string", + "max":350, + "min":1, + "pattern":"^[a-zA-Z0-9._/\\-:]+$" + }, "EventDataStoreMaxLimitExceededException":{ "type":"structure", "members":{ @@ -1258,7 +1397,8 @@ "RetentionPeriod":{"shape":"RetentionPeriod"}, "TerminationProtectionEnabled":{"shape":"TerminationProtectionEnabled"}, "CreatedTimestamp":{"shape":"Date"}, - "UpdatedTimestamp":{"shape":"Date"} + "UpdatedTimestamp":{"shape":"Date"}, + "KmsKeyId":{"shape":"EventDataStoreKmsKeyId"} } }, "GetEventSelectorsRequest":{ @@ -1313,12 +1453,13 @@ }, "GetQueryResultsRequest":{ "type":"structure", - "required":[ - "EventDataStore", - "QueryId" - ], + "required":["QueryId"], "members":{ - "EventDataStore":{"shape":"EventDataStoreArn"}, + "EventDataStore":{ + "shape":"EventDataStoreArn", + "deprecated":true, + "deprecatedMessage":"EventDataStore is no longer required by GetQueryResultsRequest" + }, "QueryId":{"shape":"UUID"}, "NextToken":{"shape":"PaginationToken"}, "MaxQueryResults":{"shape":"MaxQueryResults"} @@ -1903,6 +2044,18 @@ "exception":true }, "NextToken":{"type":"string"}, + "NoManagementAccountSLRExistsException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "NotOrganizationManagementAccountException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "NotOrganizationMasterAccountException":{ "type":"structure", "members":{ @@ -2068,6 +2221,18 @@ "All" ] }, + "RegisterOrganizationDelegatedAdminRequest":{ + "type":"structure", + "required":["MemberAccountId"], + "members":{ + "MemberAccountId":{"shape":"AccountId"} + } + }, + "RegisterOrganizationDelegatedAdminResponse":{ + "type":"structure", + "members":{ + } + }, "RemoveTagsRequest":{ "type":"structure", "required":[ @@ -2141,7 +2306,8 @@ "RetentionPeriod":{"shape":"RetentionPeriod"}, "TerminationProtectionEnabled":{"shape":"TerminationProtectionEnabled"}, "CreatedTimestamp":{"shape":"Date"}, - "UpdatedTimestamp":{"shape":"Date"} + "UpdatedTimestamp":{"shape":"Date"}, + "KmsKeyId":{"shape":"EventDataStoreKmsKeyId"} } }, "RetentionPeriod":{ @@ -2390,7 +2556,8 @@ "MultiRegionEnabled":{"shape":"Boolean"}, "OrganizationEnabled":{"shape":"Boolean"}, "RetentionPeriod":{"shape":"RetentionPeriod"}, - "TerminationProtectionEnabled":{"shape":"TerminationProtectionEnabled"} + "TerminationProtectionEnabled":{"shape":"TerminationProtectionEnabled"}, + "KmsKeyId":{"shape":"EventDataStoreKmsKeyId"} } }, "UpdateEventDataStoreResponse":{ @@ -2405,7 +2572,8 @@ "RetentionPeriod":{"shape":"RetentionPeriod"}, "TerminationProtectionEnabled":{"shape":"TerminationProtectionEnabled"}, "CreatedTimestamp":{"shape":"Date"}, - "UpdatedTimestamp":{"shape":"Date"} + "UpdatedTimestamp":{"shape":"Date"}, + "KmsKeyId":{"shape":"EventDataStoreKmsKeyId"} } }, "UpdateTrailRequest":{ diff --git a/models/apis/cloudtrail/2013-11-01/docs-2.json b/models/apis/cloudtrail/2013-11-01/docs-2.json index 133806e3c8..2e9ede749e 100644 --- a/models/apis/cloudtrail/2013-11-01/docs-2.json +++ b/models/apis/cloudtrail/2013-11-01/docs-2.json @@ -8,9 +8,10 @@ "CreateTrail": "

Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket.

", "DeleteEventDataStore": "

Disables the event data store specified by EventDataStore, which accepts an event data store ARN. After you run DeleteEventDataStore, the event data store enters a PENDING_DELETION state, and is automatically deleted after a wait period of seven days. TerminationProtectionEnabled must be set to False on the event data store; this operation cannot work if TerminationProtectionEnabled is True.

After you run DeleteEventDataStore on an event data store, you cannot run ListQueries, DescribeQuery, or GetQueryResults on queries that are using an event data store in a PENDING_DELETION state. An event data store in the PENDING_DELETION state does not incur costs.

", "DeleteTrail": "

Deletes a trail. This operation must be called from the region in which the trail was created. DeleteTrail cannot be called on the shadow trails (replicated trails in other regions) of a trail that is enabled in all regions.

", + "DeregisterOrganizationDelegatedAdmin": "

Removes CloudTrail delegated administrator permissions from a member account in an organization.

", "DescribeQuery": "

Returns metadata about a query, including query run time in milliseconds, number of events scanned and matched, and query status. You must specify an ARN for EventDataStore, and a value for QueryID.

", "DescribeTrails": "

Retrieves settings for one or more trails associated with the current region for your account.

", - "GetChannel": "

Returns information about a specific channel. Amazon Web Services services create service-linked channels to get information about CloudTrail events on your behalf. For more information about service-linked channels, see Viewing service-linked channels for CloudTrail by using the CLI..

", + "GetChannel": "

Returns information about a specific channel. Amazon Web Services services create service-linked channels to get information about CloudTrail events on your behalf. For more information about service-linked channels, see Viewing service-linked channels for CloudTrail by using the CLI.

", "GetEventDataStore": "

Returns information about an event data store specified as either an ARN or the ID portion of the ARN.

", "GetEventSelectors": "

Describes the settings for the event selectors that you configured for your trail. The information returned for your event selectors includes the following:

For more information about logging management and data events, see the following topics in the CloudTrail User Guide:

", "GetImport": "

Returns information about a specific import.

", @@ -29,6 +30,7 @@ "LookupEvents": "

Looks up management events or CloudTrail Insights events that are captured by CloudTrail. You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events:

Lookup supports the following attributes for Insights events:

All attributes are optional. The default number of results returned is 50, with a maximum of 50 possible. The response includes a token that you can use to get the next page of results.

The rate of lookup requests is limited to two per second, per account, per region. If this limit is exceeded, a throttling error occurs.

", "PutEventSelectors": "

Configures an event selector or advanced event selectors for your trail. Use event selectors or advanced event selectors to specify management and data event settings for your trail. By default, trails created without specific event selectors are configured to log all read and write management events, and no data events.

When an event occurs in your account, CloudTrail evaluates the event selectors or advanced event selectors in all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

Example

  1. You create an event selector for a trail and specify that you want write-only events.

  2. The EC2 GetConsoleOutput and RunInstances API operations occur in your account.

  3. CloudTrail evaluates whether the events match your event selectors.

  4. The RunInstances is a write-only event and it matches your event selector. The trail logs the event.

  5. The GetConsoleOutput is a read-only event that doesn't match your event selector. The trail doesn't log the event.

The PutEventSelectors operation must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException exception is thrown.

You can configure up to five event selectors for each trail. For more information, see Logging management events for trails , Logging data events for trails , and Quotas in CloudTrail in the CloudTrail User Guide.

You can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. You can use either AdvancedEventSelectors or EventSelectors, but not both. If you apply AdvancedEventSelectors to a trail, any existing EventSelectors are overwritten. For more information about advanced event selectors, see Logging data events for trails in the CloudTrail User Guide.

", "PutInsightSelectors": "

Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail. You also use PutInsightSelectors to turn off Insights event logging, by passing an empty list of insight types. The valid Insights event types in this release are ApiErrorRateInsight and ApiCallRateInsight.

", + "RegisterOrganizationDelegatedAdmin": "

Registers an organization’s member account as the CloudTrail delegated administrator.

", "RemoveTags": "

Removes the specified tags from a trail or event data store.

", "RestoreEventDataStore": "

Restores a deleted event data store specified by EventDataStore, which accepts an event data store ARN. You can only restore a deleted event data store within the seven-day wait period after deletion. Restoring an event data store can take several minutes, depending on the size of the event data store.

", "StartImport": "

Starts an import of logged trail events from a source S3 bucket to a destination event data store. By default, CloudTrail only imports events contained in the S3 bucket's CloudTrail prefix and the prefixes inside the CloudTrail prefix, and does not check prefixes for other Amazon Web Services services. If you want to import CloudTrail events contained in another prefix, you must include the prefix in the S3LocationUri. For more considerations about importing trail events, see Considerations.

When you start a new import, the Destinations and ImportSource parameters are required. Before starting a new import, disable any access control lists (ACLs) attached to the source S3 bucket. For more information about disabling ACLs, see Controlling ownership of objects and disabling ACLs for your bucket.

When you retry an import, the ImportID parameter is required.

", @@ -45,6 +47,28 @@ "refs": { } }, + "AccountId": { + "base": null, + "refs": { + "DeregisterOrganizationDelegatedAdminRequest$DelegatedAdminAccountId": "

A delegated administrator account ID. This is a member account in an organization that is currently designated as a delegated administrator.

", + "RegisterOrganizationDelegatedAdminRequest$MemberAccountId": "

An organization member account ID that you want to designate as a delegated administrator.

" + } + }, + "AccountNotFoundException": { + "base": "

This exception is thrown when when the specified account is not found or not part of an organization.

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

This exception is thrown when the specified account is not registered as the CloudTrail delegated administrator.

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

This exception is thrown when the account is already registered as the CloudTrail delegated administrator.

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

Specifies the tags to add to a trail or event data store.

", "refs": { @@ -150,6 +174,11 @@ "refs": { } }, + "CannotDelegateManagementAccountException": { + "base": "

This exception is thrown when the management account of an organization is registered as the CloudTrail delegated administrator.

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

Contains information about a returned CloudTrail channel.

", "refs": { @@ -299,6 +328,11 @@ "UpdateEventDataStoreResponse$UpdatedTimestamp": "

The timestamp that shows when the event data store was last updated. UpdatedTimestamp is always either the same or newer than the time shown in CreatedTimestamp.

" } }, + "DelegatedAdminAccountLimitExceededException": { + "base": "

This exception is thrown when the maximum number of CloudTrail delegated administrators is reached.

", + "refs": { + } + }, "DeleteEventDataStoreRequest": { "base": null, "refs": { @@ -332,6 +366,16 @@ "DescribeQueryResponse$DeliveryStatus": "

The delivery status.

" } }, + "DeregisterOrganizationDelegatedAdminRequest": { + "base": "

Removes CloudTrail delegated administrator permissions from a specified member account in an organization that is currently designated as a delegated administrator.

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

Returns the following response if successful. Otherwise, returns an error.

", + "refs": { + } + }, "DescribeQueryRequest": { "base": null, "refs": { @@ -430,6 +474,17 @@ "refs": { } }, + "EventDataStoreKmsKeyId": { + "base": null, + "refs": { + "CreateEventDataStoreRequest$KmsKeyId": "

Specifies the KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from logging events to the event data store, and prevents users from querying the data in the event data store that was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up your event data store.

CloudTrail also supports KMS multi-Region keys. For more information about multi-Region keys, see Using multi-Region keys in the Key Management Service Developer Guide.

Examples:

", + "CreateEventDataStoreResponse$KmsKeyId": "

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the following format.

arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

", + "GetEventDataStoreResponse$KmsKeyId": "

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the following format.

arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

", + "RestoreEventDataStoreResponse$KmsKeyId": "

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the following format.

arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

", + "UpdateEventDataStoreRequest$KmsKeyId": "

Specifies the KMS key ID to use to encrypt the events delivered by CloudTrail. The value can be an alias name prefixed by alias/, a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Disabling or deleting the KMS key, or removing CloudTrail permissions on the key, prevents CloudTrail from logging events to the event data store, and prevents users from querying the data in the event data store that was encrypted with the key. After you associate an event data store with a KMS key, the KMS key cannot be removed or changed. Before you disable or delete a KMS key that you are using with an event data store, delete or back up your event data store.

CloudTrail also supports KMS multi-Region keys. For more information about multi-Region keys, see Using multi-Region keys in the Key Management Service Developer Guide.

Examples:

", + "UpdateEventDataStoreResponse$KmsKeyId": "

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the following format.

arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

" + } + }, "EventDataStoreMaxLimitExceededException": { "base": "

Your account has used the maximum number of event data stores.

", "refs": { @@ -839,7 +894,7 @@ } }, "KmsException": { - "base": "

This exception is thrown when there is an issue with the specified KMS key and the trail can’t be updated.

", + "base": "

This exception is thrown when there is an issue with the specified KMS key and the trail or event data store can't be updated.

", "refs": { } }, @@ -1040,6 +1095,16 @@ "LookupEventsResponse$NextToken": "

The token to use to get the next page of results after a previous API call. If the token does not appear, there are no more results to return. The token must be passed in with the same parameters as the previous call. For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

" } }, + "NoManagementAccountSLRExistsException": { + "base": "

This exception is thrown when the management account does not have a service-linked role.

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

This exception is thrown when the account making the request is not the organization's management account.

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

This exception is thrown when the Amazon Web Services account making the request to create or update an organization trail or event data store is not the management account for an organization in Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Create an event data store.

", "refs": { @@ -1208,6 +1273,16 @@ "EventSelector$ReadWriteType": "

Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.

By default, the value is All.

" } }, + "RegisterOrganizationDelegatedAdminRequest": { + "base": "

Specifies an organization member account ID as a CloudTrail delegated administrator.

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

Returns the following response if successful. Otherwise, returns an error.

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

Specifies the tags to remove from a trail or event data store.

", "refs": { diff --git a/models/apis/cloudtrail/2013-11-01/endpoint-rule-set-1.json b/models/apis/cloudtrail/2013-11-01/endpoint-rule-set-1.json index aa60d3ae2b..c5897ff57b 100644 --- a/models/apis/cloudtrail/2013-11-01/endpoint-rule-set-1.json +++ b/models/apis/cloudtrail/2013-11-01/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index ae0fe4d156..613ebf592a 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -5695,6 +5695,21 @@ "type":"string", "enum":["used"] }, + "AllowedInstanceType":{ + "type":"string", + "max":30, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\*]+" + }, + "AllowedInstanceTypeSet":{ + "type":"list", + "member":{ + "shape":"AllowedInstanceType", + "locationName":"item" + }, + "max":400, + "min":0 + }, "AllowedPrincipal":{ "type":"structure", "members":{ @@ -24373,6 +24388,14 @@ "AcceleratorTotalMemoryMiB":{ "shape":"AcceleratorTotalMemoryMiB", "locationName":"acceleratorTotalMemoryMiB" + }, + "NetworkBandwidthGbps":{ + "shape":"NetworkBandwidthGbps", + "locationName":"networkBandwidthGbps" + }, + "AllowedInstanceTypes":{ + "shape":"AllowedInstanceTypeSet", + "locationName":"allowedInstanceTypeSet" } } }, @@ -24424,7 +24447,12 @@ "shape":"AcceleratorNameSet", "locationName":"AcceleratorName" }, - "AcceleratorTotalMemoryMiB":{"shape":"AcceleratorTotalMemoryMiBRequest"} + "AcceleratorTotalMemoryMiB":{"shape":"AcceleratorTotalMemoryMiBRequest"}, + "NetworkBandwidthGbps":{"shape":"NetworkBandwidthGbpsRequest"}, + "AllowedInstanceTypes":{ + "shape":"AllowedInstanceTypeSet", + "locationName":"AllowedInstanceType" + } } }, "InstanceRequirementsWithMetadataRequest":{ @@ -30021,6 +30049,26 @@ "locationName":"item" } }, + "NetworkBandwidthGbps":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"Double", + "locationName":"min" + }, + "Max":{ + "shape":"Double", + "locationName":"max" + } + } + }, + "NetworkBandwidthGbpsRequest":{ + "type":"structure", + "members":{ + "Min":{"shape":"Double"}, + "Max":{"shape":"Double"} + } + }, "NetworkCardIndex":{"type":"integer"}, "NetworkCardInfo":{ "type":"structure", diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index c492259e41..abf70f0aaf 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -300,7 +300,7 @@ "DescribeSnapshots": "

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

", "DescribeSpotDatafeedSubscription": "

Describes the data feed for Spot Instances. For more information, see Spot Instance data feed in the Amazon EC2 User Guide for Linux Instances.

", "DescribeSpotFleetInstances": "

Describes the running instances for the specified Spot Fleet.

", - "DescribeSpotFleetRequestHistory": "

Describes the events for the specified Spot Fleet request during the specified time.

Spot Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. Spot Fleet events are available for 48 hours.

For more information, see Monitor fleet events using Amazon EventBridge in the Amazon EC2 User Guide for Linux Instances.

", + "DescribeSpotFleetRequestHistory": "

Describes the events for the specified Spot Fleet request during the specified time.

Spot Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. Spot Fleet events are available for 48 hours.

For more information, see Monitor fleet events using Amazon EventBridge in the Amazon EC2 User Guide.

", "DescribeSpotFleetRequests": "

Describes your Spot Fleet requests.

Spot Fleet requests are deleted 48 hours after they are canceled and their instances are terminated.

", "DescribeSpotInstanceRequests": "

Describes the specified Spot Instance requests.

You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

We recommend that you set MaxResults to a value between 5 and 1000 to limit the number of results returned. This paginates the output, which makes the list more manageable and returns the results faster. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests request to retrieve the remaining results.

Spot Instance requests are deleted four hours after they are canceled and their instances are terminated.

", "DescribeSpotPriceHistory": "

Describes the Spot price history. For more information, see Spot Instance pricing history in the Amazon EC2 User Guide for Linux Instances.

When you specify a start and end time, the operation returns the prices of the instance types within that time range. It also returns the last price change before the start time, which is the effective price as of the start time.

", @@ -513,7 +513,7 @@ "ReplaceRouteTableAssociation": "

Changes the route table associated with a given subnet, internet gateway, or virtual private gateway in a VPC. After the operation completes, the subnet or gateway uses the routes in the new route table. For more information about route tables, see Route tables in the Amazon Virtual Private Cloud User Guide.

You can also use this operation to change which table is the main route table in the VPC. Specify the main route table's association ID and the route table ID of the new main route table.

", "ReplaceTransitGatewayRoute": "

Replaces the specified route in the specified transit gateway route table.

", "ReportInstanceStatus": "

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

", - "RequestSpotFleet": "

Creates a Spot Fleet request.

The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.

You can specify tags for the Spot Fleet request and instances launched by the fleet. You cannot tag other resource types in a Spot Fleet request because only the spot-fleet-request and instance resource types are supported.

For more information, see Spot Fleet requests in the Amazon EC2 User Guide for Linux Instances.

We strongly discourage using the RequestSpotFleet API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide for Linux Instances.

", + "RequestSpotFleet": "

Creates a Spot Fleet request.

The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.

You can specify tags for the Spot Fleet request and instances launched by the fleet. You cannot tag other resource types in a Spot Fleet request because only the spot-fleet-request and instance resource types are supported.

For more information, see Spot Fleet requests in the Amazon EC2 User Guide.

We strongly discourage using the RequestSpotFleet API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide.

", "RequestSpotInstances": "

Creates a Spot Instance request.

For more information, see Spot Instance requests in the Amazon EC2 User Guide for Linux Instances.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide for Linux Instances.

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide for Linux Instances.

", "ResetAddressAttribute": "

Resets the attribute of the specified IP address. For requirements, see Using reverse DNS for email applications.

", "ResetEbsDefaultKmsKeyId": "

Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a customer managed KMS key by specifying it when you create the volume. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

", @@ -977,7 +977,7 @@ "AllocationStrategy": { "base": null, "refs": { - "SpotFleetRequestConfigData$AllocationStrategy": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances.

lowestPrice - Spot Fleet launches instances from the lowest-price Spot Instance pool that has available capacity. If the cheapest pool doesn't have available capacity, the Spot Instances come from the next cheapest pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools.

diversified - Spot Fleet launches instances from all of the Spot Instance pools that you specify.

capacityOptimized (recommended) - Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

Default: lowestPrice

" + "SpotFleetRequestConfigData$AllocationStrategy": "

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

lowestPrice - Spot Fleet launches instances from the lowest-price Spot Instance pool that has available capacity. If the cheapest pool doesn't have available capacity, the Spot Instances come from the next cheapest pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools.

diversified - Spot Fleet launches instances from all of the Spot Instance pools that you specify.

capacityOptimized (recommended) - Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

Default: lowestPrice

" } }, "AllocationType": { @@ -986,6 +986,19 @@ "CapacityAllocation$AllocationType": "

The usage type. used indicates that the instance capacity is in use by instances that are running in the Capacity Reservation.

" } }, + "AllowedInstanceType": { + "base": null, + "refs": { + "AllowedInstanceTypeSet$member": null + } + }, + "AllowedInstanceTypeSet": { + "base": null, + "refs": { + "InstanceRequirements$AllowedInstanceTypes": "

The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.

You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

Default: All instance types

", + "InstanceRequirementsRequest$AllowedInstanceTypes": "

The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.

You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

Default: All instance types

" + } + }, "AllowedPrincipal": { "base": "

Describes a principal.

", "refs": { @@ -7579,6 +7592,10 @@ "MemoryGiBPerVCpu$Max": "

The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is no maximum limit.

", "MemoryGiBPerVCpuRequest$Min": "

The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter.

", "MemoryGiBPerVCpuRequest$Max": "

The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter.

", + "NetworkBandwidthGbps$Min": "

The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum limit.

", + "NetworkBandwidthGbps$Max": "

The maximum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no maximum limit.

", + "NetworkBandwidthGbpsRequest$Min": "

The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter.

", + "NetworkBandwidthGbpsRequest$Max": "

The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter.

", "PriceSchedule$Price": "

The fixed price for the term.

", "PriceScheduleSpecification$Price": "

The fixed price for the term.

", "PricingDetail$Price": "

The price per instance.

", @@ -8059,8 +8076,8 @@ "ExcludedInstanceTypeSet": { "base": null, "refs": { - "InstanceRequirements$ExcludedInstanceTypes": "

The instance types to exclude.

You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.

Default: No excluded instance types

", - "InstanceRequirementsRequest$ExcludedInstanceTypes": "

The instance types to exclude.

You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance family, type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.

Default: No excluded instance types

" + "InstanceRequirements$ExcludedInstanceTypes": "

The instance types to exclude.

You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.

If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.

Default: No excluded instance types

", + "InstanceRequirementsRequest$ExcludedInstanceTypes": "

The instance types to exclude.

You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance family, type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.

If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.

Default: No excluded instance types

" } }, "ExecutableByStringList": { @@ -8589,7 +8606,7 @@ } }, "FleetLaunchTemplateSpecification": { - "base": "

The Amazon EC2 launch template that can be used by a Spot Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.

For information about launch templates, see Launch an instance from a launch template in the Amazon EC2 User Guide for Linux Instances.

", + "base": "

The Amazon EC2 launch template that can be used by a Spot Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.

For information about launch templates, see Launch an instance from a launch template in the Amazon EC2 User Guide.

", "refs": { "FleetLaunchTemplateConfig$LaunchTemplateSpecification": "

The launch template.

", "LaunchTemplateAndOverridesResponse$LaunchTemplateSpecification": "

The launch template.

", @@ -10447,7 +10464,7 @@ } }, "InstanceRequirements": { - "base": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

", + "base": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

", "refs": { "FleetLaunchTemplateOverrides$InstanceRequirements": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

", "LaunchTemplateOverrides$InstanceRequirements": "

The instance requirements. When you specify instance requirements, Amazon EC2 will identify instance types with the provided requirements, and then use your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of instance types.

If you specify InstanceRequirements, you can't specify InstanceType.

", @@ -10456,7 +10473,7 @@ } }, "InstanceRequirementsRequest": { - "base": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

", + "base": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

", "refs": { "FleetLaunchTemplateOverridesRequest$InstanceRequirements": "

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

", "GetInstanceTypesFromInstanceRequirementsRequest$InstanceRequirements": "

The attributes required for the instance types.

", @@ -10527,7 +10544,7 @@ "base": "

Describes a scheduled event for an instance.

", "refs": { "InstanceStatusEventList$member": null, - "ModifyInstanceEventStartTimeResult$Event": null + "ModifyInstanceEventStartTimeResult$Event": "

Information about the event.

" } }, "InstanceStatusEventList": { @@ -13559,6 +13576,18 @@ "DescribeNetworkAclsResult$NetworkAcls": "

Information about one or more network ACLs.

" } }, + "NetworkBandwidthGbps": { + "base": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see Available instance bandwidth in the Amazon EC2 User Guide.

", + "refs": { + "InstanceRequirements$NetworkBandwidthGbps": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

Default: No minimum or maximum limits

" + } + }, + "NetworkBandwidthGbpsRequest": { + "base": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see Available instance bandwidth in the Amazon EC2 User Guide.

", + "refs": { + "InstanceRequirementsRequest$NetworkBandwidthGbps": "

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

Default: No minimum or maximum limits

" + } + }, "NetworkCardIndex": { "base": null, "refs": { @@ -14351,7 +14380,7 @@ "PlacementGroup": { "base": "

Describes a placement group.

", "refs": { - "CreatePlacementGroupResult$PlacementGroup": null, + "CreatePlacementGroupResult$PlacementGroup": "

Information about the placement group.

", "PlacementGroupList$member": null } }, @@ -18449,7 +18478,7 @@ "SpotFleetLaunchSpecification$UserData": "

The Base64-encoded user data that instances use when starting up.

", "SpotFleetRequestConfig$SpotFleetRequestId": "

The ID of the Spot Fleet request.

", "SpotFleetRequestConfigData$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of your listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "SpotFleetRequestConfigData$IamFleetRole": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see Spot Fleet prerequisites in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set TerminateInstancesWithExpiration.

", + "SpotFleetRequestConfigData$IamFleetRole": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see Spot Fleet prerequisites in the Amazon EC2 User Guide. Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set TerminateInstancesWithExpiration.

", "SpotFleetRequestConfigData$SpotPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

", "SpotFleetRequestConfigData$OnDemandMaxTotalPrice": "

The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

", "SpotFleetRequestConfigData$SpotMaxTotalPrice": "

The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

", diff --git a/models/apis/elasticache/2015-02-02/api-2.json b/models/apis/elasticache/2015-02-02/api-2.json index f673335a0e..f5517f22a7 100644 --- a/models/apis/elasticache/2015-02-02/api-2.json +++ b/models/apis/elasticache/2015-02-02/api-2.json @@ -1459,7 +1459,9 @@ "AtRestEncryptionEnabled":{"shape":"BooleanOptional"}, "ARN":{"shape":"String"}, "ReplicationGroupLogDeliveryEnabled":{"shape":"Boolean"}, - "LogDeliveryConfigurations":{"shape":"LogDeliveryConfigurationList"} + "LogDeliveryConfigurations":{"shape":"LogDeliveryConfigurationList"}, + "NetworkType":{"shape":"NetworkType"}, + "IpDiscovery":{"shape":"IpDiscovery"} }, "wrapper":true }, @@ -1776,7 +1778,8 @@ "CacheSubnetGroupDescription":{"shape":"String"}, "VpcId":{"shape":"String"}, "Subnets":{"shape":"SubnetList"}, - "ARN":{"shape":"String"} + "ARN":{"shape":"String"}, + "SupportedNetworkTypes":{"shape":"NetworkTypeList"} }, "wrapper":true }, @@ -1958,7 +1961,9 @@ "PreferredOutpostArn":{"shape":"String"}, "PreferredOutpostArns":{"shape":"PreferredOutpostArnList"}, "LogDeliveryConfigurations":{"shape":"LogDeliveryConfigurationRequestList"}, - "TransitEncryptionEnabled":{"shape":"BooleanOptional"} + "TransitEncryptionEnabled":{"shape":"BooleanOptional"}, + "NetworkType":{"shape":"NetworkType"}, + "IpDiscovery":{"shape":"IpDiscovery"} } }, "CreateCacheClusterResult":{ @@ -2083,7 +2088,9 @@ "KmsKeyId":{"shape":"String"}, "UserGroupIds":{"shape":"UserGroupIdListInput"}, "LogDeliveryConfigurations":{"shape":"LogDeliveryConfigurationRequestList"}, - "DataTieringEnabled":{"shape":"BooleanOptional"} + "DataTieringEnabled":{"shape":"BooleanOptional"}, + "NetworkType":{"shape":"NetworkType"}, + "IpDiscovery":{"shape":"IpDiscovery"} } }, "CreateReplicationGroupResult":{ @@ -2976,6 +2983,13 @@ }, "exception":true }, + "IpDiscovery":{ + "type":"string", + "enum":[ + "ipv4", + "ipv6" + ] + }, "KeyList":{ "type":"list", "member":{"shape":"String"} @@ -3082,7 +3096,8 @@ "CacheNodeType":{"shape":"String"}, "AuthToken":{"shape":"String"}, "AuthTokenUpdateStrategy":{"shape":"AuthTokenUpdateStrategyType"}, - "LogDeliveryConfigurations":{"shape":"LogDeliveryConfigurationRequestList"} + "LogDeliveryConfigurations":{"shape":"LogDeliveryConfigurationRequestList"}, + "IpDiscovery":{"shape":"IpDiscovery"} } }, "ModifyCacheClusterResult":{ @@ -3170,7 +3185,8 @@ "UserGroupIdsToAdd":{"shape":"UserGroupIdList"}, "UserGroupIdsToRemove":{"shape":"UserGroupIdList"}, "RemoveUserGroups":{"shape":"BooleanOptional"}, - "LogDeliveryConfigurations":{"shape":"LogDeliveryConfigurationRequestList"} + "LogDeliveryConfigurations":{"shape":"LogDeliveryConfigurationRequestList"}, + "IpDiscovery":{"shape":"IpDiscovery"} } }, "ModifyReplicationGroupResult":{ @@ -3228,6 +3244,18 @@ "disabled" ] }, + "NetworkType":{ + "type":"string", + "enum":[ + "ipv4", + "ipv6", + "dual_stack" + ] + }, + "NetworkTypeList":{ + "type":"list", + "member":{"shape":"NetworkType"} + }, "NoOperationFault":{ "type":"structure", "members":{ @@ -3688,7 +3716,9 @@ "LogDeliveryConfigurations":{"shape":"LogDeliveryConfigurationList"}, "ReplicationGroupCreateTime":{"shape":"TStamp"}, "DataTiering":{"shape":"DataTieringStatus"}, - "AutoMinorVersionUpgrade":{"shape":"Boolean"} + "AutoMinorVersionUpgrade":{"shape":"Boolean"}, + "NetworkType":{"shape":"NetworkType"}, + "IpDiscovery":{"shape":"IpDiscovery"} }, "wrapper":true }, @@ -4164,7 +4194,8 @@ "members":{ "SubnetIdentifier":{"shape":"String"}, "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, - "SubnetOutpost":{"shape":"SubnetOutpost"} + "SubnetOutpost":{"shape":"SubnetOutpost"}, + "SupportedNetworkTypes":{"shape":"NetworkTypeList"} } }, "SubnetIdentifierList":{ diff --git a/models/apis/elasticache/2015-02-02/docs-2.json b/models/apis/elasticache/2015-02-02/docs-2.json index cd02b7ec55..1ecc05b6ab 100644 --- a/models/apis/elasticache/2015-02-02/docs-2.json +++ b/models/apis/elasticache/2015-02-02/docs-2.json @@ -46,7 +46,7 @@ "DescribeUserGroups": "

Returns a list of user groups.

", "DescribeUsers": "

Returns a list of users.

", "DisassociateGlobalReplicationGroup": "

Remove a secondary cluster from the Global datastore using the Global datastore name. The secondary cluster will no longer receive updates from the primary cluster, but will remain as a standalone cluster in that Amazon region.

", - "FailoverGlobalReplicationGroup": "

Used to failover the primary region to a selected secondary region. The selected secondary region will become primary, and all other clusters will become secondary.

", + "FailoverGlobalReplicationGroup": "

Used to failover the primary region to a secondary region. The secondary region will become primary, and all other clusters will become secondary.

", "IncreaseNodeGroupsInGlobalReplicationGroup": "

Increase the number of node groups in the Global datastore

", "IncreaseReplicaCount": "

Dynamically increases the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster down time.

", "ListAllowedNodeTypeModifications": "

Lists all available node types that you can scale your Redis cluster's or replication group's current node type.

When you use the ModifyCacheCluster or ModifyReplicationGroup operations to scale your cluster or replication group, the value of the CacheNodeType parameter must be one of the node types returned by this operation.

", @@ -215,7 +215,7 @@ "ModifyReplicationGroupShardConfigurationMessage$ApplyImmediately": "

Indicates that the shard reconfiguration process begins immediately. At present, the only permitted value for this parameter is true.

Value: true

", "Parameter$IsModifiable": "

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

", "RebalanceSlotsInGlobalReplicationGroupMessage$ApplyImmediately": "

If True, redistribution is applied immediately.

", - "ReplicationGroup$AutoMinorVersionUpgrade": "

 If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions. 

", + "ReplicationGroup$AutoMinorVersionUpgrade": "

If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions.

", "ResetCacheParameterGroupMessage$ResetAllParameters": "

If true, all parameters in the cache parameter group are reset to their default values. If false, only the parameters listed by ParameterNameValues are reset to their default values.

Valid values: true | false

", "Snapshot$AutoMinorVersionUpgrade": "

 If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions. 

" } @@ -227,7 +227,7 @@ "CacheCluster$TransitEncryptionEnabled": "

A flag that enables in-transit encryption when set to true.

You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

", "CacheCluster$AtRestEncryptionEnabled": "

A flag that enables encryption at-rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

", "CreateCacheClusterMessage$AutoMinorVersionUpgrade": "

 If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions. 

", - "CreateCacheClusterMessage$TransitEncryptionEnabled": "

A flag that enables in-transit encryption when set to true. You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a cache cluster in an Amazon VPC using Memcached version 1.6.12 or later.

", + "CreateCacheClusterMessage$TransitEncryptionEnabled": "

A flag that enables in-transit encryption when set to true. You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

Only available when creating a cache cluster in an Amazon VPC using Memcached version 1.6.12 or later.

", "CreateReplicationGroupMessage$AutomaticFailoverEnabled": "

Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.

AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups.

Default: false

", "CreateReplicationGroupMessage$MultiAZEnabled": "

A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ.

", "CreateReplicationGroupMessage$AutoMinorVersionUpgrade": "

 If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions. 

", @@ -317,7 +317,7 @@ } }, "CacheNode": { - "base": "

Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", + "base": "

Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", "refs": { "CacheNodeList$member": null } @@ -1238,6 +1238,17 @@ "refs": { } }, + "IpDiscovery": { + "base": null, + "refs": { + "CacheCluster$IpDiscovery": "

The network type associated with the cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

", + "CreateCacheClusterMessage$IpDiscovery": "

The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

", + "CreateReplicationGroupMessage$IpDiscovery": "

The network type you choose when creating a replication group, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

", + "ModifyCacheClusterMessage$IpDiscovery": "

The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

", + "ModifyReplicationGroupMessage$IpDiscovery": "

The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

", + "ReplicationGroup$IpDiscovery": "

The network type you choose when modifying a cluster, either ipv4 | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

" + } + }, "KeyList": { "base": null, "refs": { @@ -1381,6 +1392,23 @@ "ReplicationGroup$MultiAZ": "

A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ

" } }, + "NetworkType": { + "base": null, + "refs": { + "CacheCluster$NetworkType": "

Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

", + "CreateCacheClusterMessage$NetworkType": "

Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

", + "CreateReplicationGroupMessage$NetworkType": "

Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

", + "NetworkTypeList$member": null, + "ReplicationGroup$NetworkType": "

Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

" + } + }, + "NetworkTypeList": { + "base": null, + "refs": { + "CacheSubnetGroup$SupportedNetworkTypes": "

Either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

", + "Subnet$SupportedNetworkTypes": "

Either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on all instances built on the Nitro system.

" + } + }, "NoOperationFault": { "base": "

The operation was not performed because no changes were required.

", "refs": { @@ -2004,7 +2032,7 @@ "BatchStopUpdateActionMessage$ServiceUpdateName": "

The unique ID of the service update

", "CacheCluster$CacheClusterId": "

The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster.

", "CacheCluster$ClientDownloadLandingPage": "

The URL of the web page where you can download the latest ElastiCache client library.

", - "CacheCluster$CacheNodeType": "

The name of the compute and memory capacity node type for the cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", + "CacheCluster$CacheNodeType": "

The name of the compute and memory capacity node type for the cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", "CacheCluster$Engine": "

The name of the cache engine (memcached or redis) to be used for this cluster.

", "CacheCluster$EngineVersion": "

The version of the cache engine that is used in this cluster.

", "CacheCluster$CacheClusterStatus": "

The current state of this cluster, one of the following values: available, creating, deleted, deleting, incompatible-network, modifying, rebooting cluster nodes, restore-failed, or snapshotting.

", @@ -2096,7 +2124,7 @@ "CreateReplicationGroupMessage$ReplicationGroupDescription": "

A user-created description for the replication group.

", "CreateReplicationGroupMessage$GlobalReplicationGroupId": "

The name of the Global datastore

", "CreateReplicationGroupMessage$PrimaryClusterId": "

The identifier of the cluster that serves as the primary for this replication group. This cluster must already exist and have a status of available.

This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup is specified.

", - "CreateReplicationGroupMessage$CacheNodeType": "

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", + "CreateReplicationGroupMessage$CacheNodeType": "

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", "CreateReplicationGroupMessage$Engine": "

The name of the cache engine to be used for the clusters in this replication group. Must be Redis.

", "CreateReplicationGroupMessage$EngineVersion": "

The version number of the cache engine to be used for the clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.

", "CreateReplicationGroupMessage$CacheParameterGroupName": "

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name.

", @@ -2151,13 +2179,13 @@ "DescribeReplicationGroupsMessage$Marker": "

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DescribeReservedCacheNodesMessage$ReservedCacheNodeId": "

The reserved cache node identifier filter value. Use this parameter to show only the reservation that matches the specified reservation ID.

", "DescribeReservedCacheNodesMessage$ReservedCacheNodesOfferingId": "

The offering identifier filter value. Use this parameter to show only purchased reservations matching the specified offering identifier.

", - "DescribeReservedCacheNodesMessage$CacheNodeType": "

The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", + "DescribeReservedCacheNodesMessage$CacheNodeType": "

The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", "DescribeReservedCacheNodesMessage$Duration": "

The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.

Valid Values: 1 | 3 | 31536000 | 94608000

", "DescribeReservedCacheNodesMessage$ProductDescription": "

The product description filter value. Use this parameter to show only those reservations matching the specified product description.

", "DescribeReservedCacheNodesMessage$OfferingType": "

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.

Valid values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\"|\"All Upfront\"|\"Partial Upfront\"| \"No Upfront\"

", "DescribeReservedCacheNodesMessage$Marker": "

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DescribeReservedCacheNodesOfferingsMessage$ReservedCacheNodesOfferingId": "

The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

", - "DescribeReservedCacheNodesOfferingsMessage$CacheNodeType": "

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", + "DescribeReservedCacheNodesOfferingsMessage$CacheNodeType": "

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", "DescribeReservedCacheNodesOfferingsMessage$Duration": "

Duration filter value, specified in years or seconds. Use this parameter to show only reservations for a given duration.

Valid Values: 1 | 3 | 31536000 | 94608000

", "DescribeReservedCacheNodesOfferingsMessage$ProductDescription": "

The product description filter value. Use this parameter to show only the available offerings matching the specified product description.

", "DescribeReservedCacheNodesOfferingsMessage$OfferingType": "

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\" |\"All Upfront\"|\"Partial Upfront\"| \"No Upfront\"

", @@ -2311,14 +2339,14 @@ "ReplicationGroupPendingModifiedValues$PrimaryClusterId": "

The primary cluster ID that is applied immediately (if --apply-immediately was specified), or during the next maintenance window.

", "ReservedCacheNode$ReservedCacheNodeId": "

The unique identifier for the reservation.

", "ReservedCacheNode$ReservedCacheNodesOfferingId": "

The offering identifier.

", - "ReservedCacheNode$CacheNodeType": "

The cache node type for the reserved cache nodes.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", + "ReservedCacheNode$CacheNodeType": "

The cache node type for the reserved cache nodes.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", "ReservedCacheNode$ProductDescription": "

The description of the reserved cache node.

", "ReservedCacheNode$OfferingType": "

The offering type of this reserved cache node.

", "ReservedCacheNode$State": "

The state of the reserved cache node.

", "ReservedCacheNode$ReservationARN": "

The Amazon Resource Name (ARN) of the reserved cache node.

Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582

", "ReservedCacheNodeMessage$Marker": "

Provides an identifier to allow retrieval of paginated results.

", "ReservedCacheNodesOffering$ReservedCacheNodesOfferingId": "

A unique identifier for the reserved cache node offering.

", - "ReservedCacheNodesOffering$CacheNodeType": "

The cache node type for the reserved cache node.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", + "ReservedCacheNodesOffering$CacheNodeType": "

The cache node type for the reserved cache node.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", "ReservedCacheNodesOffering$ProductDescription": "

The cache engine used by the offering.

", "ReservedCacheNodesOffering$OfferingType": "

The offering type.

", "ReservedCacheNodesOfferingMessage$Marker": "

Provides an identifier to allow retrieval of paginated results.

", @@ -2341,7 +2369,7 @@ "Snapshot$CacheClusterId": "

The user-supplied identifier of the source cluster.

", "Snapshot$SnapshotStatus": "

The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

", "Snapshot$SnapshotSource": "

Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

", - "Snapshot$CacheNodeType": "

The name of the compute and memory capacity node type for the source cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", + "Snapshot$CacheNodeType": "

The name of the compute and memory capacity node type for the source cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", "Snapshot$Engine": "

The name of the cache engine (memcached or redis) used by the source cluster.

", "Snapshot$EngineVersion": "

The version of the cache engine version that is used by the source cluster.

", "Snapshot$PreferredAvailabilityZone": "

The name of the Availability Zone in which the source cluster is located.

", diff --git a/models/apis/elasticache/2015-02-02/endpoint-rule-set-1.json b/models/apis/elasticache/2015-02-02/endpoint-rule-set-1.json new file mode 100644 index 0000000000..166cdb1c5b --- /dev/null +++ b/models/apis/elasticache/2015-02-02/endpoint-rule-set-1.json @@ -0,0 +1,340 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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://elasticache-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": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://elasticache.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://elasticache-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": [], + "endpoint": { + "url": "https://elasticache.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://elasticache.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/elasticache/2015-02-02/endpoint-tests-1.json b/models/apis/elasticache/2015-02-02/endpoint-tests-1.json new file mode 100644 index 0000000000..3380326ae5 --- /dev/null +++ b/models/apis/elasticache/2015-02-02/endpoint-tests-1.json @@ -0,0 +1,1799 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-2" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-south-1" + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-south-2" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-central-2" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-3" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-3" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-4" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticache.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-northwest-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticache.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", + "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": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", + "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": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/mediaconvert/2017-08-29/api-2.json b/models/apis/mediaconvert/2017-08-29/api-2.json index e1ddbee4ea..1dc253a931 100644 --- a/models/apis/mediaconvert/2017-08-29/api-2.json +++ b/models/apis/mediaconvert/2017-08-29/api-2.json @@ -2751,6 +2751,10 @@ "Saturation": { "shape": "__integerMin1Max100", "locationName": "saturation" + }, + "SdrReferenceWhiteLevel": { + "shape": "__integerMin100Max1000", + "locationName": "sdrReferenceWhiteLevel" } } }, @@ -2768,7 +2772,9 @@ "REC_601", "REC_709", "HDR10", - "HLG_2020" + "HLG_2020", + "P3DCI", + "P3D65_SDR" ] }, "ColorSpaceConversion": { @@ -2778,7 +2784,9 @@ "FORCE_601", "FORCE_709", "FORCE_HDR10", - "FORCE_HLG_2020" + "FORCE_HLG_2020", + "FORCE_P3DCI", + "FORCE_P3D65_SDR" ] }, "ColorSpaceUsage": { @@ -4045,7 +4053,7 @@ "locationName": "attenuationControl" }, "Bitrate": { - "shape": "__integerMin64000Max640000", + "shape": "__integerMin32000Max3024000", "locationName": "bitrate" }, "BitstreamMode": { @@ -5844,6 +5852,10 @@ "InsertableImages": { "shape": "__listOfInsertableImage", "locationName": "insertableImages" + }, + "SdrReferenceWhiteLevel": { + "shape": "__integerMin100Max1000", + "locationName": "sdrReferenceWhiteLevel" } } }, @@ -10707,6 +10719,11 @@ "min": 1000, "max": 480000000 }, + "__integerMin100Max1000": { + "type": "integer", + "min": 100, + "max": 1000 + }, "__integerMin10Max48": { "type": "integer", "min": 10, @@ -10857,6 +10874,11 @@ "min": 32000, "max": 192000 }, + "__integerMin32000Max3024000": { + "type": "integer", + "min": 32000, + "max": 3024000 + }, "__integerMin32000Max384000": { "type": "integer", "min": 32000, diff --git a/models/apis/mediaconvert/2017-08-29/docs-2.json b/models/apis/mediaconvert/2017-08-29/docs-2.json index 950c3d987a..63fb666d2e 100644 --- a/models/apis/mediaconvert/2017-08-29/docs-2.json +++ b/models/apis/mediaconvert/2017-08-29/docs-2.json @@ -780,15 +780,15 @@ } }, "ColorSpace": { - "base": "If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value Follow (FOLLOW). The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, specify the accurate color space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display Color Volume static metadata isn't present in your video stream, or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr.", + "base": "If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value Follow. The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, specify the accurate color space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display Color Volume static metadata isn't present in your video stream, or if that metadata is present but not accurate, choose Force HDR 10 here and specify correct values in the input HDR 10 metadata settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. Select P3D65 (SDR) to set the input color space metadata to the following:\n * Color primaries: Display P3\n * Transfer characteristics: SMPTE 428M\n * Matrix coefficients: BT.709", "refs": { - "VideoSelector$ColorSpace": "If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value Follow (FOLLOW). The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, specify the accurate color space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display Color Volume static metadata isn't present in your video stream, or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr." + "VideoSelector$ColorSpace": "If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value Follow. The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, specify the accurate color space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display Color Volume static metadata isn't present in your video stream, or if that metadata is present but not accurate, choose Force HDR 10 here and specify correct values in the input HDR 10 metadata settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. Select P3D65 (SDR) to set the input color space metadata to the following:\n * Color primaries: Display P3\n * Transfer characteristics: SMPTE 428M\n * Matrix coefficients: BT.709" } }, "ColorSpaceConversion": { - "base": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, from SDR to HDR, and from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output. HDR to SDR conversion uses Elemental tone mapping technology to approximate the outcome of manually regrading from HDR to SDR.", + "base": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, from SDR to HDR, and from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output. HDR to SDR conversion uses Elemental tone mapping technology to approximate the outcome of manually regrading from HDR to SDR. Select Force P3D65 (SDR) to set the output color space metadata to the following: * Color primaries: Display P3 * Transfer characteristics: SMPTE 428M * Matrix coefficients: BT.709", "refs": { - "ColorCorrector$ColorSpaceConversion": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, from SDR to HDR, and from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output. HDR to SDR conversion uses Elemental tone mapping technology to approximate the outcome of manually regrading from HDR to SDR." + "ColorCorrector$ColorSpaceConversion": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, from SDR to HDR, and from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output. HDR to SDR conversion uses Elemental tone mapping technology to approximate the outcome of manually regrading from HDR to SDR. Select Force P3D65 (SDR) to set the output color space metadata to the following: * Color primaries: Display P3 * Transfer characteristics: SMPTE 428M * Matrix coefficients: BT.709" } }, "ColorSpaceUsage": { @@ -4204,6 +4204,13 @@ "Vp9Settings$MaxBitrate": "Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate." } }, + "__integerMin100Max1000": { + "base": null, + "refs": { + "ColorCorrector$SdrReferenceWhiteLevel": "Specify the reference white level, in nits, for all of your SDR inputs. Use to correct brightness levels within HDR10 outputs. The following color metadata must be present in your SDR input: color primaries, transfer characteristics, and matrix coefficients. If your SDR input has missing color metadata, or if you want to correct input color metadata, manually specify a color space in the input video selector. For 1,000 nit peak brightness displays, we recommend that you set SDR reference white level to 203 (according to ITU-R BT.2408). Leave blank to use the default value of 100, or specify an integer from 100 to 1000.", + "ImageInserter$SdrReferenceWhiteLevel": "Specify the reference white level, in nits, for all of your image inserter images. Use to correct brightness levels within HDR10 outputs. For 1,000 nit peak brightness displays, we recommend that you set SDR reference white level to 203 (according to ITU-R BT.2408). Leave blank to use the default value of 100, or specify an integer from 100 to 1000." + } + }, "__integerMin10Max48": { "base": null, "refs": { @@ -4460,6 +4467,12 @@ "OpusSettings$Bitrate": "Optional. Specify the average bitrate in bits per second. Valid values are multiples of 8000, from 32000 through 192000. The default value is 96000, which we recommend for quality and bandwidth." } }, + "__integerMin32000Max3024000": { + "base": null, + "refs": { + "Eac3Settings$Bitrate": "Specify the average bitrate in bits per second. The bitrate that you specify must be a multiple of 8000 within the allowed minimum and maximum values. Leave blank to use the default bitrate for the coding mode you select according ETSI TS 102 366. Valid bitrates for coding mode 1/0: Default: 96000. Minimum: 32000. Maximum: 3024000. Valid bitrates for coding mode 2/0: Default: 192000. Minimum: 96000. Maximum: 3024000. Valid bitrates for coding mode 3/2: Default: 384000. Minimum: 192000. Maximum: 3024000." + } + }, "__integerMin32000Max384000": { "base": null, "refs": { @@ -4548,8 +4561,7 @@ "__integerMin64000Max640000": { "base": null, "refs": { - "Ac3Settings$Bitrate": "Specify the average bitrate in bits per second. Valid bitrates depend on the coding mode.", - "Eac3Settings$Bitrate": "Specify the average bitrate in bits per second. Valid bitrates depend on the coding mode." + "Ac3Settings$Bitrate": "Specify the average bitrate in bits per second. The bitrate that you specify must be a multiple of 8000 within the allowed minimum and maximum values. Leave blank to use the default bitrate for the coding mode you select according ETSI TS 102 366. Valid bitrates for coding mode 1/0: Default: 96000. Minimum: 64000. Maximum: 128000. Valid bitrates for coding mode 1/1: Default: 192000. Minimum: 128000. Maximum: 384000. Valid bitrates for coding mode 2/0: Default: 192000. Minimum: 128000. Maximum: 384000. Valid bitrates for coding mode 3/2 with FLE: Default: 384000. Minimum: 384000. Maximum: 640000." } }, "__integerMin8000Max192000": { diff --git a/models/apis/mediaconvert/2017-08-29/endpoint-rule-set-1.json b/models/apis/mediaconvert/2017-08-29/endpoint-rule-set-1.json new file mode 100644 index 0000000000..fc7d3930c9 --- /dev/null +++ b/models/apis/mediaconvert/2017-08-29/endpoint-rule-set-1.json @@ -0,0 +1,340 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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://mediaconvert-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://mediaconvert-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": [], + "endpoint": { + "url": "https://mediaconvert.{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" + }, + "cn-northwest-1" + ] + } + ], + "endpoint": { + "url": "https://subscribe.mediaconvert.cn-northwest-1.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://mediaconvert.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/mediaconvert/2017-08-29/endpoint-tests-1.json b/models/apis/mediaconvert/2017-08-29/endpoint-tests-1.json new file mode 100644 index 0000000000..1bc91f31be --- /dev/null +++ b/models/apis/mediaconvert/2017-08-29/endpoint-tests-1.json @@ -0,0 +1,1127 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-south-1.api.aws" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-south-1.api.aws" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ca-central-1.api.aws" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ca-central-1.api.aws" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-central-1.api.aws" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-central-1.api.aws" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-west-1.api.aws" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-west-1.api.aws" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-west-2.api.aws" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-west-2.api.aws" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.af-south-1.api.aws" + } + }, + "params": { + "Region": "af-south-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "Region": "af-south-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.af-south-1.api.aws" + } + }, + "params": { + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.af-south-1.amazonaws.com" + } + }, + "params": { + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-north-1.api.aws" + } + }, + "params": { + "Region": "eu-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-north-1.api.aws" + } + }, + "params": { + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-north-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-west-3.api.aws" + } + }, + "params": { + "Region": "eu-west-3", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-3", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-west-3.api.aws" + } + }, + "params": { + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-west-3.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-west-2.api.aws" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-west-2.api.aws" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-west-1.api.aws" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-west-1.api.aws" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-northeast-2.api.aws" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-northeast-1.api.aws" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.sa-east-1.api.aws" + } + }, + "params": { + "Region": "sa-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sa-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.sa-east-1.api.aws" + } + }, + "params": { + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.sa-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-southeast-1.api.aws" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-southeast-2.api.aws" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-east-2.api.aws" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-east-2.api.aws" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://subscribe.mediaconvert.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mediaconvert.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/models.lex.v2/2020-08-07/api-2.json b/models/apis/models.lex.v2/2020-08-07/api-2.json index 04e78d0771..d3f0cdbca6 100644 --- a/models/apis/models.lex.v2/2020-08-07/api-2.json +++ b/models/apis/models.lex.v2/2020-08-07/api-2.json @@ -13,6 +13,57 @@ "uid":"models.lex.v2-2020-08-07" }, "operations":{ + "BatchCreateCustomVocabularyItem":{ + "name":"BatchCreateCustomVocabularyItem", + "http":{ + "method":"PUT", + "requestUri":"/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/customvocabulary/DEFAULT/batchcreate", + "responseCode":200 + }, + "input":{"shape":"BatchCreateCustomVocabularyItemRequest"}, + "output":{"shape":"BatchCreateCustomVocabularyItemResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "BatchDeleteCustomVocabularyItem":{ + "name":"BatchDeleteCustomVocabularyItem", + "http":{ + "method":"POST", + "requestUri":"/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/customvocabulary/DEFAULT/batchdelete", + "responseCode":200 + }, + "input":{"shape":"BatchDeleteCustomVocabularyItemRequest"}, + "output":{"shape":"BatchDeleteCustomVocabularyItemResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "BatchUpdateCustomVocabularyItem":{ + "name":"BatchUpdateCustomVocabularyItem", + "http":{ + "method":"PUT", + "requestUri":"/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/customvocabulary/DEFAULT/batchupdate", + "responseCode":200 + }, + "input":{"shape":"BatchUpdateCustomVocabularyItemRequest"}, + "output":{"shape":"BatchUpdateCustomVocabularyItemResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "BuildBotLocale":{ "name":"BuildBotLocale", "http":{ @@ -778,6 +829,23 @@ {"shape":"InternalServerException"} ] }, + "ListCustomVocabularyItems":{ + "name":"ListCustomVocabularyItems", + "http":{ + "method":"POST", + "requestUri":"/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/customvocabulary/DEFAULT/list", + "responseCode":200 + }, + "input":{"shape":"ListCustomVocabularyItemsRequest"}, + "output":{"shape":"ListCustomVocabularyItemsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "ListExports":{ "name":"ListExports", "http":{ @@ -1339,6 +1407,117 @@ "endTimeoutMs":{"shape":"TimeInMilliSeconds"} } }, + "BatchCreateCustomVocabularyItemRequest":{ + "type":"structure", + "required":[ + "botId", + "botVersion", + "localeId", + "customVocabularyItemList" + ], + "members":{ + "botId":{ + "shape":"Id", + "location":"uri", + "locationName":"botId" + }, + "botVersion":{ + "shape":"BotVersion", + "location":"uri", + "locationName":"botVersion" + }, + "localeId":{ + "shape":"LocaleId", + "location":"uri", + "locationName":"localeId" + }, + "customVocabularyItemList":{"shape":"CreateCustomVocabularyItemsList"} + } + }, + "BatchCreateCustomVocabularyItemResponse":{ + "type":"structure", + "members":{ + "botId":{"shape":"Id"}, + "botVersion":{"shape":"BotVersion"}, + "localeId":{"shape":"LocaleId"}, + "errors":{"shape":"FailedCustomVocabularyItems"}, + "resources":{"shape":"CustomVocabularyItems"} + } + }, + "BatchDeleteCustomVocabularyItemRequest":{ + "type":"structure", + "required":[ + "botId", + "botVersion", + "localeId", + "customVocabularyItemList" + ], + "members":{ + "botId":{ + "shape":"Id", + "location":"uri", + "locationName":"botId" + }, + "botVersion":{ + "shape":"BotVersion", + "location":"uri", + "locationName":"botVersion" + }, + "localeId":{ + "shape":"LocaleId", + "location":"uri", + "locationName":"localeId" + }, + "customVocabularyItemList":{"shape":"DeleteCustomVocabularyItemsList"} + } + }, + "BatchDeleteCustomVocabularyItemResponse":{ + "type":"structure", + "members":{ + "botId":{"shape":"Id"}, + "botVersion":{"shape":"BotVersion"}, + "localeId":{"shape":"LocaleId"}, + "errors":{"shape":"FailedCustomVocabularyItems"}, + "resources":{"shape":"CustomVocabularyItems"} + } + }, + "BatchUpdateCustomVocabularyItemRequest":{ + "type":"structure", + "required":[ + "botId", + "botVersion", + "localeId", + "customVocabularyItemList" + ], + "members":{ + "botId":{ + "shape":"Id", + "location":"uri", + "locationName":"botId" + }, + "botVersion":{ + "shape":"BotVersion", + "location":"uri", + "locationName":"botVersion" + }, + "localeId":{ + "shape":"LocaleId", + "location":"uri", + "locationName":"localeId" + }, + "customVocabularyItemList":{"shape":"UpdateCustomVocabularyItemsList"} + } + }, + "BatchUpdateCustomVocabularyItemResponse":{ + "type":"structure", + "members":{ + "botId":{"shape":"Id"}, + "botVersion":{"shape":"BotVersion"}, + "localeId":{"shape":"LocaleId"}, + "errors":{"shape":"FailedCustomVocabularyItems"}, + "resources":{"shape":"CustomVocabularyItems"} + } + }, "Boolean":{"type":"boolean"}, "BotAliasHistoryEvent":{ "type":"structure", @@ -2114,6 +2293,12 @@ "creationDateTime":{"shape":"Timestamp"} } }, + "CreateCustomVocabularyItemsList":{ + "type":"list", + "member":{"shape":"NewCustomVocabularyItem"}, + "max":10, + "min":1 + }, "CreateExportRequest":{ "type":"structure", "required":[ @@ -2384,6 +2569,13 @@ "max":1000, "min":1 }, + "CustomVocabularyEntryId":{ + "type":"structure", + "required":["itemId"], + "members":{ + "itemId":{"shape":"ItemId"} + } + }, "CustomVocabularyExportSpecification":{ "type":"structure", "required":[ @@ -2410,6 +2602,23 @@ "localeId":{"shape":"LocaleId"} } }, + "CustomVocabularyItem":{ + "type":"structure", + "required":[ + "itemId", + "phrase" + ], + "members":{ + "itemId":{"shape":"ItemId"}, + "phrase":{"shape":"Phrase"}, + "weight":{"shape":"Weight"}, + "displayAs":{"shape":"Phrase"} + } + }, + "CustomVocabularyItems":{ + "type":"list", + "member":{"shape":"CustomVocabularyItem"} + }, "CustomVocabularyStatus":{ "type":"string", "enum":[ @@ -2585,6 +2794,12 @@ "botStatus":{"shape":"BotStatus"} } }, + "DeleteCustomVocabularyItemsList":{ + "type":"list", + "member":{"shape":"CustomVocabularyEntryId"}, + "max":10, + "min":1 + }, "DeleteCustomVocabularyRequest":{ "type":"structure", "required":[ @@ -3377,6 +3592,16 @@ "associatedTranscriptsPassword":{"shape":"FilePassword"} } }, + "ErrorCode":{ + "type":"string", + "enum":[ + "DUPLICATE_INPUT", + "RESOURCE_DOES_NOT_EXIST", + "RESOURCE_ALREADY_EXISTS", + "INTERNAL_SERVER_FAILURE" + ] + }, + "ErrorMessage":{"type":"string"}, "ExceptionMessage":{"type":"string"}, "ExportFilter":{ "type":"structure", @@ -3461,6 +3686,18 @@ "grammarSlotTypeSetting":{"shape":"GrammarSlotTypeSetting"} } }, + "FailedCustomVocabularyItem":{ + "type":"structure", + "members":{ + "itemId":{"shape":"ItemId"}, + "errorMessage":{"shape":"ErrorMessage"}, + "errorCode":{"shape":"ErrorCode"} + } + }, + "FailedCustomVocabularyItems":{ + "type":"list", + "member":{"shape":"FailedCustomVocabularyItem"} + }, "FailureReason":{"type":"string"}, "FailureReasons":{ "type":"list", @@ -3821,6 +4058,11 @@ "exception":true, "fault":true }, + "ItemId":{ + "type":"string", + "max":32, + "min":1 + }, "KendraConfiguration":{ "type":"structure", "required":["kendraIndex"], @@ -4075,6 +4317,43 @@ "localeId":{"shape":"LocaleId"} } }, + "ListCustomVocabularyItemsRequest":{ + "type":"structure", + "required":[ + "botId", + "botVersion", + "localeId" + ], + "members":{ + "botId":{ + "shape":"Id", + "location":"uri", + "locationName":"botId" + }, + "botVersion":{ + "shape":"BotVersion", + "location":"uri", + "locationName":"botVersion" + }, + "localeId":{ + "shape":"LocaleId", + "location":"uri", + "locationName":"localeId" + }, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListCustomVocabularyItemsResponse":{ + "type":"structure", + "members":{ + "botId":{"shape":"Id"}, + "botVersion":{"shape":"BotVersion"}, + "localeId":{"shape":"LocaleId"}, + "customVocabularyItems":{"shape":"CustomVocabularyItems"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListExportsRequest":{ "type":"structure", "members":{ @@ -4378,6 +4657,15 @@ "min":1, "pattern":"^([0-9a-zA-Z][_-]?)+$" }, + "NewCustomVocabularyItem":{ + "type":"structure", + "required":["phrase"], + "members":{ + "phrase":{"shape":"Phrase"}, + "weight":{"shape":"Weight"}, + "displayAs":{"shape":"Phrase"} + } + }, "NextIndex":{ "type":"integer", "box":true, @@ -4455,6 +4743,11 @@ "objectPrefixes":{"shape":"ObjectPrefixes"} } }, + "Phrase":{ + "type":"string", + "max":100, + "min":1 + }, "PlainTextMessage":{ "type":"structure", "required":["value"], @@ -5624,6 +5917,12 @@ "lastUpdatedDateTime":{"shape":"Timestamp"} } }, + "UpdateCustomVocabularyItemsList":{ + "type":"list", + "member":{"shape":"CustomVocabularyItem"}, + "max":10, + "min":1 + }, "UpdateExportRequest":{ "type":"structure", "required":["exportId"], @@ -5914,6 +6213,12 @@ "stillWaitingResponse":{"shape":"StillWaitingResponseSpecification"}, "active":{"shape":"BoxedBoolean"} } + }, + "Weight":{ + "type":"integer", + "box":true, + "max":3, + "min":1 } } } diff --git a/models/apis/models.lex.v2/2020-08-07/docs-2.json b/models/apis/models.lex.v2/2020-08-07/docs-2.json index 912ff4156f..4cb020c882 100644 --- a/models/apis/models.lex.v2/2020-08-07/docs-2.json +++ b/models/apis/models.lex.v2/2020-08-07/docs-2.json @@ -2,6 +2,9 @@ "version": "2.0", "service": "

", "operations": { + "BatchCreateCustomVocabularyItem": "

Batch create custom vocabulary item for the specified locale in the specified bot.

", + "BatchDeleteCustomVocabularyItem": "

Batch delete custom vocabulary item for the specified locale in the specified bot.

", + "BatchUpdateCustomVocabularyItem": "

Batch update custom vocabulary item for the specified locale in the specified bot.

", "BuildBotLocale": "

Builds a bot, its intents, and its slot types into a specific locale. A bot can be built into multiple locales. At runtime the locale is used to choose a specific build of the bot.

", "CreateBot": "

Creates an Amazon Lex conversational bot.

", "CreateBotAlias": "

Creates an alias for the specified version of a bot. Use an alias to enable you to change the version of a bot without updating applications that use the bot.

For example, you can create an alias called \"PROD\" that your applications use to call the Amazon Lex bot.

", @@ -47,10 +50,11 @@ "ListBots": "

Gets a list of available bots.

", "ListBuiltInIntents": "

Gets a list of built-in intents provided by Amazon Lex that you can use in your bot.

To use a built-in intent as a the base for your own intent, include the built-in intent signature in the parentIntentSignature parameter when you call the CreateIntent operation. For more information, see CreateIntent.

", "ListBuiltInSlotTypes": "

Gets a list of built-in slot types that meet the specified criteria.

", + "ListCustomVocabularyItems": "

List custom vocabulary items for the specified locale in the specified bot.

", "ListExports": "

Lists the exports for a bot, bot locale, or custom vocabulary. Exports are kept in the list for 7 days.

", "ListImports": "

Lists the imports for a bot, bot locale, or custom vocabulary. Imports are kept in the list for 7 days.

", "ListIntents": "

Get a list of intents that meet the specified criteria.

", - "ListRecommendedIntents": "

Gets a list of recommended intents provided by the bot recommendation that you can use in your bot.

", + "ListRecommendedIntents": "

Gets a list of recommended intents provided by the bot recommendation that you can use in your bot. Intents in the response are ordered by relevance.

", "ListSlotTypes": "

Gets a list of slot types that match the specified criteria.

", "ListSlots": "

Gets a list of slots that match the specified criteria.

", "ListTagsForResource": "

Gets a list of tags associated with a resource. Only bots, bot aliases, and bot channels can have tags associated with them.

", @@ -230,6 +234,36 @@ "AudioAndDTMFInputSpecification$audioSpecification": "

Specifies the settings on audio input.

" } }, + "BatchCreateCustomVocabularyItemRequest": { + "base": null, + "refs": { + } + }, + "BatchCreateCustomVocabularyItemResponse": { + "base": null, + "refs": { + } + }, + "BatchDeleteCustomVocabularyItemRequest": { + "base": null, + "refs": { + } + }, + "BatchDeleteCustomVocabularyItemResponse": { + "base": null, + "refs": { + } + }, + "BatchUpdateCustomVocabularyItemRequest": { + "base": null, + "refs": { + } + }, + "BatchUpdateCustomVocabularyItemResponse": { + "base": null, + "refs": { + } + }, "Boolean": { "base": null, "refs": { @@ -508,6 +542,12 @@ "BotVersion": { "base": null, "refs": { + "BatchCreateCustomVocabularyItemRequest$botVersion": "

The bot version of the bot to batch create the custom vocabulary item for.

", + "BatchCreateCustomVocabularyItemResponse$botVersion": "

The bot version of the bot to batch create the custom vocabulary item response for.

", + "BatchDeleteCustomVocabularyItemRequest$botVersion": "

The version of the bot to batch delete request for the custom vocabulary item.

", + "BatchDeleteCustomVocabularyItemResponse$botVersion": "

The version of the bot to batch delete response for the custom vocabulary item.

", + "BatchUpdateCustomVocabularyItemRequest$botVersion": "

The bot version of the bot to the batch update request for the custom vocabulary item.

", + "BatchUpdateCustomVocabularyItemResponse$botVersion": "

The bot version of the bot to the batch update response for the custom vocabulary item.

", "BotAliasHistoryEvent$botVersion": "

The version of the bot that was used in the event.

", "BotAliasSummary$botVersion": "

The version of the bot that the bot alias references.

", "BotExportSpecification$botVersion": "

The version of the bot that was exported. This will be either DRAFT or the version number.

", @@ -529,6 +569,8 @@ "ListAggregatedUtterancesResponse$botVersion": "

The identifier of the bot version that contains the utterances. If you specified the bot alias, the bot version isn't returned.

", "ListBotLocalesRequest$botVersion": "

The version of the bot to list locales for.

", "ListBotLocalesResponse$botVersion": "

The version of the bot.

", + "ListCustomVocabularyItemsRequest$botVersion": "

The bot version of the bot to the list custom vocabulary request.

", + "ListCustomVocabularyItemsResponse$botVersion": "

The bot version of the bot to the list custom vocabulary response.

", "ListExportsRequest$botVersion": "

The version of the bot to list exports for.

", "ListExportsResponse$botVersion": "

The version of the bot that was exported.

", "ListIntentsRequest$botVersion": "

The version of the bot that contains the intent.

", @@ -903,6 +945,12 @@ "refs": { } }, + "CreateCustomVocabularyItemsList": { + "base": null, + "refs": { + "BatchCreateCustomVocabularyItemRequest$customVocabularyItemList": "

The custom vocabulary item list of the bot to batch create the custom vocabulary item for.

" + } + }, "CreateExportRequest": { "base": null, "refs": { @@ -985,6 +1033,12 @@ "CustomPayload$value": "

The string that is sent to your application.

" } }, + "CustomVocabularyEntryId": { + "base": "

The unique entry identifier for the custom vocabulary items.

", + "refs": { + "DeleteCustomVocabularyItemsList$member": null + } + }, "CustomVocabularyExportSpecification": { "base": "

Provides the parameters required for exporting a custom vocabulary.

", "refs": { @@ -997,6 +1051,22 @@ "ImportResourceSpecification$customVocabularyImportSpecification": null } }, + "CustomVocabularyItem": { + "base": "

The unique custom vocabulary item from the custom vocabulary list.

", + "refs": { + "CustomVocabularyItems$member": null, + "UpdateCustomVocabularyItemsList$member": null + } + }, + "CustomVocabularyItems": { + "base": null, + "refs": { + "BatchCreateCustomVocabularyItemResponse$resources": "

The resources of the action to batch create the custom vocabulary item response for a bot.

", + "BatchDeleteCustomVocabularyItemResponse$resources": "

The resources of the action to batch delete response for the custom vocabulary item.

", + "BatchUpdateCustomVocabularyItemResponse$resources": "

The resources of the action to batch update response for the custom vocabulary item.

", + "ListCustomVocabularyItemsResponse$customVocabularyItems": "

The custom vocabulary items from the list custom vocabulary response.

" + } + }, "CustomVocabularyStatus": { "base": null, "refs": { @@ -1081,6 +1151,12 @@ "refs": { } }, + "DeleteCustomVocabularyItemsList": { + "base": null, + "refs": { + "BatchDeleteCustomVocabularyItemRequest$customVocabularyItemList": "

The custom vocabulary list to batch delete request for the custom vocabulary item.

" + } + }, "DeleteCustomVocabularyRequest": { "base": null, "refs": { @@ -1443,6 +1519,18 @@ "UpdateBotRecommendationResponse$encryptionSetting": "

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

" } }, + "ErrorCode": { + "base": null, + "refs": { + "FailedCustomVocabularyItem$errorCode": "

The unique error code for the failed custom vocabulary item from the custom vocabulary list.

" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "FailedCustomVocabularyItem$errorMessage": "

The error message for the failed custom vocabulary item from the custom vocabulary list.

" + } + }, "ExceptionMessage": { "base": null, "refs": { @@ -1533,6 +1621,20 @@ "UpdateSlotTypeResponse$externalSourceSetting": null } }, + "FailedCustomVocabularyItem": { + "base": "

The unique failed custom vocabulary item from the custom vocabulary list.

", + "refs": { + "FailedCustomVocabularyItems$member": null + } + }, + "FailedCustomVocabularyItems": { + "base": null, + "refs": { + "BatchCreateCustomVocabularyItemResponse$errors": "

The errors of the action to batch create the custom vocabulary item response for a bot.

", + "BatchDeleteCustomVocabularyItemResponse$errors": "

The errors of the action to batch delete response for the custom vocabulary item.

", + "BatchUpdateCustomVocabularyItemResponse$errors": "

The errors of the action to batch update response for the custom vocabulary item.

" + } + }, "FailureReason": { "base": null, "refs": { @@ -1644,6 +1746,12 @@ "Id": { "base": null, "refs": { + "BatchCreateCustomVocabularyItemRequest$botId": "

The unique identifier of the bot to batch create the custom vocabulary item for.

", + "BatchCreateCustomVocabularyItemResponse$botId": "

The unique identifier of the bot to batch create response for the custom vocabulary item.

", + "BatchDeleteCustomVocabularyItemRequest$botId": "

The unique identifier of the bot to batch delete request for the custom vocabulary item.

", + "BatchDeleteCustomVocabularyItemResponse$botId": "

The unique identifier of the bot to batch delete response for the custom vocabulary item.

", + "BatchUpdateCustomVocabularyItemRequest$botId": "

The unique identifier of the bot to the batch update request for the custom vocabulary item.

", + "BatchUpdateCustomVocabularyItemResponse$botId": "

The unique identifier of the bot to the batch update response for the custom vocabulary item.

", "BotExportSpecification$botId": "

The identifier of the bot assigned by Amazon Lex.

", "BotLocaleExportSpecification$botId": "

The identifier of the bot to create the locale for.

", "BotLocaleImportSpecification$botId": "

The identifier of the bot to import the locale to.

", @@ -1740,6 +1848,8 @@ "ListBotRecommendationsResponse$botId": "

The unique identifier of the bot that contains the bot recommendation list.

", "ListBotVersionsRequest$botId": "

The identifier of the bot to list versions for.

", "ListBotVersionsResponse$botId": "

The identifier of the bot to list versions for.

", + "ListCustomVocabularyItemsRequest$botId": "

The unique identifier of the bot to the list custom vocabulary request.

", + "ListCustomVocabularyItemsResponse$botId": "

The unique identifier of the bot to the list custom vocabulary response.

", "ListExportsRequest$botId": "

The unique identifier that Amazon Lex assigned to the bot.

", "ListExportsResponse$botId": "

The unique identifier assigned to the bot by Amazon Lex.

", "ListImportsRequest$botId": "

The unique identifier that Amazon Lex assigned to the bot.

", @@ -2027,6 +2137,14 @@ "refs": { } }, + "ItemId": { + "base": null, + "refs": { + "CustomVocabularyEntryId$itemId": "

The unique item identifier for the custom vocabulary items.

", + "CustomVocabularyItem$itemId": "

The unique item identifer for the custom vocabulary item from the custom vocabulary list.

", + "FailedCustomVocabularyItem$itemId": "

The unique item identifer for the failed custom vocabulary item from the custom vocabulary list.

" + } + }, "KendraConfiguration": { "base": "

Provides configuration information for the AMAZON.KendraSearchIntent intent. When you use this intent, Amazon Lex searches the specified Amazon Kendra index and returns documents from the index that match the user's utterance.

", "refs": { @@ -2150,6 +2268,16 @@ "refs": { } }, + "ListCustomVocabularyItemsRequest": { + "base": null, + "refs": { + } + }, + "ListCustomVocabularyItemsResponse": { + "base": null, + "refs": { + } + }, "ListExportsRequest": { "base": null, "refs": { @@ -2223,6 +2351,12 @@ "LocaleId": { "base": null, "refs": { + "BatchCreateCustomVocabularyItemRequest$localeId": "

The unique locale identifier of the bot to batch create the custom vocabulary item for.

", + "BatchCreateCustomVocabularyItemResponse$localeId": "

The unique locale identifier of the bot to batch create the custom vocabulary item response for.

", + "BatchDeleteCustomVocabularyItemRequest$localeId": "

The locale identifier of the bot to batch delete request for the custom vocabulary item.

", + "BatchDeleteCustomVocabularyItemResponse$localeId": "

The locale identifier of the bot to batch delete response for the custom vocabulary item.

", + "BatchUpdateCustomVocabularyItemRequest$localeId": "

The locale identifier of the bot to the batch update request for the custom vocabulary item.

", + "BatchUpdateCustomVocabularyItemResponse$localeId": "

The locale identifier of the bot to the batch update response for the custom vocabulary item.

", "BotAliasLocaleSettingsMap$key": null, "BotLocaleExportSpecification$localeId": "

The identifier of the language and locale to export. The string must match one of the locales in the bot.

", "BotLocaleImportSpecification$localeId": "

The identifier of the language and locale that the bot will be used in. The string must match one of the supported locales. All of the intents, slot types, and slots used in the bot must have the same locale. For more information, see Supported languages.

", @@ -2268,6 +2402,8 @@ "ListBuiltInIntentsResponse$localeId": "

The language and locale of the intents in the list.

", "ListBuiltInSlotTypesRequest$localeId": "

The identifier of the language and locale of the slot types to list. The string must match one of the supported locales. For more information, see Supported languages.

", "ListBuiltInSlotTypesResponse$localeId": "

The language and locale of the slot types in the list.

", + "ListCustomVocabularyItemsRequest$localeId": "

The locale identifier of the bot to the list custom vocabulary request.

", + "ListCustomVocabularyItemsResponse$localeId": "

The locale identifier of the bot to the list custom vocabulary response.

", "ListExportsRequest$localeId": "

Specifies the resources that should be exported. If you don't specify a resource type in the filters parameter, both bot locales and custom vocabularies are exported.

", "ListExportsResponse$localeId": "

The locale specified in the request.

", "ListImportsRequest$localeId": "

Specifies the locale that should be present in the list. If you don't specify a resource type in the filters parameter, the list contains both bot locales and custom vocabularies.

", @@ -2323,6 +2459,7 @@ "ListBotRecommendationsRequest$maxResults": "

The maximum number of bot recommendations to return in each page of results. If there are fewer results than the max page size, only the actual number of results are returned.

", "ListBotVersionsRequest$maxResults": "

The maximum number of versions to return in each page of results. If there are fewer results than the max page size, only the actual number of results are returned.

", "ListBotsRequest$maxResults": "

The maximum number of bots to return in each page of results. If there are fewer results than the maximum page size, only the actual number of results are returned.

", + "ListCustomVocabularyItemsRequest$maxResults": "

The maximum results to the list custom vocabulary request.

", "ListExportsRequest$maxResults": "

The maximum number of exports to return in each page of results. If there are fewer results than the max page size, only the actual number of results are returned.

", "ListImportsRequest$maxResults": "

The maximum number of imports to return in each page of results. If there are fewer results than the max page size, only the actual number of results are returned.

", "ListIntentsRequest$maxResults": "

The maximum number of intents to return in each page of results. If there are fewer results than the max page size, only the actual number of results are returned.

", @@ -2452,6 +2589,12 @@ "UpdateSlotTypeResponse$slotTypeName": "

The updated name of the slot type.

" } }, + "NewCustomVocabularyItem": { + "base": "

The new custom vocabulary item from the custom vocabulary list.

", + "refs": { + "CreateCustomVocabularyItemsList$member": null + } + }, "NextIndex": { "base": null, "refs": { @@ -2478,6 +2621,8 @@ "ListBuiltInIntentsResponse$nextToken": "

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

", "ListBuiltInSlotTypesRequest$nextToken": "

If the response from the ListBuiltInSlotTypes operation contains more results than specified in the maxResults parameter, a token is returned in the response. Use that token in the nextToken parameter to return the next page of results.

", "ListBuiltInSlotTypesResponse$nextToken": "

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

", + "ListCustomVocabularyItemsRequest$nextToken": "

The nextToken identifier to the list custom vocabulary request.

", + "ListCustomVocabularyItemsResponse$nextToken": "

The nextToken identifier to the list custom vocabulary response.

", "ListExportsRequest$nextToken": "

If the response from the ListExports operation contains more results that specified in the maxResults parameter, a token is returned in the response.

Use the returned token in the nextToken parameter of a ListExports request to return the next page of results. For a complete set of results, call the ListExports operation until the nextToken returned in the response is null.

", "ListExportsResponse$nextToken": "

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

", "ListImportsRequest$nextToken": "

If the response from the ListImports operation contains more results than specified in the maxResults parameter, a token is returned in the response.

Use the returned token in the nextToken parameter of a ListImports request to return the next page of results. For a complete set of results, call the ListImports operation until the nextToken returned in the response is null.

", @@ -2575,6 +2720,15 @@ "S3BucketTranscriptSource$pathFormat": "

The object that contains a path format that will be applied when Amazon Lex reads the transcript file in the bucket you provide. Specify this object if you only want Lex to read a subset of files in your Amazon S3 bucket.

" } }, + "Phrase": { + "base": null, + "refs": { + "CustomVocabularyItem$phrase": "

The unique phrase for the custom vocabulary item from the custom vocabulary list.

", + "CustomVocabularyItem$displayAs": "

The display as value for the custom vocabulary item from the custom vocabulary list.

", + "NewCustomVocabularyItem$phrase": "

The unique phrase for the new custom vocabulary item from the custom vocabulary list.

", + "NewCustomVocabularyItem$displayAs": "

The display as value assigned to the new custom vocabulary item from the custom vocabulary list.

" + } + }, "PlainTextMessage": { "base": "

Defines an ASCII text message to send to the user.

", "refs": { @@ -3556,6 +3710,12 @@ "refs": { } }, + "UpdateCustomVocabularyItemsList": { + "base": null, + "refs": { + "BatchUpdateCustomVocabularyItemRequest$customVocabularyItemList": "

The custom vocabulary item list of the bot to the batch update request for the custom vocabulary item.

" + } + }, "UpdateExportRequest": { "base": null, "refs": { @@ -3660,6 +3820,13 @@ "SlotValueElicitationSetting$waitAndContinueSpecification": null, "SubSlotValueElicitationSetting$waitAndContinueSpecification": null } + }, + "Weight": { + "base": null, + "refs": { + "CustomVocabularyItem$weight": "

The weight assigned for the custom vocabulary item from the custom vocabulary list.

", + "NewCustomVocabularyItem$weight": "

The weight assigned to the new custom vocabulary item from the custom vocabulary list.

" + } } } } diff --git a/models/apis/models.lex.v2/2020-08-07/endpoint-rule-set-1.json b/models/apis/models.lex.v2/2020-08-07/endpoint-rule-set-1.json new file mode 100644 index 0000000000..f4f8af199b --- /dev/null +++ b/models/apis/models.lex.v2/2020-08-07/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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://models-v2-lex-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://models-v2-lex-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": [], + "endpoint": { + "url": "https://models-v2-lex.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://models-v2-lex.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/models.lex.v2/2020-08-07/endpoint-tests-1.json b/models/apis/models.lex.v2/2020-08-07/endpoint-tests-1.json new file mode 100644 index 0000000000..0fae5cecd8 --- /dev/null +++ b/models/apis/models.lex.v2/2020-08-07/endpoint-tests-1.json @@ -0,0 +1,615 @@ +{ + "testCases": [ + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://models-v2-lex.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/models.lex.v2/2020-08-07/paginators-1.json b/models/apis/models.lex.v2/2020-08-07/paginators-1.json index e5e50b9277..895e54e4c1 100644 --- a/models/apis/models.lex.v2/2020-08-07/paginators-1.json +++ b/models/apis/models.lex.v2/2020-08-07/paginators-1.json @@ -40,6 +40,11 @@ "output_token": "nextToken", "limit_key": "maxResults" }, + "ListCustomVocabularyItems": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, "ListExports": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/ssm/2014-11-06/api-2.json b/models/apis/ssm/2014-11-06/api-2.json index 651136c90a..ad4976defd 100644 --- a/models/apis/ssm/2014-11-06/api-2.json +++ b/models/apis/ssm/2014-11-06/api-2.json @@ -9913,7 +9913,8 @@ "TargetLocation":{ "shape":"TargetLocation", "box":true - } + }, + "TriggeredAlarms":{"shape":"AlarmStateInformationList"} } }, "StepExecutionFilter":{ @@ -10061,6 +10062,10 @@ "ExecutionRoleName":{ "shape":"ExecutionRoleName", "box":true + }, + "TargetLocationAlarmConfiguration":{ + "shape":"AlarmConfiguration", + "box":true } } }, diff --git a/models/apis/ssm/2014-11-06/docs-2.json b/models/apis/ssm/2014-11-06/docs-2.json index 8eb8280194..1a004597bf 100644 --- a/models/apis/ssm/2014-11-06/docs-2.json +++ b/models/apis/ssm/2014-11-06/docs-2.json @@ -257,6 +257,7 @@ "RegisterTaskWithMaintenanceWindowRequest$AlarmConfiguration": "

The CloudWatch alarm you want to apply to your maintenance window task.

", "SendCommandRequest$AlarmConfiguration": "

The CloudWatch alarm you want to apply to your command.

", "StartAutomationExecutionRequest$AlarmConfiguration": "

The CloudWatch alarm you want to apply to your automation.

", + "TargetLocation$TargetLocationAlarmConfiguration": null, "UpdateAssociationRequest$AlarmConfiguration": null, "UpdateMaintenanceWindowTaskRequest$AlarmConfiguration": "

The CloudWatch alarm you want to apply to your maintenance window task.

", "UpdateMaintenanceWindowTaskResult$AlarmConfiguration": "

The details for the CloudWatch alarm you applied to your maintenance window task.

" @@ -290,7 +291,8 @@ "AutomationExecutionMetadata$TriggeredAlarms": "

The CloudWatch alarm that was invoked by the automation.

", "Command$TriggeredAlarms": "

The CloudWatch alarm that was invoked by the command.

", "GetMaintenanceWindowExecutionTaskResult$TriggeredAlarms": "

The CloudWatch alarms that were invoked by the maintenance window task.

", - "MaintenanceWindowExecutionTaskIdentity$TriggeredAlarms": "

The CloudWatch alarm that was invoked by the maintenance window task.

" + "MaintenanceWindowExecutionTaskIdentity$TriggeredAlarms": "

The CloudWatch alarm that was invoked by the maintenance window task.

", + "StepExecution$TriggeredAlarms": "

The CloudWatch alarms that were invoked by the automation.

" } }, "AllowedPattern": { diff --git a/models/apis/ssm/2014-11-06/endpoint-rule-set-1.json b/models/apis/ssm/2014-11-06/endpoint-rule-set-1.json new file mode 100644 index 0000000000..0bf2ed70f4 --- /dev/null +++ b/models/apis/ssm/2014-11-06/endpoint-rule-set-1.json @@ -0,0 +1,340 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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://ssm-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": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://ssm.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://ssm-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": [], + "endpoint": { + "url": "https://ssm.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://ssm.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/ssm/2014-11-06/endpoint-tests-1.json b/models/apis/ssm/2014-11-06/endpoint-tests-1.json new file mode 100644 index 0000000000..fd49dce080 --- /dev/null +++ b/models/apis/ssm/2014-11-06/endpoint-tests-1.json @@ -0,0 +1,1799 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-south-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-south-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-central-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-central-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-northeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-iso-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-iso-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-southeast-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-3", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-4", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-4", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-southeast-4.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-4", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.ap-southeast-4.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-4", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "Region": "cn-northwest-1", + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "Region": "cn-northwest-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "Region": "us-isob-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-isob-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "Region": "us-isob-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-isob-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/wafv2/2019-07-29/docs-2.json b/models/apis/wafv2/2019-07-29/docs-2.json index 763d87807b..6eb52fce53 100755 --- a/models/apis/wafv2/2019-07-29/docs-2.json +++ b/models/apis/wafv2/2019-07-29/docs-2.json @@ -276,7 +276,7 @@ "CountryCodes": { "base": null, "refs": { - "GeoMatchStatement$CountryCodes": "

An array of two-character country codes, for example, [ \"US\", \"CN\" ], from the alpha-2 country ISO codes of the ISO 3166 international standard.

" + "GeoMatchStatement$CountryCodes": "

An array of two-character country codes that you want to match against, for example, [ \"US\", \"CN\" ], from the alpha-2 country ISO codes of the ISO 3166 international standard.

When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.

" } }, "CreateIPSetRequest": { @@ -742,9 +742,9 @@ } }, "GeoMatchStatement": { - "base": "

A rule statement used to identify web requests based on country of origin.

", + "base": "

A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match.

WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ForwardedIPConfig.

If you use the web request origin, the label formats are awswaf:clientip:geo:region:<ISO country code>-<ISO region code> and awswaf:clientip:geo:country:<ISO country code>.

If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> and awswaf:forwardedip:geo:country:<ISO country code>.

For additional details, see Geographic match rule statement in the WAF Developer Guide.

", "refs": { - "Statement$GeoMatchStatement": "

A rule statement used to identify web requests based on country of origin.

" + "Statement$GeoMatchStatement": "

A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match.

WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ForwardedIPConfig.

If you use the web request origin, the label formats are awswaf:clientip:geo:region:<ISO country code>-<ISO region code> and awswaf:clientip:geo:country:<ISO country code>.

If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> and awswaf:forwardedip:geo:country:<ISO country code>.

For additional details, see Geographic match rule statement in the WAF Developer Guide.

" } }, "GetIPSetRequest": { @@ -1041,9 +1041,9 @@ } }, "LabelMatchStatement": { - "base": "

A rule statement that defines a string match search against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

", + "base": "

A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

", "refs": { - "Statement$LabelMatchStatement": "

A rule statement that defines a string match search against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

" + "Statement$LabelMatchStatement": "

A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

" } }, "LabelName": { diff --git a/models/apis/wellarchitected/2020-03-31/api-2.json b/models/apis/wellarchitected/2020-03-31/api-2.json index 2219e0cf26..4e7f1df659 100644 --- a/models/apis/wellarchitected/2020-03-31/api-2.json +++ b/models/apis/wellarchitected/2020-03-31/api-2.json @@ -360,6 +360,38 @@ {"shape":"ThrottlingException"} ] }, + "ListCheckDetails":{ + "name":"ListCheckDetails", + "http":{ + "method":"POST", + "requestUri":"/workloads/{WorkloadId}/checks" + }, + "input":{"shape":"ListCheckDetailsInput"}, + "output":{"shape":"ListCheckDetailsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListCheckSummaries":{ + "name":"ListCheckSummaries", + "http":{ + "method":"POST", + "requestUri":"/workloads/{WorkloadId}/checkSummaries" + }, + "input":{"shape":"ListCheckSummariesInput"}, + "output":{"shape":"ListCheckSummariesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, "ListLensReviewImprovements":{ "name":"ListLensReviewImprovements", "http":{ @@ -666,6 +698,11 @@ "error":{"httpStatusCode":403}, "exception":true }, + "AccountSummary":{ + "type":"map", + "key":{"shape":"CheckStatus"}, + "value":{"shape":"CheckStatusCount"} + }, "AdditionalResourceType":{ "type":"string", "enum":[ @@ -731,6 +768,11 @@ "Reason":{"shape":"AnswerReason"} } }, + "ApplicationArn":{ + "type":"string", + "max":2084, + "pattern":"arn:aws[-a-z]*:servicecatalog:[a-z]{2}(-gov)?-[a-z]+-\\d:\\d{12}:/applications/[a-z0-9]+" + }, "AssociateLensesInput":{ "type":"structure", "required":[ @@ -755,6 +797,79 @@ "max":100 }, "Base64String":{"type":"string"}, + "CheckDescription":{"type":"string"}, + "CheckDetail":{ + "type":"structure", + "members":{ + "Id":{"shape":"CheckId"}, + "Name":{"shape":"CheckName"}, + "Description":{"shape":"CheckDescription"}, + "Provider":{"shape":"CheckProvider"}, + "LensArn":{"shape":"LensArn"}, + "PillarId":{"shape":"PillarId"}, + "QuestionId":{"shape":"QuestionId"}, + "ChoiceId":{"shape":"ChoiceId"}, + "Status":{"shape":"CheckStatus"}, + "AccountId":{"shape":"AwsAccountId"}, + "FlaggedResources":{"shape":"FlaggedResources"}, + "Reason":{"shape":"CheckFailureReason"}, + "UpdatedAt":{"shape":"Timestamp"} + } + }, + "CheckDetails":{ + "type":"list", + "member":{"shape":"CheckDetail"} + }, + "CheckFailureReason":{ + "type":"string", + "enum":[ + "ASSUME_ROLE_ERROR", + "ACCESS_DENIED", + "UNKNOWN_ERROR", + "PREMIUM_SUPPORT_REQUIRED" + ] + }, + "CheckId":{"type":"string"}, + "CheckName":{"type":"string"}, + "CheckProvider":{ + "type":"string", + "enum":["TRUSTED_ADVISOR"] + }, + "CheckStatus":{ + "type":"string", + "enum":[ + "OKAY", + "WARNING", + "ERROR", + "NOT_AVAILABLE", + "FETCH_FAILED" + ] + }, + "CheckStatusCount":{ + "type":"integer", + "max":101, + "min":1 + }, + "CheckSummaries":{ + "type":"list", + "member":{"shape":"CheckSummary"} + }, + "CheckSummary":{ + "type":"structure", + "members":{ + "Id":{"shape":"CheckId"}, + "Name":{"shape":"CheckName"}, + "Provider":{"shape":"CheckProvider"}, + "Description":{"shape":"CheckDescription"}, + "UpdatedAt":{"shape":"Timestamp"}, + "LensArn":{"shape":"LensArn"}, + "PillarId":{"shape":"PillarId"}, + "QuestionId":{"shape":"QuestionId"}, + "ChoiceId":{"shape":"ChoiceId"}, + "Status":{"shape":"CheckStatus"}, + "AccountSummary":{"shape":"AccountSummary"} + } + }, "Choice":{ "type":"structure", "members":{ @@ -1003,7 +1118,9 @@ "shape":"ClientRequestToken", "idempotencyToken":true }, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "DiscoveryConfig":{"shape":"WorkloadDiscoveryConfig"}, + "Applications":{"shape":"WorkloadApplications"} } }, "CreateWorkloadOutput":{ @@ -1193,6 +1310,11 @@ "LensJSON":{"shape":"LensJSON"} } }, + "FlaggedResources":{ + "type":"integer", + "max":9999, + "min":1 + }, "GetAnswerInput":{ "type":"structure", "required":[ @@ -1674,6 +1796,66 @@ "NextToken":{"shape":"NextToken"} } }, + "ListCheckDetailsInput":{ + "type":"structure", + "required":[ + "WorkloadId", + "LensArn", + "PillarId", + "QuestionId", + "ChoiceId" + ], + "members":{ + "WorkloadId":{ + "shape":"WorkloadId", + "location":"uri", + "locationName":"WorkloadId" + }, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "LensArn":{"shape":"LensArn"}, + "PillarId":{"shape":"PillarId"}, + "QuestionId":{"shape":"QuestionId"}, + "ChoiceId":{"shape":"ChoiceId"} + } + }, + "ListCheckDetailsOutput":{ + "type":"structure", + "members":{ + "CheckDetails":{"shape":"CheckDetails"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListCheckSummariesInput":{ + "type":"structure", + "required":[ + "WorkloadId", + "LensArn", + "PillarId", + "QuestionId", + "ChoiceId" + ], + "members":{ + "WorkloadId":{ + "shape":"WorkloadId", + "location":"uri", + "locationName":"WorkloadId" + }, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "LensArn":{"shape":"LensArn"}, + "PillarId":{"shape":"PillarId"}, + "QuestionId":{"shape":"QuestionId"}, + "ChoiceId":{"shape":"ChoiceId"} + } + }, + "ListCheckSummariesOutput":{ + "type":"structure", + "members":{ + "CheckSummaries":{"shape":"CheckSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListLensReviewImprovementsInput":{ "type":"structure", "required":[ @@ -2330,6 +2512,13 @@ "exception":true }, "Timestamp":{"type":"timestamp"}, + "TrustedAdvisorIntegrationStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "UntagResourceInput":{ "type":"structure", "required":[ @@ -2470,7 +2659,9 @@ "IndustryType":{"shape":"WorkloadIndustryType"}, "Industry":{"shape":"WorkloadIndustry"}, "Notes":{"shape":"Notes"}, - "ImprovementStatus":{"shape":"WorkloadImprovementStatus"} + "ImprovementStatus":{"shape":"WorkloadImprovementStatus"}, + "DiscoveryConfig":{"shape":"WorkloadDiscoveryConfig"}, + "Applications":{"shape":"WorkloadApplications"} } }, "UpdateWorkloadOutput":{ @@ -2600,7 +2791,9 @@ "Lenses":{"shape":"WorkloadLenses"}, "Owner":{"shape":"AwsAccountId"}, "ShareInvitationId":{"shape":"ShareInvitationId"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "DiscoveryConfig":{"shape":"WorkloadDiscoveryConfig"}, + "Applications":{"shape":"WorkloadApplications"} } }, "WorkloadAccountIds":{ @@ -2608,9 +2801,15 @@ "member":{"shape":"AwsAccountId"}, "max":100 }, + "WorkloadApplications":{ + "type":"list", + "member":{"shape":"ApplicationArn"}, + "max":1 + }, "WorkloadArchitecturalDesign":{ "type":"string", - "max":2048 + "max":2048, + "pattern":"^(|(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*)$" }, "WorkloadArn":{"type":"string"}, "WorkloadAwsRegions":{ @@ -2623,6 +2822,12 @@ "max":250, "min":3 }, + "WorkloadDiscoveryConfig":{ + "type":"structure", + "members":{ + "TrustedAdvisorIntegrationStatus":{"shape":"TrustedAdvisorIntegrationStatus"} + } + }, "WorkloadEnvironment":{ "type":"string", "enum":[ diff --git a/models/apis/wellarchitected/2020-03-31/docs-2.json b/models/apis/wellarchitected/2020-03-31/docs-2.json index 7bb8510193..9c17eb3d3f 100644 --- a/models/apis/wellarchitected/2020-03-31/docs-2.json +++ b/models/apis/wellarchitected/2020-03-31/docs-2.json @@ -3,13 +3,13 @@ "service": "Well-Architected Tool

This is the Well-Architected Tool API Reference. The WA Tool API provides programmatic access to the Well-Architected Tool in the Amazon Web Services Management Console. For information about the Well-Architected Tool, see the Well-Architected Tool User Guide.

", "operations": { "AssociateLenses": "

Associate a lens to a workload.

Up to 10 lenses can be associated with a workload in a single API operation. A maximum of 20 lenses can be associated with a workload.

Disclaimer

By accessing and/or applying custom lenses created by another Amazon Web Services user or account, you acknowledge that custom lenses created by other users and shared with you are Third Party Content as defined in the Amazon Web Services Customer Agreement.

", - "CreateLensShare": "

Create a lens share.

The owner of a lens can share it with other Amazon Web Services accounts and IAM users in the same Amazon Web Services Region. Shared access to a lens is not removed until the lens invitation is deleted.

Disclaimer

By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.

", + "CreateLensShare": "

Create a lens share.

The owner of a lens can share it with other Amazon Web Services accounts, IAM users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Shared access to a lens is not removed until the lens invitation is deleted.

Disclaimer

By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.

", "CreateLensVersion": "

Create a new lens version.

A lens can have up to 100 versions.

After a lens has been imported, create a new lens version to publish it. The owner of a lens can share the lens with other Amazon Web Services accounts and IAM users in the same Amazon Web Services Region. Only the owner of a lens can delete it.

", "CreateMilestone": "

Create a milestone for an existing workload.

", - "CreateWorkload": "

Create a new workload.

The owner of a workload can share the workload with other Amazon Web Services accounts and IAM users in the same Amazon Web Services Region. Only the owner of a workload can delete it.

For more information, see Defining a Workload in the Well-Architected Tool User Guide.

", + "CreateWorkload": "

Create a new workload.

The owner of a workload can share the workload with other Amazon Web Services accounts, IAM users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Only the owner of a workload can delete it.

For more information, see Defining a Workload in the Well-Architected Tool User Guide.

", "CreateWorkloadShare": "

Create a workload share.

The owner of a workload can share it with other Amazon Web Services accounts and IAM users in the same Amazon Web Services Region. Shared access to a workload is not removed until the workload invitation is deleted.

For more information, see Sharing a Workload in the Well-Architected Tool User Guide.

", "DeleteLens": "

Delete an existing lens.

Only the owner of a lens can delete it. After the lens is deleted, Amazon Web Services accounts and IAM users that you shared the lens with can continue to use it, but they will no longer be able to apply it to new workloads.

Disclaimer

By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.

", - "DeleteLensShare": "

Delete a lens share.

After the lens share is deleted, Amazon Web Services accounts and IAM users that you shared the lens with can continue to use it, but they will no longer be able to apply it to new workloads.

Disclaimer

By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.

", + "DeleteLensShare": "

Delete a lens share.

After the lens share is deleted, Amazon Web Services accounts, IAM users, organizations, and organizational units (OUs) that you shared the lens with can continue to use it, but they will no longer be able to apply it to new workloads.

Disclaimer

By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.

", "DeleteWorkload": "

Delete an existing workload.

", "DeleteWorkloadShare": "

Delete a workload share.

", "DisassociateLenses": "

Disassociate a lens from a workload.

Up to 10 lenses can be disassociated from a workload in a single API operation.

The Amazon Web Services Well-Architected Framework lens (wellarchitected) cannot be removed from a workload.

", @@ -23,6 +23,8 @@ "GetWorkload": "

Get an existing workload.

", "ImportLens": "

Import a new lens.

The lens cannot be applied to workloads or shared with other Amazon Web Services accounts until it's published with CreateLensVersion

Lenses are defined in JSON. For more information, see JSON format specification in the Well-Architected Tool User Guide.

A custom lens cannot exceed 500 KB in size.

Disclaimer

Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals in or via your custom lenses. If your custom lens or those shared with you and used in your account do include or collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable law, providing adequate privacy notices, and obtaining necessary consents for processing such data.

", "ListAnswers": "

List of answers.

", + "ListCheckDetails": "

List of Trusted Advisor check details by account related to the workload.

", + "ListCheckSummaries": "

List of Trusted Advisor checks summarized for all accounts related to the workload.

", "ListLensReviewImprovements": "

List lens review improvements.

", "ListLensReviews": "

List lens reviews.

", "ListLensShares": "

List the lens shares associated with the lens.

", @@ -38,7 +40,7 @@ "UpdateAnswer": "

Update the answer to a specific question in a workload review.

", "UpdateGlobalSettings": "

Updates whether the Amazon Web Services account is opted into organization sharing features.

", "UpdateLensReview": "

Update lens review.

", - "UpdateShareInvitation": "

Update a workload invitation.

", + "UpdateShareInvitation": "

Update a workload or custom lens share invitation.

This API operation can be called independently of any resource. Previous documentation implied that a workload ARN must be specified.

", "UpdateWorkload": "

Update an existing workload.

", "UpdateWorkloadShare": "

Update a workload share.

", "UpgradeLensReview": "

Upgrade lens review.

" @@ -49,6 +51,12 @@ "refs": { } }, + "AccountSummary": { + "base": "

Account summary for a Well-Architected best practice in relation to Trusted Advisor checks.

", + "refs": { + "CheckSummary$AccountSummary": "

Account summary associated to the check.

" + } + }, "AdditionalResourceType": { "base": null, "refs": { @@ -94,6 +102,12 @@ "AnswerSummaries$member": null } }, + "ApplicationArn": { + "base": null, + "refs": { + "WorkloadApplications$member": null + } + }, "AssociateLensesInput": { "base": "

Input to associate lens reviews.

", "refs": { @@ -102,6 +116,7 @@ "AwsAccountId": { "base": "

An Amazon Web Services account ID.

", "refs": { + "CheckDetail$AccountId": null, "LensSummary$Owner": null, "ShareInvitationSummary$SharedBy": null, "Workload$Owner": null, @@ -122,6 +137,78 @@ "LensReviewReport$Base64String": null } }, + "CheckDescription": { + "base": null, + "refs": { + "CheckDetail$Description": "

Trusted Advisor check description.

", + "CheckSummary$Description": "

Trusted Advisor check description.

" + } + }, + "CheckDetail": { + "base": "

Account details for a Well-Architected best practice in relation to Trusted Advisor checks.

", + "refs": { + "CheckDetails$member": null + } + }, + "CheckDetails": { + "base": null, + "refs": { + "ListCheckDetailsOutput$CheckDetails": "

The details about the Trusted Advisor checks related to the Well-Architected best practice.

" + } + }, + "CheckFailureReason": { + "base": null, + "refs": { + "CheckDetail$Reason": "

Reason associated to the check.

" + } + }, + "CheckId": { + "base": null, + "refs": { + "CheckDetail$Id": "

Trusted Advisor check ID.

", + "CheckSummary$Id": "

Trusted Advisor check ID.

" + } + }, + "CheckName": { + "base": null, + "refs": { + "CheckDetail$Name": "

Trusted Advisor check name.

", + "CheckSummary$Name": "

Trusted Advisor check name.

" + } + }, + "CheckProvider": { + "base": null, + "refs": { + "CheckDetail$Provider": "

Provider of the check related to the best practice.

", + "CheckSummary$Provider": "

Provider of the check related to the best practice.

" + } + }, + "CheckStatus": { + "base": null, + "refs": { + "AccountSummary$key": null, + "CheckDetail$Status": "

Status associated to the check.

", + "CheckSummary$Status": "

Status associated to the check.

" + } + }, + "CheckStatusCount": { + "base": null, + "refs": { + "AccountSummary$value": null + } + }, + "CheckSummaries": { + "base": null, + "refs": { + "ListCheckSummariesOutput$CheckSummaries": "

List of Trusted Advisor summaries related to the Well-Architected best practice.

" + } + }, + "CheckSummary": { + "base": "

Trusted Advisor check summary.

", + "refs": { + "CheckSummaries$member": null + } + }, "Choice": { "base": "

A choice available to answer question.

", "refs": { @@ -181,11 +268,15 @@ "ChoiceId": { "base": "

The ID of a choice.

", "refs": { + "CheckDetail$ChoiceId": null, + "CheckSummary$ChoiceId": null, "Choice$ChoiceId": null, "ChoiceAnswer$ChoiceId": null, "ChoiceAnswerSummary$ChoiceId": null, "ChoiceImprovementPlan$ChoiceId": null, "ChoiceUpdates$key": null, + "ListCheckDetailsInput$ChoiceId": null, + "ListCheckSummariesInput$ChoiceId": null, "SelectedChoices$member": null } }, @@ -404,6 +495,12 @@ "refs": { } }, + "FlaggedResources": { + "base": null, + "refs": { + "CheckDetail$FlaggedResources": "

Count of flagged resources associated to the check.

" + } + }, "GetAnswerInput": { "base": "

Input to get answer.

", "refs": { @@ -593,6 +690,8 @@ "LensArn": { "base": null, "refs": { + "CheckDetail$LensArn": "

Well-Architected Lens ARN associated to the check.

", + "CheckSummary$LensArn": "

Well-Architected Lens ARN associated to the check.

", "CreateLensVersionOutput$LensArn": "

The ARN for the lens.

", "GetAnswerOutput$LensArn": "

The ARN for the lens.

", "GetLensVersionDifferenceOutput$LensArn": "

The ARN for the lens.

", @@ -604,6 +703,8 @@ "LensSummary$LensArn": "

The ARN of the lens.

", "LensUpgradeSummary$LensArn": "

The ARN for the lens.

", "ListAnswersOutput$LensArn": "

The ARN for the lens.

", + "ListCheckDetailsInput$LensArn": "

Well-Architected Lens ARN.

", + "ListCheckSummariesInput$LensArn": "

Well-Architected Lens ARN.

", "ListLensReviewImprovementsOutput$LensArn": "

The ARN for the lens.

", "ShareInvitation$LensArn": "

The ARN for the lens.

", "ShareInvitationSummary$LensArn": "

The ARN for the lens.

", @@ -760,6 +861,26 @@ "refs": { } }, + "ListCheckDetailsInput": { + "base": null, + "refs": { + } + }, + "ListCheckDetailsOutput": { + "base": null, + "refs": { + } + }, + "ListCheckSummariesInput": { + "base": null, + "refs": { + } + }, + "ListCheckSummariesOutput": { + "base": null, + "refs": { + } + }, "ListLensReviewImprovementsInput": { "base": "

Input to list lens review improvements.

", "refs": { @@ -894,6 +1015,8 @@ "MaxResults": { "base": "

The maximum number of results to return for this request.

", "refs": { + "ListCheckDetailsInput$MaxResults": null, + "ListCheckSummariesInput$MaxResults": null, "ListLensReviewsInput$MaxResults": null, "ListLensesInput$MaxResults": null, "ListMilestonesInput$MaxResults": null @@ -953,6 +1076,10 @@ "LensReview$NextToken": null, "ListAnswersInput$NextToken": null, "ListAnswersOutput$NextToken": null, + "ListCheckDetailsInput$NextToken": null, + "ListCheckDetailsOutput$NextToken": null, + "ListCheckSummariesInput$NextToken": null, + "ListCheckSummariesOutput$NextToken": null, "ListLensReviewImprovementsInput$NextToken": null, "ListLensReviewImprovementsOutput$NextToken": null, "ListLensReviewsInput$NextToken": null, @@ -1038,8 +1165,12 @@ "refs": { "Answer$PillarId": null, "AnswerSummary$PillarId": null, + "CheckDetail$PillarId": null, + "CheckSummary$PillarId": null, "ImprovementSummary$PillarId": null, "ListAnswersInput$PillarId": null, + "ListCheckDetailsInput$PillarId": null, + "ListCheckSummariesInput$PillarId": null, "ListLensReviewImprovementsInput$PillarId": null, "PillarDifference$PillarId": null, "PillarNotes$key": null, @@ -1095,8 +1226,12 @@ "refs": { "Answer$QuestionId": null, "AnswerSummary$QuestionId": null, + "CheckDetail$QuestionId": null, + "CheckSummary$QuestionId": null, "GetAnswerInput$QuestionId": null, "ImprovementSummary$QuestionId": null, + "ListCheckDetailsInput$QuestionId": null, + "ListCheckSummariesInput$QuestionId": null, "QuestionDifference$QuestionId": null, "UpdateAnswerInput$QuestionId": null } @@ -1177,7 +1312,7 @@ "ShareInvitation": { "base": "

The share invitation.

", "refs": { - "UpdateShareInvitationOutput$ShareInvitation": "

The updated workload share invitation.

" + "UpdateShareInvitationOutput$ShareInvitation": "

The updated workload or custom lens share invitation.

" } }, "ShareInvitationAction": { @@ -1227,7 +1362,7 @@ } }, "SharedWith": { - "base": "

The Amazon Web Services account ID or IAM role with which the workload is shared.

", + "base": "

The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the workload is shared.

", "refs": { "CreateLensShareInput$SharedWith": null, "CreateWorkloadShareInput$SharedWith": null, @@ -1240,8 +1375,8 @@ "SharedWithPrefix": { "base": null, "refs": { - "ListLensSharesInput$SharedWithPrefix": "

The Amazon Web Services account ID or IAM role with which the lens is shared.

", - "ListWorkloadSharesInput$SharedWithPrefix": "

The Amazon Web Services account ID or IAM role with which the workload is shared.

" + "ListLensSharesInput$SharedWithPrefix": "

The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the lens is shared.

", + "ListWorkloadSharesInput$SharedWithPrefix": "

The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the workload is shared.

" } }, "StatusMessage": { @@ -1299,6 +1434,8 @@ "Timestamp": { "base": "

The date and time recorded.

", "refs": { + "CheckDetail$UpdatedAt": null, + "CheckSummary$UpdatedAt": null, "LensReview$UpdatedAt": null, "LensReviewSummary$UpdatedAt": null, "LensSummary$CreatedAt": null, @@ -1310,6 +1447,12 @@ "WorkloadSummary$UpdatedAt": null } }, + "TrustedAdvisorIntegrationStatus": { + "base": null, + "refs": { + "WorkloadDiscoveryConfig$TrustedAdvisorIntegrationStatus": "

Discovery integration status in respect to Trusted Advisor for the workload.

" + } + }, "UntagResourceInput": { "base": null, "refs": { @@ -1437,6 +1580,14 @@ "Workload$AccountIds": null } }, + "WorkloadApplications": { + "base": null, + "refs": { + "CreateWorkloadInput$Applications": "

List of AppRegistry application ARNs associated to the workload.

", + "UpdateWorkloadInput$Applications": "

List of AppRegistry application ARNs to associate to the workload.

", + "Workload$Applications": "

List of AppRegistry application ARNs associated to the workload.

" + } + }, "WorkloadArchitecturalDesign": { "base": "

The URL of the architectural design for the workload.

", "refs": { @@ -1472,6 +1623,14 @@ "Workload$Description": null } }, + "WorkloadDiscoveryConfig": { + "base": "

Discovery configuration associated to the workload.

", + "refs": { + "CreateWorkloadInput$DiscoveryConfig": "

Well-Architected discovery configuration settings associated to the workload.

", + "UpdateWorkloadInput$DiscoveryConfig": "

Well-Architected discovery configuration settings to associate to the workload.

", + "Workload$DiscoveryConfig": "

Discovery configuration associated to the workload.

" + } + }, "WorkloadEnvironment": { "base": "

The environment for the workload.

", "refs": { @@ -1504,6 +1663,8 @@ "LensUpgradeSummary$WorkloadId": null, "ListAnswersInput$WorkloadId": null, "ListAnswersOutput$WorkloadId": null, + "ListCheckDetailsInput$WorkloadId": null, + "ListCheckSummariesInput$WorkloadId": null, "ListLensReviewImprovementsInput$WorkloadId": null, "ListLensReviewImprovementsOutput$WorkloadId": null, "ListLensReviewsInput$WorkloadId": null, diff --git a/models/apis/wellarchitected/2020-03-31/endpoint-rule-set-1.json b/models/apis/wellarchitected/2020-03-31/endpoint-rule-set-1.json new file mode 100644 index 0000000000..5e94b36780 --- /dev/null +++ b/models/apis/wellarchitected/2020-03-31/endpoint-rule-set-1.json @@ -0,0 +1,315 @@ +{ + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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://wellarchitected-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://wellarchitected-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": [], + "endpoint": { + "url": "https://wellarchitected.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://wellarchitected.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/wellarchitected/2020-03-31/endpoint-tests-1.json b/models/apis/wellarchitected/2020-03-31/endpoint-tests-1.json new file mode 100644 index 0000000000..e20743591f --- /dev/null +++ b/models/apis/wellarchitected/2020-03-31/endpoint-tests-1.json @@ -0,0 +1,1083 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ca-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-3", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-gov-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wellarchitected.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/wellarchitected/2020-03-31/paginators-1.json b/models/apis/wellarchitected/2020-03-31/paginators-1.json index 5e26967b6c..f83fd27e4f 100644 --- a/models/apis/wellarchitected/2020-03-31/paginators-1.json +++ b/models/apis/wellarchitected/2020-03-31/paginators-1.json @@ -5,6 +5,16 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListCheckDetails": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListCheckSummaries": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListLensReviewImprovements": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/workspaces/2015-04-08/api-2.json b/models/apis/workspaces/2015-04-08/api-2.json index 50fe48415e..b10b4831be 100644 --- a/models/apis/workspaces/2015-04-08/api-2.json +++ b/models/apis/workspaces/2015-04-08/api-2.json @@ -2330,6 +2330,17 @@ "max":2048, "min":1 }, + "Protocol":{ + "type":"string", + "enum":[ + "PCOIP", + "WSP" + ] + }, + "ProtocolList":{ + "type":"list", + "member":{"shape":"Protocol"} + }, "RebootRequest":{ "type":"structure", "required":["WorkspaceId"], @@ -3024,7 +3035,8 @@ "RunningModeAutoStopTimeoutInMinutes":{"shape":"RunningModeAutoStopTimeoutInMinutes"}, "RootVolumeSizeGib":{"shape":"RootVolumeSizeGib"}, "UserVolumeSizeGib":{"shape":"UserVolumeSizeGib"}, - "ComputeTypeName":{"shape":"Compute"} + "ComputeTypeName":{"shape":"Compute"}, + "Protocols":{"shape":"ProtocolList"} } }, "WorkspaceRequest":{ diff --git a/models/apis/workspaces/2015-04-08/docs-2.json b/models/apis/workspaces/2015-04-08/docs-2.json index 7a746214fb..25c1b5797e 100644 --- a/models/apis/workspaces/2015-04-08/docs-2.json +++ b/models/apis/workspaces/2015-04-08/docs-2.json @@ -1415,6 +1415,18 @@ "ListAvailableManagementCidrRangesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" } }, + "Protocol": { + "base": null, + "refs": { + "ProtocolList$member": null + } + }, + "ProtocolList": { + "base": null, + "refs": { + "WorkspaceProperties$Protocols": "

The protocol. For more information, see Protocols for Amazon WorkSpaces.

" + } + }, "RebootRequest": { "base": "

Describes the information used to reboot a WorkSpace.

", "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 23989e36e2..c0262dc035 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -4822,6 +4822,7 @@ "deprecated" : true, "hostname" : "fips.eks.us-west-2.amazonaws.com" }, + "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { @@ -5963,6 +5964,7 @@ "deprecated" : true, "hostname" : "firehose-fips.us-west-2.amazonaws.com" }, + "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { diff --git a/service/athena/api.go b/service/athena/api.go index 4a4e82194a..03a8e19489 100644 --- a/service/athena/api.go +++ b/service/athena/api.go @@ -1494,6 +1494,9 @@ func (c *Athena) GetQueryResultsRequest(input *GetQueryResultsInput) (req *reque // Indicates that something is wrong with the input to the request. For example, // a required parameter may be missing or out of range. // +// - TooManyRequestsException +// Indicates that the request was throttled. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryResults func (c *Athena) GetQueryResults(input *GetQueryResultsInput) (*GetQueryResultsOutput, error) { req, out := c.GetQueryResultsRequest(input) @@ -7874,6 +7877,9 @@ type QueryExecution struct { // are specified for the workgroup. ResultConfiguration *ResultConfiguration `type:"structure"` + // Specifies the query result reuse behavior that was used for the query. + ResultReuseConfiguration *ResultReuseConfiguration `type:"structure"` + // The type of query statement that was run. DDL indicates DDL query statements. // DML indicates DML (Data Manipulation Language) query statements, such as // CREATE TABLE AS SELECT. UTILITY indicates query statements other than DDL @@ -7947,6 +7953,12 @@ func (s *QueryExecution) SetResultConfiguration(v *ResultConfiguration) *QueryEx return s } +// SetResultReuseConfiguration sets the ResultReuseConfiguration field's value. +func (s *QueryExecution) SetResultReuseConfiguration(v *ResultReuseConfiguration) *QueryExecution { + s.ResultReuseConfiguration = v + return s +} + // SetStatementType sets the StatementType field's value. func (s *QueryExecution) SetStatementType(v string) *QueryExecution { s.StatementType = &v @@ -8061,6 +8073,10 @@ type QueryExecutionStatistics struct { // add the query back to the queue. QueryQueueTimeInMillis *int64 `type:"long"` + // Contains information about whether previous query results were reused for + // the query. + ResultReuseInformation *ResultReuseInformation `type:"structure"` + // The number of milliseconds that Athena took to finalize and publish the query // results after the query engine finished running the query. ServiceProcessingTimeInMillis *int64 `type:"long"` @@ -8117,6 +8133,12 @@ func (s *QueryExecutionStatistics) SetQueryQueueTimeInMillis(v int64) *QueryExec return s } +// SetResultReuseInformation sets the ResultReuseInformation field's value. +func (s *QueryExecutionStatistics) SetResultReuseInformation(v *ResultReuseInformation) *QueryExecutionStatistics { + s.ResultReuseInformation = v + return s +} + // SetServiceProcessingTimeInMillis sets the ServiceProcessingTimeInMillis field's value. func (s *QueryExecutionStatistics) SetServiceProcessingTimeInMillis(v int64) *QueryExecutionStatistics { s.ServiceProcessingTimeInMillis = &v @@ -8904,6 +8926,148 @@ func (s *ResultConfigurationUpdates) SetRemoveOutputLocation(v bool) *ResultConf return s } +// Specifies whether previous query results are reused, and if so, their maximum +// age. +type ResultReuseByAgeConfiguration struct { + _ struct{} `type:"structure"` + + // True if previous query results can be reused when the query is run; otherwise, + // false. The default is false. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // Specifies, in minutes, the maximum age of a previous query result that Athena + // should consider for reuse. The default is 60. + MaxAgeInMinutes *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResultReuseByAgeConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResultReuseByAgeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResultReuseByAgeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResultReuseByAgeConfiguration"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *ResultReuseByAgeConfiguration) SetEnabled(v bool) *ResultReuseByAgeConfiguration { + s.Enabled = &v + return s +} + +// SetMaxAgeInMinutes sets the MaxAgeInMinutes field's value. +func (s *ResultReuseByAgeConfiguration) SetMaxAgeInMinutes(v int64) *ResultReuseByAgeConfiguration { + s.MaxAgeInMinutes = &v + return s +} + +// Specifies the query result reuse behavior for the query. +type ResultReuseConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies whether previous query results are reused, and if so, their maximum + // age. + ResultReuseByAgeConfiguration *ResultReuseByAgeConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResultReuseConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResultReuseConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResultReuseConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResultReuseConfiguration"} + if s.ResultReuseByAgeConfiguration != nil { + if err := s.ResultReuseByAgeConfiguration.Validate(); err != nil { + invalidParams.AddNested("ResultReuseByAgeConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResultReuseByAgeConfiguration sets the ResultReuseByAgeConfiguration field's value. +func (s *ResultReuseConfiguration) SetResultReuseByAgeConfiguration(v *ResultReuseByAgeConfiguration) *ResultReuseConfiguration { + s.ResultReuseByAgeConfiguration = v + return s +} + +// Contains information about whether the result of a previous query was reused. +type ResultReuseInformation struct { + _ struct{} `type:"structure"` + + // True if a previous query result was reused; false if the result was generated + // from a new run of the query. + // + // ReusedPreviousResult is a required field + ReusedPreviousResult *bool `type:"boolean" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResultReuseInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResultReuseInformation) GoString() string { + return s.String() +} + +// SetReusedPreviousResult sets the ReusedPreviousResult field's value. +func (s *ResultReuseInformation) SetReusedPreviousResult(v bool) *ResultReuseInformation { + s.ReusedPreviousResult = &v + return s +} + // The metadata and rows that make up a query result set. The metadata describes // the column structure and data types. To return a ResultSet object, use GetQueryResults. type ResultSet struct { @@ -9045,6 +9209,9 @@ type StartQueryExecutionInput struct { // in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration. ResultConfiguration *ResultConfiguration `type:"structure"` + // Specifies the query result reuse behavior for the query. + ResultReuseConfiguration *ResultReuseConfiguration `type:"structure"` + // The name of the workgroup in which the query is being started. WorkGroup *string `type:"string"` } @@ -9092,6 +9259,11 @@ func (s *StartQueryExecutionInput) Validate() error { invalidParams.AddNested("ResultConfiguration", err.(request.ErrInvalidParams)) } } + if s.ResultReuseConfiguration != nil { + if err := s.ResultReuseConfiguration.Validate(); err != nil { + invalidParams.AddNested("ResultReuseConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -9129,6 +9301,12 @@ func (s *StartQueryExecutionInput) SetResultConfiguration(v *ResultConfiguration return s } +// SetResultReuseConfiguration sets the ResultReuseConfiguration field's value. +func (s *StartQueryExecutionInput) SetResultReuseConfiguration(v *ResultReuseConfiguration) *StartQueryExecutionInput { + s.ResultReuseConfiguration = v + return s +} + // SetWorkGroup sets the WorkGroup field's value. func (s *StartQueryExecutionInput) SetWorkGroup(v string) *StartQueryExecutionInput { s.WorkGroup = &v diff --git a/service/autoscaling/api.go b/service/autoscaling/api.go index 380b62c0ab..25a9b4e997 100644 --- a/service/autoscaling/api.go +++ b/service/autoscaling/api.go @@ -859,6 +859,13 @@ func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfig // For more information, see Launch configurations (https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html) // in the Amazon EC2 Auto Scaling User Guide. // +// Amazon EC2 Auto Scaling configures instances launched as part of an Auto +// Scaling group using either a launch template or a launch configuration. We +// strongly recommend that you do not use launch configurations. They do not +// provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For +// information about using launch templates, see Launch templates (https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html) +// in the Amazon EC2 Auto Scaling User Guide. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1051,10 +1058,9 @@ func (c *AutoScaling) DeleteAutoScalingGroupRequest(input *DeleteAutoScalingGrou // Deletes the specified Auto Scaling group. // // If the group has instances or scaling activities in progress, you must specify -// the option to force the deletion in order for it to succeed. -// -// If the group has policies, deleting the group deletes the policies, the underlying -// alarm actions, and any alarm that no longer has an associated action. +// the option to force the deletion in order for it to succeed. The force delete +// operation will also terminate the EC2 instances. If the group has a warm +// pool, the force delete option also deletes the warm pool. // // To remove instances from the Auto Scaling group before deleting it, call // the DetachInstances API with the list of instances and the option to decrement @@ -1065,6 +1071,13 @@ func (c *AutoScaling) DeleteAutoScalingGroupRequest(input *DeleteAutoScalingGrou // UpdateAutoScalingGroup API and set the minimum size and desired capacity // of the Auto Scaling group to zero. // +// If the group has scaling policies, deleting the group deletes the policies, +// the underlying alarm actions, and any alarm that no longer has an associated +// action. +// +// For more information, see Delete your Auto Scaling infrastructure (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-process-shutdown.html) +// in the Amazon EC2 Auto Scaling User Guide. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -7480,10 +7493,8 @@ type CreateAutoScalingGroupInput struct { // MinSize is a required field MinSize *int64 `type:"integer" required:"true"` - // An embedded object that specifies a mixed instances policy. - // - // For more information, see Auto Scaling groups with multiple instance types - // and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) + // The mixed instances policy. For more information, see Auto Scaling groups + // with multiple instance types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) // in the Amazon EC2 Auto Scaling User Guide. MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` @@ -7842,21 +7853,10 @@ type CreateLaunchConfigurationInput struct { // in the Amazon EC2 User Guide for Linux Instances. BlockDeviceMappings []*BlockDeviceMapping `type:"list"` - // EC2-Classic retires on August 15, 2022. This property is not supported after - // that date. - // - // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. - // For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) - // in the Amazon EC2 User Guide for Linux Instances. + // Available for backward compatibility. ClassicLinkVPCId *string `min:"1" type:"string"` - // EC2-Classic retires on August 15, 2022. This property is not supported after - // that date. - // - // The IDs of one or more security groups for the specified ClassicLink-enabled - // VPC. - // - // If you specify the ClassicLinkVPCId property, you must specify ClassicLinkVPCSecurityGroups. + // Available for backward compatibility. ClassicLinkVPCSecurityGroups []*string `type:"list"` // Specifies whether the launch configuration is optimized for EBS I/O (true) @@ -10954,11 +10954,13 @@ type DesiredConfiguration struct { // in the Amazon EC2 Auto Scaling User Guide. LaunchTemplate *LaunchTemplateSpecification `type:"structure"` - // Describes a mixed instances policy. A mixed instances policy contains the - // instance types that Amazon EC2 Auto Scaling can launch and other information - // that Amazon EC2 Auto Scaling can use to launch instances and help optimize - // your costs. For more information, see Auto Scaling groups with multiple instance - // types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) + // Use this structure to launch multiple instance types and On-Demand Instances + // and Spot Instances within a single Auto Scaling group. + // + // A mixed instances policy contains information that Amazon EC2 Auto Scaling + // can use to launch instances and help optimize your costs. For more information, + // see Auto Scaling groups with multiple instance types and purchase options + // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) // in the Amazon EC2 Auto Scaling User Guide. MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` } @@ -13431,15 +13433,34 @@ func (s *InstanceRefreshWarmPoolProgress) SetPercentageComplete(v int64) *Instan return s } -// When you specify multiple parameters, you get instance types that satisfy -// all of the specified parameters. If you specify multiple values for a parameter, +// The attributes for the instance types for a mixed instances policy. Amazon +// EC2 Auto Scaling uses your specified requirements to identify instance types. +// Then, it uses your On-Demand and Spot allocation strategies to launch instances +// from these instance types. +// +// When you specify multiple attributes, you get instance types that satisfy +// all of the specified attributes. If you specify multiple values for an attribute, // you get instance types that satisfy any of the specified values. // -// Represents requirements for the types of instances that can be launched. -// You must specify VCpuCount and MemoryMiB, but all other parameters are optional. +// To limit the list of instance types from which Amazon EC2 Auto Scaling can +// identify matching instance types, you can use one of the following parameters, +// but not both in the same request: +// +// - AllowedInstanceTypes - The instance types to include in the list. All +// other instance types are ignored, even if they match your specified attributes. +// +// - ExcludedInstanceTypes - The instance types to exclude from the list, +// even if they match your specified attributes. +// +// You must specify VCpuCount and MemoryMiB. All other attributes are optional. +// Any unspecified optional attribute is set to its default. +// // For more information, see Creating an Auto Scaling group using attribute-based // instance type selection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) -// in the Amazon EC2 Auto Scaling User Guide. +// in the Amazon EC2 Auto Scaling User Guide. For help determining which instance +// types match your attributes before you apply them to your Auto Scaling group, +// see Preview instance types with specified attributes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements) +// in the Amazon EC2 User Guide for Linux Instances. type InstanceRequirements struct { _ struct{} `type:"structure"` @@ -13448,7 +13469,7 @@ type InstanceRequirements struct { // // To exclude accelerator-enabled instance types, set Max to 0. // - // Default: No minimum or maximum + // Default: No minimum or maximum limits AcceleratorCount *AcceleratorCountRequest `type:"structure"` // Indicates whether instance types must have accelerators by specific manufacturers. @@ -13486,7 +13507,7 @@ type InstanceRequirements struct { // The minimum and maximum total memory size for the accelerators on an instance // type, in MiB. // - // Default: No minimum or maximum + // Default: No minimum or maximum limits AcceleratorTotalMemoryMiB *AcceleratorTotalMemoryMiBRequest `type:"structure"` // Lists the accelerator types that must be on an instance type. @@ -13500,6 +13521,23 @@ type InstanceRequirements struct { // Default: Any accelerator type AcceleratorTypes []*string `type:"list" enum:"AcceleratorType"` + // The instance types to apply your specified attributes against. All other + // instance types are ignored, even if they match your specified attributes. + // + // You can use strings with one or more wild cards, represented by an asterisk + // (*), to allow an instance type, size, or generation. The following are examples: + // m5.8xlarge, c5*.*, m5a.*, r*, *3*. + // + // For example, if you specify c5*, Amazon EC2 Auto Scaling will allow the entire + // C5 instance family, which includes all C5a and C5n instance types. If you + // specify m5a.*, Amazon EC2 Auto Scaling will allow all the M5a instance types, + // but not the M5n instance types. + // + // If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes. + // + // Default: All instance types + AllowedInstanceTypes []*string `type:"list"` + // Indicates whether bare metal instance types are included, excluded, or required. // // Default: excluded @@ -13509,7 +13547,7 @@ type InstanceRequirements struct { // in Mbps. For more information, see Amazon EBS–optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) // in the Amazon EC2 User Guide for Linux Instances. // - // Default: No minimum or maximum + // Default: No minimum or maximum limits BaselineEbsBandwidthMbps *BaselineEbsBandwidthMbpsRequest `type:"structure"` // Indicates whether burstable performance instance types are included, excluded, @@ -13534,13 +13572,17 @@ type InstanceRequirements struct { // Default: Any manufacturer CpuManufacturers []*string `type:"list" enum:"CpuManufacturer"` - // Lists which instance types to exclude. You can use strings with one or more - // wild cards, represented by an asterisk (*). The following are examples: c5*, - // m5a.*, r*, *3*. + // The instance types to exclude. You can use strings with one or more wild + // cards, represented by an asterisk (*), to exclude an instance family, type, + // size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, + // r*, *3*. // // For example, if you specify c5*, you are excluding the entire C5 instance // family, which includes all C5a and C5n instance types. If you specify m5a.*, - // you are excluding all the M5a instance types, but not the M5n instance types. + // Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not + // the M5n instance types. + // + // If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes. // // Default: No excluded instance types ExcludedInstanceTypes []*string `type:"list"` @@ -13578,7 +13620,7 @@ type InstanceRequirements struct { // The minimum and maximum amount of memory per vCPU for an instance type, in // GiB. // - // Default: No minimum or maximum + // Default: No minimum or maximum limits MemoryGiBPerVCpu *MemoryGiBPerVCpuRequest `type:"structure"` // The minimum and maximum instance memory size for an instance type, in MiB. @@ -13586,9 +13628,15 @@ type InstanceRequirements struct { // MemoryMiB is a required field MemoryMiB *MemoryMiBRequest `type:"structure" required:"true"` + // The minimum and maximum amount of network bandwidth, in gigabits per second + // (Gbps). + // + // Default: No minimum or maximum limits + NetworkBandwidthGbps *NetworkBandwidthGbpsRequest `type:"structure"` + // The minimum and maximum number of network interfaces for an instance type. // - // Default: No minimum or maximum + // Default: No minimum or maximum limits NetworkInterfaceCount *NetworkInterfaceCountRequest `type:"structure"` // The price protection threshold for On-Demand Instances. This is the maximum @@ -13632,7 +13680,7 @@ type InstanceRequirements struct { // The minimum and maximum total local storage size for an instance type, in // GB. // - // Default: No minimum or maximum + // Default: No minimum or maximum limits TotalLocalStorageGB *TotalLocalStorageGBRequest `type:"structure"` // The minimum and maximum number of vCPUs for an instance type. @@ -13715,6 +13763,12 @@ func (s *InstanceRequirements) SetAcceleratorTypes(v []*string) *InstanceRequire return s } +// SetAllowedInstanceTypes sets the AllowedInstanceTypes field's value. +func (s *InstanceRequirements) SetAllowedInstanceTypes(v []*string) *InstanceRequirements { + s.AllowedInstanceTypes = v + return s +} + // SetBareMetal sets the BareMetal field's value. func (s *InstanceRequirements) SetBareMetal(v string) *InstanceRequirements { s.BareMetal = &v @@ -13775,6 +13829,12 @@ func (s *InstanceRequirements) SetMemoryMiB(v *MemoryMiBRequest) *InstanceRequir return s } +// SetNetworkBandwidthGbps sets the NetworkBandwidthGbps field's value. +func (s *InstanceRequirements) SetNetworkBandwidthGbps(v *NetworkBandwidthGbpsRequest) *InstanceRequirements { + s.NetworkBandwidthGbps = v + return s +} + // SetNetworkInterfaceCount sets the NetworkInterfaceCount field's value. func (s *InstanceRequirements) SetNetworkInterfaceCount(v *NetworkInterfaceCountRequest) *InstanceRequirements { s.NetworkInterfaceCount = v @@ -13847,7 +13907,9 @@ func (s *InstanceReusePolicy) SetReuseOnScaleIn(v bool) *InstanceReusePolicy { return s } -// Describes an instances distribution for an Auto Scaling group. +// Use this structure to specify the distribution of On-Demand Instances and +// Spot Instances and the allocation strategies used to fulfill On-Demand and +// Spot capacities for a mixed instances policy. type InstancesDistribution struct { _ struct{} `type:"structure"` @@ -13917,13 +13979,15 @@ type InstancesDistribution struct { SpotInstancePools *int64 `type:"integer"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. - // If you keep the value at its default (unspecified), Amazon EC2 Auto Scaling - // uses the On-Demand price as the maximum Spot price. To remove a value that - // you previously set, include the property but specify an empty string ("") - // for the value. - // // If your maximum price is lower than the Spot price for the instance types - // that you selected, your Spot Instances are not launched. + // that you selected, your Spot Instances are not launched. We do not recommend + // specifying a maximum price because it can lead to increased interruptions. + // When Spot Instances launch, you pay the current Spot price. To remove a maximum + // price that you previously set, include the property but specify an empty + // string ("") for the value. + // + // If you specify a maximum price, your instances will be interrupted more frequently + // than if you do not specify one. // // Valid Range: Minimum value of 0.001 SpotMaxPrice *string `type:"string"` @@ -14004,16 +14068,10 @@ type LaunchConfiguration struct { // in the Amazon EC2 User Guide for Linux Instances. BlockDeviceMappings []*BlockDeviceMapping `type:"list"` - // EC2-Classic retires on August 15, 2022. This property is not supported after - // that date. - // - // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. + // Available for backward compatibility. ClassicLinkVPCId *string `min:"1" type:"string"` - // EC2-Classic retires on August 15, 2022. This property is not supported after - // that date. - // - // The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. + // Available for backward compatibility. ClassicLinkVPCSecurityGroups []*string `type:"list"` // The creation date and time for the launch configuration. @@ -14250,21 +14308,16 @@ func (s *LaunchConfiguration) SetUserData(v string) *LaunchConfiguration { return s } -// Describes a launch template and overrides. You specify these properties as -// part of a mixed instances policy. +// Use this structure to specify the launch templates and instance types (overrides) +// for a mixed instances policy. type LaunchTemplate struct { _ struct{} `type:"structure"` - // The launch template to use. + // The launch template. LaunchTemplateSpecification *LaunchTemplateSpecification `type:"structure"` // Any properties that you specify override the same properties in the launch - // template. If not provided, Amazon EC2 Auto Scaling uses the instance type - // or instance type requirements specified in the launch template when it launches - // an instance. - // - // The overrides can include either one or more instance types or a set of instance - // requirements, but not both. + // template. Overrides []*LaunchTemplateOverrides `type:"list"` } @@ -14323,45 +14376,82 @@ func (s *LaunchTemplate) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTempl return s } -// Describes an override for a launch template. For more information, see Configuring -// overrides (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-configuring-overrides.html) -// in the Amazon EC2 Auto Scaling User Guide. +// Use this structure to let Amazon EC2 Auto Scaling do the following when the +// Auto Scaling group has a mixed instances policy: +// +// - Override the instance type that is specified in the launch template. +// +// - Use multiple instance types. +// +// Specify the instance types that you want, or define your instance requirements +// instead and let Amazon EC2 Auto Scaling provision the available instance +// types that meet your requirements. This can provide Amazon EC2 Auto Scaling +// with a larger selection of instance types to choose from when fulfilling +// Spot and On-Demand capacities. You can view which instance types are matched +// before you apply the instance requirements to your Auto Scaling group. +// +// After you define your instance requirements, you don't have to keep updating +// these settings to get new EC2 instance types automatically. Amazon EC2 Auto +// Scaling uses the instance requirements of the Auto Scaling group to determine +// whether a new EC2 instance type can be used. type LaunchTemplateOverrides struct { _ struct{} `type:"structure"` - // The instance requirements. When you specify instance requirements, Amazon - // EC2 Auto Scaling finds instance types that satisfy your requirements, and - // then uses your On-Demand and Spot allocation strategies to launch instances - // from these instance types, in the same way as when you specify a list of - // specific instance types. + // The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements + // to identify instance types. Then, it uses your On-Demand and Spot allocation + // strategies to launch instances from these instance types. + // + // You can specify up to four separate sets of instance requirements per Auto + // Scaling group. This is useful for provisioning instances from different Amazon + // Machine Images (AMIs) in the same Auto Scaling group. To do this, create + // the AMIs and create a new launch template for each AMI. Then, create a compatible + // set of instance requirements for each launch template. + // + // If you specify InstanceRequirements, you can't specify InstanceType. InstanceRequirements *InstanceRequirements `type:"structure"` - // The instance type, such as m3.xlarge. You must use an instance type that + // The instance type, such as m3.xlarge. You must specify an instance type that // is supported in your requested Region and Availability Zones. For more information, // see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. + // + // You can specify up to 40 instance types per Auto Scaling group. InstanceType *string `min:"1" type:"string"` - // Provides a launch template for the specified instance type or instance requirements. - // For example, some instance types might require a launch template with a different - // AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's - // defined for your mixed instances policy. For more information, see Specifying - // a different launch template for an instance type (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) + // Provides a launch template for the specified instance type or set of instance + // requirements. For example, some instance types might require a launch template + // with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch + // template that's specified in the LaunchTemplate definition. For more information, + // see Specifying a different launch template for an instance type (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) // in the Amazon EC2 Auto Scaling User Guide. + // + // You can specify up to 20 launch templates per Auto Scaling group. The launch + // templates specified in the overrides and in the LaunchTemplate definition + // count towards this limit. LaunchTemplateSpecification *LaunchTemplateSpecification `type:"structure"` - // The number of capacity units provided by the instance type specified in InstanceType - // in terms of virtual CPUs, memory, storage, throughput, or other relative - // performance characteristic. When a Spot or On-Demand Instance is launched, - // the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling - // launches instances until the desired capacity is totally fulfilled, even - // if this results in an overage. For example, if there are two units remaining - // to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance - // with a WeightedCapacity of five units, the instance is launched, and the - // desired capacity is exceeded by three units. For more information, see Configuring - // instance weighting for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) + // If you provide a list of instance types to use, you can specify the number + // of capacity units provided by each instance type in terms of virtual CPUs, + // memory, storage, throughput, or other relative performance characteristic. + // When a Spot or On-Demand Instance is launched, the capacity units count toward + // the desired capacity. Amazon EC2 Auto Scaling launches instances until the + // desired capacity is totally fulfilled, even if this results in an overage. + // For example, if there are two units remaining to fulfill capacity, and Amazon + // EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five + // units, the instance is launched, and the desired capacity is exceeded by + // three units. For more information, see Configuring instance weighting for + // Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) // in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of // 1–999. + // + // If you specify a value for WeightedCapacity for one instance type, you must + // specify a value for WeightedCapacity for all of them. + // + // Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize, + // and MinSize). Usually, you set these sizes based on a specific number of + // instances. However, if you configure a mixed instances policy that defines + // weights for the instance types, you must specify these sizes with the same + // units that you use for weighting instances. WeightedCapacity *string `min:"1" type:"string"` } @@ -15519,11 +15609,13 @@ func (s *MetricStat) SetUnit(v string) *MetricStat { return s } -// Describes a mixed instances policy. A mixed instances policy contains the -// instance types that Amazon EC2 Auto Scaling can launch and other information -// that Amazon EC2 Auto Scaling can use to launch instances and help optimize -// your costs. For more information, see Auto Scaling groups with multiple instance -// types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) +// Use this structure to launch multiple instance types and On-Demand Instances +// and Spot Instances within a single Auto Scaling group. +// +// A mixed instances policy contains information that Amazon EC2 Auto Scaling +// can use to launch instances and help optimize your costs. For more information, +// see Auto Scaling groups with multiple instance types and purchase options +// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) // in the Amazon EC2 Auto Scaling User Guide. type MixedInstancesPolicy struct { _ struct{} `type:"structure"` @@ -15581,6 +15673,55 @@ func (s *MixedInstancesPolicy) SetLaunchTemplate(v *LaunchTemplate) *MixedInstan return s } +// Specifies the minimum and maximum for the NetworkBandwidthGbps object when +// you specify InstanceRequirements for an Auto Scaling group. +// +// Setting the minimum bandwidth does not guarantee that your instance will +// achieve the minimum bandwidth. Amazon EC2 will identify instance types that +// support the specified minimum bandwidth, but the actual bandwidth of your +// instance might go below the specified minimum at times. For more information, +// see Available instance bandwidth (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) +// in the Amazon EC2 User Guide for Linux Instances. +type NetworkBandwidthGbpsRequest struct { + _ struct{} `type:"structure"` + + // The maximum amount of network bandwidth, in gigabits per second (Gbps). + Max *float64 `type:"double"` + + // The minimum amount of network bandwidth, in gigabits per second (Gbps). + Min *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkBandwidthGbpsRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkBandwidthGbpsRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *NetworkBandwidthGbpsRequest) SetMax(v float64) *NetworkBandwidthGbpsRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *NetworkBandwidthGbpsRequest) SetMin(v float64) *NetworkBandwidthGbpsRequest { + s.Min = &v + return s +} + // Specifies the minimum and maximum for the NetworkInterfaceCount object when // you specify InstanceRequirements for an Auto Scaling group. type NetworkInterfaceCountRequest struct { @@ -19391,9 +19532,8 @@ type UpdateAutoScalingGroupInput struct { // The minimum size of the Auto Scaling group. MinSize *int64 `type:"integer"` - // An embedded object that specifies a mixed instances policy. For more information, - // see Auto Scaling groups with multiple instance types and purchase options - // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) + // The mixed instances policy. For more information, see Auto Scaling groups + // with multiple instance types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) // in the Amazon EC2 Auto Scaling User Guide. MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` diff --git a/service/cloudtrail/api.go b/service/cloudtrail/api.go index 24350dc8ae..71821312d6 100644 --- a/service/cloudtrail/api.go +++ b/service/cloudtrail/api.go @@ -131,6 +131,10 @@ func (c *CloudTrail) AddTagsRequest(input *AddTagsInput) (req *request.Request, // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - ConflictException // This exception is thrown when the specified resource is not ready for an // operation. This can occur when you try to run an operation on a resource @@ -243,6 +247,10 @@ func (c *CloudTrail) CancelQueryRequest(input *CancelQueryInput) (req *request.R // - UnsupportedOperationException // This exception is thrown when the requested operation is not supported. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - ConflictException // This exception is thrown when the specified resource is not ready for an // operation. This can occur when you try to run an operation on a resource @@ -350,6 +358,22 @@ func (c *CloudTrail) CreateEventDataStoreRequest(input *CreateEventDataStoreInpu // before CloudTrail has time to fully load the resource. If this exception // occurs, wait a few minutes, and then try the operation again. // +// - InsufficientEncryptionPolicyException +// This exception is thrown when the policy on the S3 bucket or KMS key does +// not have sufficient permissions for the operation. +// +// - InvalidKmsKeyIdException +// This exception is thrown when the KMS key ARN is not valid. +// +// - KmsKeyNotFoundException +// This exception is thrown when the KMS key does not exist, when the S3 bucket +// and the KMS key are not in the same region, or when the KMS key associated +// with the Amazon SNS topic either does not exist or is not in the same region. +// +// - KmsException +// This exception is thrown when there is an issue with the specified KMS key +// and the trail or event data store can't be updated. +// // - AccessNotEnabledException // This exception is thrown when trusted access has not been enabled between // CloudTrail and Organizations. For more information, see Enabling Trusted @@ -378,6 +402,10 @@ func (c *CloudTrail) CreateEventDataStoreRequest(input *CreateEventDataStoreInpu // all features. All features must be enabled in Organizations to support creating // an organization trail or event data store. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/CreateEventDataStore func (c *CloudTrail) CreateEventDataStore(input *CreateEventDataStoreInput) (*CreateEventDataStoreOutput, error) { req, out := c.CreateEventDataStoreRequest(input) @@ -519,7 +547,7 @@ func (c *CloudTrail) CreateTrailRequest(input *CreateTrailInput) (req *request.R // // - KmsException // This exception is thrown when there is an issue with the specified KMS key -// and the trail can’t be updated. +// and the trail or event data store can't be updated. // // - InvalidCloudWatchLogsLogGroupArnException // This exception is thrown when the provided CloudWatch Logs log group is not @@ -569,6 +597,10 @@ func (c *CloudTrail) CreateTrailRequest(input *CreateTrailInput) (req *request.R // all features. All features must be enabled in Organizations to support creating // an organization trail or event data store. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - CloudTrailInvalidClientTokenIdException // This exception is thrown when a call results in the InvalidClientTokenId // error code. This can occur when you are creating or updating a trail to send @@ -699,6 +731,10 @@ func (c *CloudTrail) DeleteEventDataStoreRequest(input *DeleteEventDataStoreInpu // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - InsufficientDependencyServiceAccessPermissionException // This exception is thrown when the IAM user or role that is used to create // the organization resource lacks one or more required permissions for creating @@ -819,6 +855,10 @@ func (c *CloudTrail) DeleteTrailRequest(input *DeleteTrailInput) (req *request.R // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - InsufficientDependencyServiceAccessPermissionException // This exception is thrown when the IAM user or role that is used to create // the organization resource lacks one or more required permissions for creating @@ -852,6 +892,126 @@ func (c *CloudTrail) DeleteTrailWithContext(ctx aws.Context, input *DeleteTrailI return out, req.Send() } +const opDeregisterOrganizationDelegatedAdmin = "DeregisterOrganizationDelegatedAdmin" + +// DeregisterOrganizationDelegatedAdminRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterOrganizationDelegatedAdmin operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeregisterOrganizationDelegatedAdmin for more information on using the DeregisterOrganizationDelegatedAdmin +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeregisterOrganizationDelegatedAdminRequest method. +// req, resp := client.DeregisterOrganizationDelegatedAdminRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DeregisterOrganizationDelegatedAdmin +func (c *CloudTrail) DeregisterOrganizationDelegatedAdminRequest(input *DeregisterOrganizationDelegatedAdminInput) (req *request.Request, output *DeregisterOrganizationDelegatedAdminOutput) { + op := &request.Operation{ + Name: opDeregisterOrganizationDelegatedAdmin, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeregisterOrganizationDelegatedAdminInput{} + } + + output = &DeregisterOrganizationDelegatedAdminOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeregisterOrganizationDelegatedAdmin API operation for AWS CloudTrail. +// +// Removes CloudTrail delegated administrator permissions from a member account +// in an organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudTrail's +// API operation DeregisterOrganizationDelegatedAdmin for usage and error information. +// +// Returned Error Types: +// +// - AccountNotFoundException +// This exception is thrown when when the specified account is not found or +// not part of an organization. +// +// - AccountNotRegisteredException +// This exception is thrown when the specified account is not registered as +// the CloudTrail delegated administrator. +// +// - AccessNotEnabledException +// This exception is thrown when trusted access has not been enabled between +// CloudTrail and Organizations. For more information, see Enabling Trusted +// Access with Other Amazon Web Services Services (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html) +// and Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html). +// +// - InsufficientDependencyServiceAccessPermissionException +// This exception is thrown when the IAM user or role that is used to create +// the organization resource lacks one or more required permissions for creating +// an organization resource in a required service. +// +// - InvalidParameterException +// The request includes a parameter that is not valid. +// +// - NotOrganizationManagementAccountException +// This exception is thrown when the account making the request is not the organization's +// management account. +// +// - OrganizationNotInAllFeaturesModeException +// This exception is thrown when Organizations is not configured to support +// all features. All features must be enabled in Organizations to support creating +// an organization trail or event data store. +// +// - OrganizationsNotInUseException +// This exception is thrown when the request is made from an Amazon Web Services +// account that is not a member of an organization. To make this request, sign +// in using the credentials of an account that belongs to an organization. +// +// - UnsupportedOperationException +// This exception is thrown when the requested operation is not supported. +// +// - OperationNotPermittedException +// This exception is thrown when the requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DeregisterOrganizationDelegatedAdmin +func (c *CloudTrail) DeregisterOrganizationDelegatedAdmin(input *DeregisterOrganizationDelegatedAdminInput) (*DeregisterOrganizationDelegatedAdminOutput, error) { + req, out := c.DeregisterOrganizationDelegatedAdminRequest(input) + return out, req.Send() +} + +// DeregisterOrganizationDelegatedAdminWithContext is the same as DeregisterOrganizationDelegatedAdmin with the addition of +// the ability to pass a context and additional request options. +// +// See DeregisterOrganizationDelegatedAdmin for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudTrail) DeregisterOrganizationDelegatedAdminWithContext(ctx aws.Context, input *DeregisterOrganizationDelegatedAdminInput, opts ...request.Option) (*DeregisterOrganizationDelegatedAdminOutput, error) { + req, out := c.DeregisterOrganizationDelegatedAdminRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeQuery = "DescribeQuery" // DescribeQueryRequest generates a "aws/request.Request" representing the @@ -930,6 +1090,10 @@ func (c *CloudTrail) DescribeQueryRequest(input *DescribeQueryInput) (req *reque // - UnsupportedOperationException // This exception is thrown when the requested operation is not supported. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DescribeQuery func (c *CloudTrail) DescribeQuery(input *DescribeQueryInput) (*DescribeQueryOutput, error) { req, out := c.DescribeQueryRequest(input) @@ -1029,6 +1193,10 @@ func (c *CloudTrail) DescribeTrailsRequest(input *DescribeTrailsInput) (req *req // // - Not be in IP address format (for example, 192.168.5.4) // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DescribeTrails func (c *CloudTrail) DescribeTrails(input *DescribeTrailsInput) (*DescribeTrailsOutput, error) { req, out := c.DescribeTrailsRequest(input) @@ -1097,7 +1265,7 @@ func (c *CloudTrail) GetChannelRequest(input *GetChannelInput) (req *request.Req // Returns information about a specific channel. Amazon Web Services services // create service-linked channels to get information about CloudTrail events // on your behalf. For more information about service-linked channels, see Viewing -// service-linked channels for CloudTrail by using the CLI. (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/viewing-service-linked-channels.html). +// service-linked channels for CloudTrail by using the CLI (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/viewing-service-linked-channels.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1213,6 +1381,10 @@ func (c *CloudTrail) GetEventDataStoreRequest(input *GetEventDataStoreInput) (re // - UnsupportedOperationException // This exception is thrown when the requested operation is not supported. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetEventDataStore func (c *CloudTrail) GetEventDataStore(input *GetEventDataStoreInput) (*GetEventDataStoreOutput, error) { req, out := c.GetEventDataStoreRequest(input) @@ -1330,6 +1502,10 @@ func (c *CloudTrail) GetEventSelectorsRequest(input *GetEventSelectorsInput) (re // - OperationNotPermittedException // This exception is thrown when the requested operation is not permitted. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetEventSelectors func (c *CloudTrail) GetEventSelectors(input *GetEventSelectorsInput) (*GetEventSelectorsOutput, error) { req, out := c.GetEventSelectorsRequest(input) @@ -1530,6 +1706,10 @@ func (c *CloudTrail) GetInsightSelectorsRequest(input *GetInsightSelectorsInput) // If you run GetInsightSelectors on a trail that does not have Insights events // enabled, the operation throws the exception InsightNotEnabledException. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetInsightSelectors func (c *CloudTrail) GetInsightSelectors(input *GetInsightSelectorsInput) (*GetInsightSelectorsOutput, error) { req, out := c.GetInsightSelectorsRequest(input) @@ -1636,12 +1816,20 @@ func (c *CloudTrail) GetQueryResultsRequest(input *GetQueryResultsInput) (req *r // - QueryIdNotFoundException // The query ID does not exist or does not map to a query. // +// - InsufficientEncryptionPolicyException +// This exception is thrown when the policy on the S3 bucket or KMS key does +// not have sufficient permissions for the operation. +// // - OperationNotPermittedException // This exception is thrown when the requested operation is not permitted. // // - UnsupportedOperationException // This exception is thrown when the requested operation is not supported. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetQueryResults func (c *CloudTrail) GetQueryResults(input *GetQueryResultsInput) (*GetQueryResultsOutput, error) { req, out := c.GetQueryResultsRequest(input) @@ -2142,6 +2330,10 @@ func (c *CloudTrail) ListEventDataStoresRequest(input *ListEventDataStoresInput) // - UnsupportedOperationException // This exception is thrown when the requested operation is not supported. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListEventDataStores func (c *CloudTrail) ListEventDataStores(input *ListEventDataStoresInput) (*ListEventDataStoresOutput, error) { req, out := c.ListEventDataStoresRequest(input) @@ -2762,6 +2954,10 @@ func (c *CloudTrail) ListQueriesRequest(input *ListQueriesInput) (req *request.R // - UnsupportedOperationException // This exception is thrown when the requested operation is not supported. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListQueries func (c *CloudTrail) ListQueries(input *ListQueriesInput) (*ListQueriesOutput, error) { req, out := c.ListQueriesRequest(input) @@ -2939,6 +3135,10 @@ func (c *CloudTrail) ListTagsRequest(input *ListTagsInput) (req *request.Request // - InvalidTokenException // Reserved for future use. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListTags func (c *CloudTrail) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { req, out := c.ListTagsRequest(input) @@ -3501,6 +3701,10 @@ func (c *CloudTrail) PutEventSelectorsRequest(input *PutEventSelectorsInput) (re // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - InsufficientDependencyServiceAccessPermissionException // This exception is thrown when the IAM user or role that is used to create // the organization resource lacks one or more required permissions for creating @@ -3626,7 +3830,7 @@ func (c *CloudTrail) PutInsightSelectorsRequest(input *PutInsightSelectorsInput) // // - KmsException // This exception is thrown when there is an issue with the specified KMS key -// and the trail can’t be updated. +// and the trail or event data store can't be updated. // // - UnsupportedOperationException // This exception is thrown when the requested operation is not supported. @@ -3641,6 +3845,10 @@ func (c *CloudTrail) PutInsightSelectorsRequest(input *PutInsightSelectorsInput) // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/PutInsightSelectors func (c *CloudTrail) PutInsightSelectors(input *PutInsightSelectorsInput) (*PutInsightSelectorsOutput, error) { req, out := c.PutInsightSelectorsRequest(input) @@ -3663,6 +3871,134 @@ func (c *CloudTrail) PutInsightSelectorsWithContext(ctx aws.Context, input *PutI return out, req.Send() } +const opRegisterOrganizationDelegatedAdmin = "RegisterOrganizationDelegatedAdmin" + +// RegisterOrganizationDelegatedAdminRequest generates a "aws/request.Request" representing the +// client's request for the RegisterOrganizationDelegatedAdmin operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RegisterOrganizationDelegatedAdmin for more information on using the RegisterOrganizationDelegatedAdmin +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the RegisterOrganizationDelegatedAdminRequest method. +// req, resp := client.RegisterOrganizationDelegatedAdminRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/RegisterOrganizationDelegatedAdmin +func (c *CloudTrail) RegisterOrganizationDelegatedAdminRequest(input *RegisterOrganizationDelegatedAdminInput) (req *request.Request, output *RegisterOrganizationDelegatedAdminOutput) { + op := &request.Operation{ + Name: opRegisterOrganizationDelegatedAdmin, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RegisterOrganizationDelegatedAdminInput{} + } + + output = &RegisterOrganizationDelegatedAdminOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RegisterOrganizationDelegatedAdmin API operation for AWS CloudTrail. +// +// Registers an organization’s member account as the CloudTrail delegated +// administrator. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudTrail's +// API operation RegisterOrganizationDelegatedAdmin for usage and error information. +// +// Returned Error Types: +// +// - AccountRegisteredException +// This exception is thrown when the account is already registered as the CloudTrail +// delegated administrator. +// +// - AccountNotFoundException +// This exception is thrown when when the specified account is not found or +// not part of an organization. +// +// - InsufficientDependencyServiceAccessPermissionException +// This exception is thrown when the IAM user or role that is used to create +// the organization resource lacks one or more required permissions for creating +// an organization resource in a required service. +// +// - InvalidParameterException +// The request includes a parameter that is not valid. +// +// - CannotDelegateManagementAccountException +// This exception is thrown when the management account of an organization is +// registered as the CloudTrail delegated administrator. +// +// - AccessNotEnabledException +// This exception is thrown when trusted access has not been enabled between +// CloudTrail and Organizations. For more information, see Enabling Trusted +// Access with Other Amazon Web Services Services (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html) +// and Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html). +// +// - DelegatedAdminAccountLimitExceededException +// This exception is thrown when the maximum number of CloudTrail delegated +// administrators is reached. +// +// - NotOrganizationManagementAccountException +// This exception is thrown when the account making the request is not the organization's +// management account. +// +// - OrganizationNotInAllFeaturesModeException +// This exception is thrown when Organizations is not configured to support +// all features. All features must be enabled in Organizations to support creating +// an organization trail or event data store. +// +// - OrganizationsNotInUseException +// This exception is thrown when the request is made from an Amazon Web Services +// account that is not a member of an organization. To make this request, sign +// in using the credentials of an account that belongs to an organization. +// +// - UnsupportedOperationException +// This exception is thrown when the requested operation is not supported. +// +// - OperationNotPermittedException +// This exception is thrown when the requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/RegisterOrganizationDelegatedAdmin +func (c *CloudTrail) RegisterOrganizationDelegatedAdmin(input *RegisterOrganizationDelegatedAdminInput) (*RegisterOrganizationDelegatedAdminOutput, error) { + req, out := c.RegisterOrganizationDelegatedAdminRequest(input) + return out, req.Send() +} + +// RegisterOrganizationDelegatedAdminWithContext is the same as RegisterOrganizationDelegatedAdmin with the addition of +// the ability to pass a context and additional request options. +// +// See RegisterOrganizationDelegatedAdmin for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudTrail) RegisterOrganizationDelegatedAdminWithContext(ctx aws.Context, input *RegisterOrganizationDelegatedAdminInput, opts ...request.Option) (*RegisterOrganizationDelegatedAdminOutput, error) { + req, out := c.RegisterOrganizationDelegatedAdminRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRemoveTags = "RemoveTags" // RemoveTagsRequest generates a "aws/request.Request" representing the @@ -3770,6 +4106,10 @@ func (c *CloudTrail) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Req // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/RemoveTags func (c *CloudTrail) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { req, out := c.RemoveTagsRequest(input) @@ -3894,6 +4234,10 @@ func (c *CloudTrail) RestoreEventDataStoreRequest(input *RestoreEventDataStoreIn // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - OrganizationNotInAllFeaturesModeException // This exception is thrown when Organizations is not configured to support // all features. All features must be enabled in Organizations to support creating @@ -4149,6 +4493,10 @@ func (c *CloudTrail) StartLoggingRequest(input *StartLoggingInput) (req *request // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - InsufficientDependencyServiceAccessPermissionException // This exception is thrown when the IAM user or role that is used to create // the organization resource lacks one or more required permissions for creating @@ -4255,6 +4603,10 @@ func (c *CloudTrail) StartQueryRequest(input *StartQueryInput) (req *request.Req // You are already running the maximum number of concurrent queries. Wait a // minute for some queries to finish, and then run the query again. // +// - InsufficientEncryptionPolicyException +// This exception is thrown when the policy on the S3 bucket or KMS key does +// not have sufficient permissions for the operation. +// // - InvalidS3PrefixException // This exception is thrown when the provided S3 prefix is not valid. // @@ -4273,6 +4625,10 @@ func (c *CloudTrail) StartQueryRequest(input *StartQueryInput) (req *request.Req // - UnsupportedOperationException // This exception is thrown when the requested operation is not supported. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/StartQuery func (c *CloudTrail) StartQuery(input *StartQueryInput) (*StartQueryOutput, error) { req, out := c.StartQueryRequest(input) @@ -4481,6 +4837,10 @@ func (c *CloudTrail) StopLoggingRequest(input *StopLoggingInput) (req *request.R // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - InsufficientDependencyServiceAccessPermissionException // This exception is thrown when the IAM user or role that is used to create // the organization resource lacks one or more required permissions for creating @@ -4591,6 +4951,22 @@ func (c *CloudTrail) UpdateEventDataStoreRequest(input *UpdateEventDataStoreInpu // - UnsupportedOperationException // This exception is thrown when the requested operation is not supported. // +// - InsufficientEncryptionPolicyException +// This exception is thrown when the policy on the S3 bucket or KMS key does +// not have sufficient permissions for the operation. +// +// - InvalidKmsKeyIdException +// This exception is thrown when the KMS key ARN is not valid. +// +// - KmsKeyNotFoundException +// This exception is thrown when the KMS key does not exist, when the S3 bucket +// and the KMS key are not in the same region, or when the KMS key associated +// with the Amazon SNS topic either does not exist or is not in the same region. +// +// - KmsException +// This exception is thrown when there is an issue with the specified KMS key +// and the trail or event data store can't be updated. +// // - AccessNotEnabledException // This exception is thrown when trusted access has not been enabled between // CloudTrail and Organizations. For more information, see Enabling Trusted @@ -4614,6 +4990,10 @@ func (c *CloudTrail) UpdateEventDataStoreRequest(input *UpdateEventDataStoreInpu // information, see Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html) // or Create an event data store (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html). // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - OrganizationNotInAllFeaturesModeException // This exception is thrown when Organizations is not configured to support // all features. All features must be enabled in Organizations to support creating @@ -4792,7 +5172,7 @@ func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.R // // - KmsException // This exception is thrown when there is an issue with the specified KMS key -// and the trail can’t be updated. +// and the trail or event data store can't be updated. // // - InvalidCloudWatchLogsLogGroupArnException // This exception is thrown when the provided CloudWatch Logs log group is not @@ -4838,12 +5218,19 @@ func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.R // all features. All features must be enabled in Organizations to support creating // an organization trail or event data store. // +// - NoManagementAccountSLRExistsException +// This exception is thrown when the management account does not have a service-linked +// role. +// // - CloudTrailInvalidClientTokenIdException // This exception is thrown when a call results in the InvalidClientTokenId // error code. This can occur when you are creating or updating a trail to send // notifications to an Amazon SNS topic that is in a suspended Amazon Web Services // account. // +// - InvalidParameterException +// The request includes a parameter that is not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/UpdateTrail func (c *CloudTrail) UpdateTrail(input *UpdateTrailInput) (*UpdateTrailOutput, error) { req, out := c.UpdateTrailRequest(input) @@ -5065,16 +5452,211 @@ func (s *AccountHasOngoingImportException) RequestID() string { return s.RespMetadata.RequestID } -// Specifies the tags to add to a trail or event data store. -type AddTagsInput struct { - _ struct{} `type:"structure"` +// This exception is thrown when when the specified account is not found or +// not part of an organization. +type AccountNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Specifies the ARN of the trail or event data store to which one or more tags - // will be added. The format of a trail ARN is: - // - // arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail - // - // ResourceId is a required field + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountNotFoundException) GoString() string { + return s.String() +} + +func newErrorAccountNotFoundException(v protocol.ResponseMetadata) error { + return &AccountNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccountNotFoundException) Code() string { + return "AccountNotFoundException" +} + +// Message returns the exception's message. +func (s *AccountNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccountNotFoundException) OrigErr() error { + return nil +} + +func (s *AccountNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccountNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccountNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// This exception is thrown when the specified account is not registered as +// the CloudTrail delegated administrator. +type AccountNotRegisteredException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountNotRegisteredException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountNotRegisteredException) GoString() string { + return s.String() +} + +func newErrorAccountNotRegisteredException(v protocol.ResponseMetadata) error { + return &AccountNotRegisteredException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccountNotRegisteredException) Code() string { + return "AccountNotRegisteredException" +} + +// Message returns the exception's message. +func (s *AccountNotRegisteredException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccountNotRegisteredException) OrigErr() error { + return nil +} + +func (s *AccountNotRegisteredException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccountNotRegisteredException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccountNotRegisteredException) RequestID() string { + return s.RespMetadata.RequestID +} + +// This exception is thrown when the account is already registered as the CloudTrail +// delegated administrator. +type AccountRegisteredException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountRegisteredException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountRegisteredException) GoString() string { + return s.String() +} + +func newErrorAccountRegisteredException(v protocol.ResponseMetadata) error { + return &AccountRegisteredException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccountRegisteredException) Code() string { + return "AccountRegisteredException" +} + +// Message returns the exception's message. +func (s *AccountRegisteredException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccountRegisteredException) OrigErr() error { + return nil +} + +func (s *AccountRegisteredException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccountRegisteredException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccountRegisteredException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Specifies the tags to add to a trail or event data store. +type AddTagsInput struct { + _ struct{} `type:"structure"` + + // Specifies the ARN of the trail or event data store to which one or more tags + // will be added. The format of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail + // + // ResourceId is a required field ResourceId *string `type:"string" required:"true"` // Contains a list of tags, up to a limit of 50 @@ -5445,8 +6027,8 @@ type CancelQueryInput struct { // The ARN (or the ID suffix of the ARN) of an event data store on which the // specified query is running. // - // EventDataStore is a required field - EventDataStore *string `min:"3" type:"string" required:"true"` + // Deprecated: EventDataStore is no longer required by CancelQueryRequest + EventDataStore *string `min:"3" deprecated:"true" type:"string"` // The ID of the query that you want to cancel. The QueryId comes from the response // of a StartQuery operation. @@ -5476,9 +6058,6 @@ func (s CancelQueryInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CancelQueryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CancelQueryInput"} - if s.EventDataStore == nil { - invalidParams.Add(request.NewErrParamRequired("EventDataStore")) - } if s.EventDataStore != nil && len(*s.EventDataStore) < 3 { invalidParams.Add(request.NewErrParamMinLen("EventDataStore", 3)) } @@ -5552,6 +6131,71 @@ func (s *CancelQueryOutput) SetQueryStatus(v string) *CancelQueryOutput { return s } +// This exception is thrown when the management account of an organization is +// registered as the CloudTrail delegated administrator. +type CannotDelegateManagementAccountException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CannotDelegateManagementAccountException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CannotDelegateManagementAccountException) GoString() string { + return s.String() +} + +func newErrorCannotDelegateManagementAccountException(v protocol.ResponseMetadata) error { + return &CannotDelegateManagementAccountException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *CannotDelegateManagementAccountException) Code() string { + return "CannotDelegateManagementAccountException" +} + +// Message returns the exception's message. +func (s *CannotDelegateManagementAccountException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *CannotDelegateManagementAccountException) OrigErr() error { + return nil +} + +func (s *CannotDelegateManagementAccountException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *CannotDelegateManagementAccountException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *CannotDelegateManagementAccountException) RequestID() string { + return s.RespMetadata.RequestID +} + // Contains information about a returned CloudTrail channel. type Channel struct { _ struct{} `type:"structure"` @@ -5931,6 +6575,33 @@ type CreateEventDataStoreInput struct { // in the CloudTrail User Guide. AdvancedEventSelectors []*AdvancedEventSelector `type:"list"` + // Specifies the KMS key ID to use to encrypt the events delivered by CloudTrail. + // The value can be an alias name prefixed by alias/, a fully specified ARN + // to an alias, a fully specified ARN to a key, or a globally unique identifier. + // + // Disabling or deleting the KMS key, or removing CloudTrail permissions on + // the key, prevents CloudTrail from logging events to the event data store, + // and prevents users from querying the data in the event data store that was + // encrypted with the key. After you associate an event data store with a KMS + // key, the KMS key cannot be removed or changed. Before you disable or delete + // a KMS key that you are using with an event data store, delete or back up + // your event data store. + // + // CloudTrail also supports KMS multi-Region keys. For more information about + // multi-Region keys, see Using multi-Region keys (https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) + // in the Key Management Service Developer Guide. + // + // Examples: + // + // * alias/MyAliasName + // + // * arn:aws:kms:us-east-2:123456789012:alias/MyAliasName + // + // * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // * 12345678-1234-1234-1234-123456789012 + KmsKeyId *string `min:"1" type:"string"` + // Specifies whether the event data store includes events from all regions, // or only from the region in which the event data store is created. MultiRegionEnabled *bool `type:"boolean"` @@ -5978,6 +6649,9 @@ func (s CreateEventDataStoreInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateEventDataStoreInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateEventDataStoreInput"} + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -6020,6 +6694,12 @@ func (s *CreateEventDataStoreInput) SetAdvancedEventSelectors(v []*AdvancedEvent return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateEventDataStoreInput) SetKmsKeyId(v string) *CreateEventDataStoreInput { + s.KmsKeyId = &v + return s +} + // SetMultiRegionEnabled sets the MultiRegionEnabled field's value. func (s *CreateEventDataStoreInput) SetMultiRegionEnabled(v bool) *CreateEventDataStoreInput { s.MultiRegionEnabled = &v @@ -6069,6 +6749,12 @@ type CreateEventDataStoreOutput struct { // The ARN of the event data store. EventDataStoreArn *string `min:"3" type:"string"` + // Specifies the KMS key ID that encrypts the events delivered by CloudTrail. + // The value is a fully specified ARN to a KMS key in the following format. + // + // arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 + KmsKeyId *string `min:"1" type:"string"` + // Indicates whether the event data store collects events from all regions, // or only from the region in which it was created. MultiRegionEnabled *bool `type:"boolean"` @@ -6134,6 +6820,12 @@ func (s *CreateEventDataStoreOutput) SetEventDataStoreArn(v string) *CreateEvent return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateEventDataStoreOutput) SetKmsKeyId(v string) *CreateEventDataStoreOutput { + s.KmsKeyId = &v + return s +} + // SetMultiRegionEnabled sets the MultiRegionEnabled field's value. func (s *CreateEventDataStoreOutput) SetMultiRegionEnabled(v bool) *CreateEventDataStoreOutput { s.MultiRegionEnabled = &v @@ -6699,6 +7391,71 @@ func (s *DataResource) SetValues(v []*string) *DataResource { return s } +// This exception is thrown when the maximum number of CloudTrail delegated +// administrators is reached. +type DelegatedAdminAccountLimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DelegatedAdminAccountLimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DelegatedAdminAccountLimitExceededException) GoString() string { + return s.String() +} + +func newErrorDelegatedAdminAccountLimitExceededException(v protocol.ResponseMetadata) error { + return &DelegatedAdminAccountLimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DelegatedAdminAccountLimitExceededException) Code() string { + return "DelegatedAdminAccountLimitExceededException" +} + +// Message returns the exception's message. +func (s *DelegatedAdminAccountLimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DelegatedAdminAccountLimitExceededException) OrigErr() error { + return nil +} + +func (s *DelegatedAdminAccountLimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *DelegatedAdminAccountLimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DelegatedAdminAccountLimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + type DeleteEventDataStoreInput struct { _ struct{} `type:"structure"` @@ -6742,13 +7499,85 @@ func (s *DeleteEventDataStoreInput) Validate() error { return nil } -// SetEventDataStore sets the EventDataStore field's value. -func (s *DeleteEventDataStoreInput) SetEventDataStore(v string) *DeleteEventDataStoreInput { - s.EventDataStore = &v +// SetEventDataStore sets the EventDataStore field's value. +func (s *DeleteEventDataStoreInput) SetEventDataStore(v string) *DeleteEventDataStoreInput { + s.EventDataStore = &v + return s +} + +type DeleteEventDataStoreOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEventDataStoreOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEventDataStoreOutput) GoString() string { + return s.String() +} + +// The request that specifies the name of a trail to delete. +type DeleteTrailInput struct { + _ struct{} `type:"structure"` + + // Specifies the name or the CloudTrail ARN of the trail to be deleted. The + // following is the format of a trail ARN. arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrailInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTrailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTrailInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteTrailInput) SetName(v string) *DeleteTrailInput { + s.Name = &v return s } -type DeleteEventDataStoreOutput struct { +// Returns the objects or data listed below if successful. Otherwise, returns +// an error. +type DeleteTrailOutput struct { _ struct{} `type:"structure"` } @@ -6757,7 +7586,7 @@ type DeleteEventDataStoreOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEventDataStoreOutput) String() string { +func (s DeleteTrailOutput) String() string { return awsutil.Prettify(s) } @@ -6766,19 +7595,20 @@ func (s DeleteEventDataStoreOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEventDataStoreOutput) GoString() string { +func (s DeleteTrailOutput) GoString() string { return s.String() } -// The request that specifies the name of a trail to delete. -type DeleteTrailInput struct { +// Removes CloudTrail delegated administrator permissions from a specified member +// account in an organization that is currently designated as a delegated administrator. +type DeregisterOrganizationDelegatedAdminInput struct { _ struct{} `type:"structure"` - // Specifies the name or the CloudTrail ARN of the trail to be deleted. The - // following is the format of a trail ARN. arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail + // A delegated administrator account ID. This is a member account in an organization + // that is currently designated as a delegated administrator. // - // Name is a required field - Name *string `type:"string" required:"true"` + // DelegatedAdminAccountId is a required field + DelegatedAdminAccountId *string `min:"12" type:"string" required:"true"` } // String returns the string representation. @@ -6786,7 +7616,7 @@ type DeleteTrailInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTrailInput) String() string { +func (s DeregisterOrganizationDelegatedAdminInput) String() string { return awsutil.Prettify(s) } @@ -6795,15 +7625,18 @@ func (s DeleteTrailInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTrailInput) GoString() string { +func (s DeregisterOrganizationDelegatedAdminInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTrailInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTrailInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *DeregisterOrganizationDelegatedAdminInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeregisterOrganizationDelegatedAdminInput"} + if s.DelegatedAdminAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("DelegatedAdminAccountId")) + } + if s.DelegatedAdminAccountId != nil && len(*s.DelegatedAdminAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("DelegatedAdminAccountId", 12)) } if invalidParams.Len() > 0 { @@ -6812,15 +7645,14 @@ func (s *DeleteTrailInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DeleteTrailInput) SetName(v string) *DeleteTrailInput { - s.Name = &v +// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. +func (s *DeregisterOrganizationDelegatedAdminInput) SetDelegatedAdminAccountId(v string) *DeregisterOrganizationDelegatedAdminInput { + s.DelegatedAdminAccountId = &v return s } -// Returns the objects or data listed below if successful. Otherwise, returns -// an error. -type DeleteTrailOutput struct { +// Returns the following response if successful. Otherwise, returns an error. +type DeregisterOrganizationDelegatedAdminOutput struct { _ struct{} `type:"structure"` } @@ -6829,7 +7661,7 @@ type DeleteTrailOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTrailOutput) String() string { +func (s DeregisterOrganizationDelegatedAdminOutput) String() string { return awsutil.Prettify(s) } @@ -6838,7 +7670,7 @@ func (s DeleteTrailOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTrailOutput) GoString() string { +func (s DeregisterOrganizationDelegatedAdminOutput) GoString() string { return s.String() } @@ -6848,8 +7680,8 @@ type DescribeQueryInput struct { // The ARN (or the ID suffix of the ARN) of an event data store on which the // specified query was run. // - // EventDataStore is a required field - EventDataStore *string `min:"3" type:"string" required:"true"` + // Deprecated: EventDataStore is no longer required by DescribeQueryRequest + EventDataStore *string `min:"3" deprecated:"true" type:"string"` // The query ID. // @@ -6878,9 +7710,6 @@ func (s DescribeQueryInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeQueryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeQueryInput"} - if s.EventDataStore == nil { - invalidParams.Add(request.NewErrParamRequired("EventDataStore")) - } if s.EventDataStore != nil && len(*s.EventDataStore) < 3 { invalidParams.Add(request.NewErrParamMinLen("EventDataStore", 3)) } @@ -8061,6 +8890,12 @@ type GetEventDataStoreOutput struct { // The event data store Amazon Resource Number (ARN). EventDataStoreArn *string `min:"3" type:"string"` + // Specifies the KMS key ID that encrypts the events delivered by CloudTrail. + // The value is a fully specified ARN to a KMS key in the following format. + // + // arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 + KmsKeyId *string `min:"1" type:"string"` + // Indicates whether the event data store includes events from all regions, // or only from the region in which it was created. MultiRegionEnabled *bool `type:"boolean"` @@ -8122,6 +8957,12 @@ func (s *GetEventDataStoreOutput) SetEventDataStoreArn(v string) *GetEventDataSt return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *GetEventDataStoreOutput) SetKmsKeyId(v string) *GetEventDataStoreOutput { + s.KmsKeyId = &v + return s +} + // SetMultiRegionEnabled sets the MultiRegionEnabled field's value. func (s *GetEventDataStoreOutput) SetMultiRegionEnabled(v bool) *GetEventDataStoreOutput { s.MultiRegionEnabled = &v @@ -8545,8 +9386,8 @@ type GetQueryResultsInput struct { // The ARN (or ID suffix of the ARN) of the event data store against which the // query was run. // - // EventDataStore is a required field - EventDataStore *string `min:"3" type:"string" required:"true"` + // Deprecated: EventDataStore is no longer required by GetQueryResultsRequest + EventDataStore *string `min:"3" deprecated:"true" type:"string"` // The maximum number of query results to display on a single page. MaxQueryResults *int64 `min:"1" type:"integer"` @@ -8581,9 +9422,6 @@ func (s GetQueryResultsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *GetQueryResultsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetQueryResultsInput"} - if s.EventDataStore == nil { - invalidParams.Add(request.NewErrParamRequired("EventDataStore")) - } if s.EventDataStore != nil && len(*s.EventDataStore) < 3 { invalidParams.Add(request.NewErrParamMinLen("EventDataStore", 3)) } @@ -11495,7 +12333,7 @@ func (s *InvalidTrailNameException) RequestID() string { } // This exception is thrown when there is an issue with the specified KMS key -// and the trail can’t be updated. +// and the trail or event data store can't be updated. type KmsException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -12888,6 +13726,136 @@ func (s *MaximumNumberOfTrailsExceededException) RequestID() string { return s.RespMetadata.RequestID } +// This exception is thrown when the management account does not have a service-linked +// role. +type NoManagementAccountSLRExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NoManagementAccountSLRExistsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NoManagementAccountSLRExistsException) GoString() string { + return s.String() +} + +func newErrorNoManagementAccountSLRExistsException(v protocol.ResponseMetadata) error { + return &NoManagementAccountSLRExistsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *NoManagementAccountSLRExistsException) Code() string { + return "NoManagementAccountSLRExistsException" +} + +// Message returns the exception's message. +func (s *NoManagementAccountSLRExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NoManagementAccountSLRExistsException) OrigErr() error { + return nil +} + +func (s *NoManagementAccountSLRExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *NoManagementAccountSLRExistsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *NoManagementAccountSLRExistsException) RequestID() string { + return s.RespMetadata.RequestID +} + +// This exception is thrown when the account making the request is not the organization's +// management account. +type NotOrganizationManagementAccountException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NotOrganizationManagementAccountException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NotOrganizationManagementAccountException) GoString() string { + return s.String() +} + +func newErrorNotOrganizationManagementAccountException(v protocol.ResponseMetadata) error { + return &NotOrganizationManagementAccountException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *NotOrganizationManagementAccountException) Code() string { + return "NotOrganizationManagementAccountException" +} + +// Message returns the exception's message. +func (s *NotOrganizationManagementAccountException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NotOrganizationManagementAccountException) OrigErr() error { + return nil +} + +func (s *NotOrganizationManagementAccountException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *NotOrganizationManagementAccountException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *NotOrganizationManagementAccountException) RequestID() string { + return s.RespMetadata.RequestID +} + // This exception is thrown when the Amazon Web Services account making the // request to create or update an organization trail or event data store is // not the management account for an organization in Organizations. For more @@ -13710,6 +14678,80 @@ func (s *QueryStatisticsForDescribeQuery) SetExecutionTimeInMillis(v int64) *Que return s } +// Specifies an organization member account ID as a CloudTrail delegated administrator. +type RegisterOrganizationDelegatedAdminInput struct { + _ struct{} `type:"structure"` + + // An organization member account ID that you want to designate as a delegated + // administrator. + // + // MemberAccountId is a required field + MemberAccountId *string `min:"12" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RegisterOrganizationDelegatedAdminInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RegisterOrganizationDelegatedAdminInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterOrganizationDelegatedAdminInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterOrganizationDelegatedAdminInput"} + if s.MemberAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("MemberAccountId")) + } + if s.MemberAccountId != nil && len(*s.MemberAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MemberAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMemberAccountId sets the MemberAccountId field's value. +func (s *RegisterOrganizationDelegatedAdminInput) SetMemberAccountId(v string) *RegisterOrganizationDelegatedAdminInput { + s.MemberAccountId = &v + return s +} + +// Returns the following response if successful. Otherwise, returns an error. +type RegisterOrganizationDelegatedAdminOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RegisterOrganizationDelegatedAdminOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RegisterOrganizationDelegatedAdminOutput) GoString() string { + return s.String() +} + // Specifies the tags to remove from a trail or event data store. type RemoveTagsInput struct { _ struct{} `type:"structure"` @@ -14091,6 +15133,12 @@ type RestoreEventDataStoreOutput struct { // The event data store ARN. EventDataStoreArn *string `min:"3" type:"string"` + // Specifies the KMS key ID that encrypts the events delivered by CloudTrail. + // The value is a fully specified ARN to a KMS key in the following format. + // + // arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 + KmsKeyId *string `min:"1" type:"string"` + // Indicates whether the event data store is collecting events from all regions, // or only from the region in which the event data store was created. MultiRegionEnabled *bool `type:"boolean"` @@ -14154,6 +15202,12 @@ func (s *RestoreEventDataStoreOutput) SetEventDataStoreArn(v string) *RestoreEve return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *RestoreEventDataStoreOutput) SetKmsKeyId(v string) *RestoreEventDataStoreOutput { + s.KmsKeyId = &v + return s +} + // SetMultiRegionEnabled sets the MultiRegionEnabled field's value. func (s *RestoreEventDataStoreOutput) SetMultiRegionEnabled(v bool) *RestoreEventDataStoreOutput { s.MultiRegionEnabled = &v @@ -15601,6 +16655,33 @@ type UpdateEventDataStoreInput struct { // EventDataStore is a required field EventDataStore *string `min:"3" type:"string" required:"true"` + // Specifies the KMS key ID to use to encrypt the events delivered by CloudTrail. + // The value can be an alias name prefixed by alias/, a fully specified ARN + // to an alias, a fully specified ARN to a key, or a globally unique identifier. + // + // Disabling or deleting the KMS key, or removing CloudTrail permissions on + // the key, prevents CloudTrail from logging events to the event data store, + // and prevents users from querying the data in the event data store that was + // encrypted with the key. After you associate an event data store with a KMS + // key, the KMS key cannot be removed or changed. Before you disable or delete + // a KMS key that you are using with an event data store, delete or back up + // your event data store. + // + // CloudTrail also supports KMS multi-Region keys. For more information about + // multi-Region keys, see Using multi-Region keys (https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) + // in the Key Management Service Developer Guide. + // + // Examples: + // + // * alias/MyAliasName + // + // * arn:aws:kms:us-east-2:123456789012:alias/MyAliasName + // + // * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // * 12345678-1234-1234-1234-123456789012 + KmsKeyId *string `min:"1" type:"string"` + // Specifies whether an event data store collects events from all regions, or // only from the region in which it was created. MultiRegionEnabled *bool `type:"boolean"` @@ -15647,6 +16728,9 @@ func (s *UpdateEventDataStoreInput) Validate() error { if s.EventDataStore != nil && len(*s.EventDataStore) < 3 { invalidParams.Add(request.NewErrParamMinLen("EventDataStore", 3)) } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } if s.Name != nil && len(*s.Name) < 3 { invalidParams.Add(request.NewErrParamMinLen("Name", 3)) } @@ -15682,6 +16766,12 @@ func (s *UpdateEventDataStoreInput) SetEventDataStore(v string) *UpdateEventData return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *UpdateEventDataStoreInput) SetKmsKeyId(v string) *UpdateEventDataStoreInput { + s.KmsKeyId = &v + return s +} + // SetMultiRegionEnabled sets the MultiRegionEnabled field's value. func (s *UpdateEventDataStoreInput) SetMultiRegionEnabled(v bool) *UpdateEventDataStoreInput { s.MultiRegionEnabled = &v @@ -15724,6 +16814,12 @@ type UpdateEventDataStoreOutput struct { // The ARN of the event data store. EventDataStoreArn *string `min:"3" type:"string"` + // Specifies the KMS key ID that encrypts the events delivered by CloudTrail. + // The value is a fully specified ARN to a KMS key in the following format. + // + // arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 + KmsKeyId *string `min:"1" type:"string"` + // Indicates whether the event data store includes events from all regions, // or only from the region in which it was created. MultiRegionEnabled *bool `type:"boolean"` @@ -15785,6 +16881,12 @@ func (s *UpdateEventDataStoreOutput) SetEventDataStoreArn(v string) *UpdateEvent return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *UpdateEventDataStoreOutput) SetKmsKeyId(v string) *UpdateEventDataStoreOutput { + s.KmsKeyId = &v + return s +} + // SetMultiRegionEnabled sets the MultiRegionEnabled field's value. func (s *UpdateEventDataStoreOutput) SetMultiRegionEnabled(v bool) *UpdateEventDataStoreOutput { s.MultiRegionEnabled = &v diff --git a/service/cloudtrail/cloudtrailiface/interface.go b/service/cloudtrail/cloudtrailiface/interface.go index 90f0613ece..5e81f5b1dc 100644 --- a/service/cloudtrail/cloudtrailiface/interface.go +++ b/service/cloudtrail/cloudtrailiface/interface.go @@ -84,6 +84,10 @@ type CloudTrailAPI interface { DeleteTrailWithContext(aws.Context, *cloudtrail.DeleteTrailInput, ...request.Option) (*cloudtrail.DeleteTrailOutput, error) DeleteTrailRequest(*cloudtrail.DeleteTrailInput) (*request.Request, *cloudtrail.DeleteTrailOutput) + DeregisterOrganizationDelegatedAdmin(*cloudtrail.DeregisterOrganizationDelegatedAdminInput) (*cloudtrail.DeregisterOrganizationDelegatedAdminOutput, error) + DeregisterOrganizationDelegatedAdminWithContext(aws.Context, *cloudtrail.DeregisterOrganizationDelegatedAdminInput, ...request.Option) (*cloudtrail.DeregisterOrganizationDelegatedAdminOutput, error) + DeregisterOrganizationDelegatedAdminRequest(*cloudtrail.DeregisterOrganizationDelegatedAdminInput) (*request.Request, *cloudtrail.DeregisterOrganizationDelegatedAdminOutput) + DescribeQuery(*cloudtrail.DescribeQueryInput) (*cloudtrail.DescribeQueryOutput, error) DescribeQueryWithContext(aws.Context, *cloudtrail.DescribeQueryInput, ...request.Option) (*cloudtrail.DescribeQueryOutput, error) DescribeQueryRequest(*cloudtrail.DescribeQueryInput) (*request.Request, *cloudtrail.DescribeQueryOutput) @@ -198,6 +202,10 @@ type CloudTrailAPI interface { PutInsightSelectorsWithContext(aws.Context, *cloudtrail.PutInsightSelectorsInput, ...request.Option) (*cloudtrail.PutInsightSelectorsOutput, error) PutInsightSelectorsRequest(*cloudtrail.PutInsightSelectorsInput) (*request.Request, *cloudtrail.PutInsightSelectorsOutput) + RegisterOrganizationDelegatedAdmin(*cloudtrail.RegisterOrganizationDelegatedAdminInput) (*cloudtrail.RegisterOrganizationDelegatedAdminOutput, error) + RegisterOrganizationDelegatedAdminWithContext(aws.Context, *cloudtrail.RegisterOrganizationDelegatedAdminInput, ...request.Option) (*cloudtrail.RegisterOrganizationDelegatedAdminOutput, error) + RegisterOrganizationDelegatedAdminRequest(*cloudtrail.RegisterOrganizationDelegatedAdminInput) (*request.Request, *cloudtrail.RegisterOrganizationDelegatedAdminOutput) + RemoveTags(*cloudtrail.RemoveTagsInput) (*cloudtrail.RemoveTagsOutput, error) RemoveTagsWithContext(aws.Context, *cloudtrail.RemoveTagsInput, ...request.Option) (*cloudtrail.RemoveTagsOutput, error) RemoveTagsRequest(*cloudtrail.RemoveTagsInput) (*request.Request, *cloudtrail.RemoveTagsOutput) diff --git a/service/cloudtrail/errors.go b/service/cloudtrail/errors.go index e2e855deea..cf6b5cf831 100644 --- a/service/cloudtrail/errors.go +++ b/service/cloudtrail/errors.go @@ -33,6 +33,34 @@ const ( // is still in progress. ErrCodeAccountHasOngoingImportException = "AccountHasOngoingImportException" + // ErrCodeAccountNotFoundException for service response error code + // "AccountNotFoundException". + // + // This exception is thrown when when the specified account is not found or + // not part of an organization. + ErrCodeAccountNotFoundException = "AccountNotFoundException" + + // ErrCodeAccountNotRegisteredException for service response error code + // "AccountNotRegisteredException". + // + // This exception is thrown when the specified account is not registered as + // the CloudTrail delegated administrator. + ErrCodeAccountNotRegisteredException = "AccountNotRegisteredException" + + // ErrCodeAccountRegisteredException for service response error code + // "AccountRegisteredException". + // + // This exception is thrown when the account is already registered as the CloudTrail + // delegated administrator. + ErrCodeAccountRegisteredException = "AccountRegisteredException" + + // ErrCodeCannotDelegateManagementAccountException for service response error code + // "CannotDelegateManagementAccountException". + // + // This exception is thrown when the management account of an organization is + // registered as the CloudTrail delegated administrator. + ErrCodeCannotDelegateManagementAccountException = "CannotDelegateManagementAccountException" + // ErrCodeChannelARNInvalidException for service response error code // "ChannelARNInvalidException". // @@ -69,6 +97,13 @@ const ( // occurs, wait a few minutes, and then try the operation again. ErrCodeConflictException = "ConflictException" + // ErrCodeDelegatedAdminAccountLimitExceededException for service response error code + // "DelegatedAdminAccountLimitExceededException". + // + // This exception is thrown when the maximum number of CloudTrail delegated + // administrators is reached. + ErrCodeDelegatedAdminAccountLimitExceededException = "DelegatedAdminAccountLimitExceededException" + // ErrCodeEventDataStoreARNInvalidException for service response error code // "EventDataStoreARNInvalidException". // @@ -368,7 +403,7 @@ const ( // "KmsException". // // This exception is thrown when there is an issue with the specified KMS key - // and the trail can’t be updated. + // and the trail or event data store can't be updated. ErrCodeKmsException = "KmsException" // ErrCodeKmsKeyDisabledException for service response error code @@ -398,6 +433,20 @@ const ( // This exception is thrown when the maximum number of trails is reached. ErrCodeMaximumNumberOfTrailsExceededException = "MaximumNumberOfTrailsExceededException" + // ErrCodeNoManagementAccountSLRExistsException for service response error code + // "NoManagementAccountSLRExistsException". + // + // This exception is thrown when the management account does not have a service-linked + // role. + ErrCodeNoManagementAccountSLRExistsException = "NoManagementAccountSLRExistsException" + + // ErrCodeNotOrganizationManagementAccountException for service response error code + // "NotOrganizationManagementAccountException". + // + // This exception is thrown when the account making the request is not the organization's + // management account. + ErrCodeNotOrganizationManagementAccountException = "NotOrganizationManagementAccountException" + // ErrCodeNotOrganizationMasterAccountException for service response error code // "NotOrganizationMasterAccountException". // @@ -491,11 +540,16 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "CloudTrailARNInvalidException": newErrorARNInvalidException, "CloudTrailAccessNotEnabledException": newErrorAccessNotEnabledException, "AccountHasOngoingImportException": newErrorAccountHasOngoingImportException, + "AccountNotFoundException": newErrorAccountNotFoundException, + "AccountNotRegisteredException": newErrorAccountNotRegisteredException, + "AccountRegisteredException": newErrorAccountRegisteredException, + "CannotDelegateManagementAccountException": newErrorCannotDelegateManagementAccountException, "ChannelARNInvalidException": newErrorChannelARNInvalidException, "ChannelNotFoundException": newErrorChannelNotFoundException, "CloudTrailInvalidClientTokenIdException": newErrorCloudTrailInvalidClientTokenIdException, "CloudWatchLogsDeliveryUnavailableException": newErrorCloudWatchLogsDeliveryUnavailableException, "ConflictException": newErrorConflictException, + "DelegatedAdminAccountLimitExceededException": newErrorDelegatedAdminAccountLimitExceededException, "EventDataStoreARNInvalidException": newErrorEventDataStoreARNInvalidException, "EventDataStoreAlreadyExistsException": newErrorEventDataStoreAlreadyExistsException, "EventDataStoreHasOngoingImportException": newErrorEventDataStoreHasOngoingImportException, @@ -540,6 +594,8 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "KmsKeyNotFoundException": newErrorKmsKeyNotFoundException, "MaxConcurrentQueriesException": newErrorMaxConcurrentQueriesException, "MaximumNumberOfTrailsExceededException": newErrorMaximumNumberOfTrailsExceededException, + "NoManagementAccountSLRExistsException": newErrorNoManagementAccountSLRExistsException, + "NotOrganizationManagementAccountException": newErrorNotOrganizationManagementAccountException, "NotOrganizationMasterAccountException": newErrorNotOrganizationMasterAccountException, "OperationNotPermittedException": newErrorOperationNotPermittedException, "OrganizationNotInAllFeaturesModeException": newErrorOrganizationNotInAllFeaturesModeException, diff --git a/service/ec2/api.go b/service/ec2/api.go index 4dbd3ddd1d..3b9180ca58 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -27508,7 +27508,7 @@ func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetReq // recorded event. Spot Fleet events are available for 48 hours. // // For more information, see Monitor fleet events using Amazon EventBridge (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fleet-monitor.html) -// in the Amazon EC2 User Guide for Linux Instances. +// in the Amazon EC2 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -47233,12 +47233,12 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques // only the spot-fleet-request and instance resource types are supported. // // For more information, see Spot Fleet requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) -// in the Amazon EC2 User Guide for Linux Instances. +// in the Amazon EC2 User Guide. // // We strongly discourage using the RequestSpotFleet API because it is a legacy // API with no planned investment. For options for requesting Spot Instances, // see Which is the best Spot request method to use? (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) -// in the Amazon EC2 User Guide for Linux Instances. +// in the Amazon EC2 User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -68103,7 +68103,7 @@ func (s *CreatePlacementGroupInput) SetTagSpecifications(v []*TagSpecification) type CreatePlacementGroupOutput struct { _ struct{} `type:"structure"` - // Describes a placement group. + // Information about the placement group. PlacementGroup *PlacementGroup `locationName:"placementGroup" type:"structure"` } @@ -109203,7 +109203,7 @@ func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *Fl // // For information about launch templates, see Launch an instance from a launch // template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) -// in the Amazon EC2 User Guide for Linux Instances. +// in the Amazon EC2 User Guide. type FleetLaunchTemplateSpecification struct { _ struct{} `type:"structure"` @@ -120777,6 +120777,16 @@ func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivat // all of the specified attributes. If you specify multiple values for an attribute, // you get instance types that satisfy any of the specified values. // +// To limit the list of instance types from which Amazon EC2 can identify matching +// instance types, you can use one of the following parameters, but not both +// in the same request: +// +// - AllowedInstanceTypes - The instance types to include in the list. All +// other instance types are ignored, even if they match your specified attributes. +// +// - ExcludedInstanceTypes - The instance types to exclude from the list, +// even if they match your specified attributes. +// // You must specify VCpuCount and MemoryMiB. All other attributes are optional. // Any unspecified optional attribute is set to its default. // @@ -120849,6 +120859,23 @@ type InstanceRequirements struct { // Default: Any accelerator type AcceleratorTypes []*string `locationName:"acceleratorTypeSet" locationNameList:"item" type:"list" enum:"AcceleratorType"` + // The instance types to apply your specified attributes against. All other + // instance types are ignored, even if they match your specified attributes. + // + // You can use strings with one or more wild cards, represented by an asterisk + // (*), to allow an instance type, size, or generation. The following are examples: + // m5.8xlarge, c5*.*, m5a.*, r*, *3*. + // + // For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance + // family, which includes all C5a and C5n instance types. If you specify m5a.*, + // Amazon EC2 will allow all the M5a instance types, but not the M5n instance + // types. + // + // If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes. + // + // Default: All instance types + AllowedInstanceTypes []*string `locationName:"allowedInstanceTypeSet" locationNameList:"item" type:"list"` + // Indicates whether bare metal instance types must be included, excluded, or // required. // @@ -120906,6 +120933,8 @@ type InstanceRequirements struct { // Amazon EC2 will exclude all the M5a instance types, but not the M5n instance // types. // + // If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes. + // // Default: No excluded instance types ExcludedInstanceTypes []*string `locationName:"excludedInstanceTypeSet" locationNameList:"item" type:"list"` @@ -120953,6 +120982,12 @@ type InstanceRequirements struct { // The minimum and maximum amount of memory, in MiB. MemoryMiB *MemoryMiB `locationName:"memoryMiB" type:"structure"` + // The minimum and maximum amount of network bandwidth, in gigabits per second + // (Gbps). + // + // Default: No minimum or maximum limits + NetworkBandwidthGbps *NetworkBandwidthGbps `locationName:"networkBandwidthGbps" type:"structure"` + // The minimum and maximum number of network interfaces. // // Default: No minimum or maximum limits @@ -121062,6 +121097,12 @@ func (s *InstanceRequirements) SetAcceleratorTypes(v []*string) *InstanceRequire return s } +// SetAllowedInstanceTypes sets the AllowedInstanceTypes field's value. +func (s *InstanceRequirements) SetAllowedInstanceTypes(v []*string) *InstanceRequirements { + s.AllowedInstanceTypes = v + return s +} + // SetBareMetal sets the BareMetal field's value. func (s *InstanceRequirements) SetBareMetal(v string) *InstanceRequirements { s.BareMetal = &v @@ -121122,6 +121163,12 @@ func (s *InstanceRequirements) SetMemoryMiB(v *MemoryMiB) *InstanceRequirements return s } +// SetNetworkBandwidthGbps sets the NetworkBandwidthGbps field's value. +func (s *InstanceRequirements) SetNetworkBandwidthGbps(v *NetworkBandwidthGbps) *InstanceRequirements { + s.NetworkBandwidthGbps = v + return s +} + // SetNetworkInterfaceCount sets the NetworkInterfaceCount field's value. func (s *InstanceRequirements) SetNetworkInterfaceCount(v *NetworkInterfaceCount) *InstanceRequirements { s.NetworkInterfaceCount = v @@ -121165,6 +121212,16 @@ func (s *InstanceRequirements) SetVCpuCount(v *VCpuCountRange) *InstanceRequirem // all of the specified attributes. If you specify multiple values for an attribute, // you get instance types that satisfy any of the specified values. // +// To limit the list of instance types from which Amazon EC2 can identify matching +// instance types, you can use one of the following parameters, but not both +// in the same request: +// +// - AllowedInstanceTypes - The instance types to include in the list. All +// other instance types are ignored, even if they match your specified attributes. +// +// - ExcludedInstanceTypes - The instance types to exclude from the list, +// even if they match your specified attributes. +// // You must specify VCpuCount and MemoryMiB. All other attributes are optional. // Any unspecified optional attribute is set to its default. // @@ -121237,6 +121294,23 @@ type InstanceRequirementsRequest struct { // Default: Any accelerator type AcceleratorTypes []*string `locationName:"AcceleratorType" locationNameList:"item" type:"list" enum:"AcceleratorType"` + // The instance types to apply your specified attributes against. All other + // instance types are ignored, even if they match your specified attributes. + // + // You can use strings with one or more wild cards, represented by an asterisk + // (*), to allow an instance type, size, or generation. The following are examples: + // m5.8xlarge, c5*.*, m5a.*, r*, *3*. + // + // For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance + // family, which includes all C5a and C5n instance types. If you specify m5a.*, + // Amazon EC2 will allow all the M5a instance types, but not the M5n instance + // types. + // + // If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes. + // + // Default: All instance types + AllowedInstanceTypes []*string `locationName:"AllowedInstanceType" locationNameList:"item" type:"list"` + // Indicates whether bare metal instance types must be included, excluded, or // required. // @@ -121294,6 +121368,8 @@ type InstanceRequirementsRequest struct { // Amazon EC2 will exclude all the M5a instance types, but not the M5n instance // types. // + // If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes. + // // Default: No excluded instance types ExcludedInstanceTypes []*string `locationName:"ExcludedInstanceType" locationNameList:"item" type:"list"` @@ -121343,6 +121419,12 @@ type InstanceRequirementsRequest struct { // MemoryMiB is a required field MemoryMiB *MemoryMiBRequest `type:"structure" required:"true"` + // The minimum and maximum amount of network bandwidth, in gigabits per second + // (Gbps). + // + // Default: No minimum or maximum limits + NetworkBandwidthGbps *NetworkBandwidthGbpsRequest `type:"structure"` + // The minimum and maximum number of network interfaces. // // Default: No minimum or maximum limits @@ -121480,6 +121562,12 @@ func (s *InstanceRequirementsRequest) SetAcceleratorTypes(v []*string) *Instance return s } +// SetAllowedInstanceTypes sets the AllowedInstanceTypes field's value. +func (s *InstanceRequirementsRequest) SetAllowedInstanceTypes(v []*string) *InstanceRequirementsRequest { + s.AllowedInstanceTypes = v + return s +} + // SetBareMetal sets the BareMetal field's value. func (s *InstanceRequirementsRequest) SetBareMetal(v string) *InstanceRequirementsRequest { s.BareMetal = &v @@ -121540,6 +121628,12 @@ func (s *InstanceRequirementsRequest) SetMemoryMiB(v *MemoryMiBRequest) *Instanc return s } +// SetNetworkBandwidthGbps sets the NetworkBandwidthGbps field's value. +func (s *InstanceRequirementsRequest) SetNetworkBandwidthGbps(v *NetworkBandwidthGbpsRequest) *InstanceRequirementsRequest { + s.NetworkBandwidthGbps = v + return s +} + // SetNetworkInterfaceCount sets the NetworkInterfaceCount field's value. func (s *InstanceRequirementsRequest) SetNetworkInterfaceCount(v *NetworkInterfaceCountRequest) *InstanceRequirementsRequest { s.NetworkInterfaceCount = v @@ -131365,7 +131459,7 @@ func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyIns type ModifyInstanceEventStartTimeOutput struct { _ struct{} `type:"structure"` - // Describes a scheduled event for an instance. + // Information about the event. Event *InstanceStatusEvent `locationName:"event" type:"structure"` } @@ -137769,6 +137863,108 @@ func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry { return s } +// The minimum and maximum amount of network bandwidth, in gigabits per second +// (Gbps). +// +// Setting the minimum bandwidth does not guarantee that your instance will +// achieve the minimum bandwidth. Amazon EC2 will identify instance types that +// support the specified minimum bandwidth, but the actual bandwidth of your +// instance might go below the specified minimum at times. For more information, +// see Available instance bandwidth (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) +// in the Amazon EC2 User Guide. +type NetworkBandwidthGbps struct { + _ struct{} `type:"structure"` + + // The maximum amount of network bandwidth, in Gbps. If this parameter is not + // specified, there is no maximum limit. + Max *float64 `locationName:"max" type:"double"` + + // The minimum amount of network bandwidth, in Gbps. If this parameter is not + // specified, there is no minimum limit. + Min *float64 `locationName:"min" type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkBandwidthGbps) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkBandwidthGbps) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *NetworkBandwidthGbps) SetMax(v float64) *NetworkBandwidthGbps { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *NetworkBandwidthGbps) SetMin(v float64) *NetworkBandwidthGbps { + s.Min = &v + return s +} + +// The minimum and maximum amount of network bandwidth, in gigabits per second +// (Gbps). +// +// Setting the minimum bandwidth does not guarantee that your instance will +// achieve the minimum bandwidth. Amazon EC2 will identify instance types that +// support the specified minimum bandwidth, but the actual bandwidth of your +// instance might go below the specified minimum at times. For more information, +// see Available instance bandwidth (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) +// in the Amazon EC2 User Guide. +type NetworkBandwidthGbpsRequest struct { + _ struct{} `type:"structure"` + + // The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, + // omit this parameter. + Max *float64 `type:"double"` + + // The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, + // omit this parameter. + Min *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkBandwidthGbpsRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkBandwidthGbpsRequest) GoString() string { + return s.String() +} + +// SetMax sets the Max field's value. +func (s *NetworkBandwidthGbpsRequest) SetMax(v float64) *NetworkBandwidthGbpsRequest { + s.Max = &v + return s +} + +// SetMin sets the Min field's value. +func (s *NetworkBandwidthGbpsRequest) SetMin(v float64) *NetworkBandwidthGbpsRequest { + s.Min = &v + return s +} + // Describes the network card support of the instance type. type NetworkCardInfo struct { _ struct{} `type:"structure"` @@ -155174,7 +155370,7 @@ type SpotFleetRequestConfigData struct { // The strategy that determines how to allocate the target Spot Instance capacity // across the Spot Instance pools specified by the Spot Fleet launch configuration. // For more information, see Allocation strategies for Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html) - // in the Amazon EC2 User Guide for Linux Instances. + // in the Amazon EC2 User Guide. // // lowestPrice - Spot Fleet launches instances from the lowest-price Spot Instance // pool that has available capacity. If the cheapest pool doesn't have available @@ -155222,9 +155418,9 @@ type SpotFleetRequestConfigData struct { // role that grants the Spot Fleet the permission to request, launch, terminate, // and tag instances on your behalf. For more information, see Spot Fleet prerequisites // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) - // in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate - // Spot Instances on your behalf when you cancel its Spot Fleet request using - // CancelSpotFleetRequests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CancelSpotFleetRequests) + // in the Amazon EC2 User Guide. Spot Fleet can terminate Spot Instances on + // your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CancelSpotFleetRequests) // or when the Spot Fleet request expires, if you set TerminateInstancesWithExpiration. // // IamFleetRole is a required field diff --git a/service/elasticache/api.go b/service/elasticache/api.go index 90ad963fc7..c0e54b0bda 100644 --- a/service/elasticache/api.go +++ b/service/elasticache/api.go @@ -5369,9 +5369,8 @@ func (c *ElastiCache) FailoverGlobalReplicationGroupRequest(input *FailoverGloba // FailoverGlobalReplicationGroup API operation for Amazon ElastiCache. // -// Used to failover the primary region to a selected secondary region. The selected -// secondary region will become primary, and all other clusters will become -// secondary. +// Used to failover the primary region to a secondary region. The secondary +// region will become primary, and all other clusters will become secondary. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8009,7 +8008,7 @@ type CacheCluster struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types: (available only + // * General purpose: Current generation: M6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge @@ -8017,7 +8016,7 @@ type CacheCluster struct { // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and for Memcached engine version + // only for Redis engine version 5.0.6 onward and Memcached engine version // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not @@ -8030,11 +8029,6 @@ type CacheCluster struct { // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized with data tiering: Current generation: R6gd node types - // (available only for Redis engine version 6.2 onward). cache.r6gd.xlarge, - // cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, - // cache.r6gd.16xlarge - // // * Memory optimized: Current generation: R6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, @@ -8089,9 +8083,19 @@ type CacheCluster struct { // The version of the cache engine that is used in this cluster. EngineVersion *string `type:"string"` + // The network type associated with the cluster, either ipv4 | ipv6. IPv6 is + // supported for workloads using Redis engine version 6.2 onward or Memcached + // engine version 1.6.6 on all instances built on the Nitro system (https://aws.amazon.com/ec2/nitro/). + IpDiscovery *string `type:"string" enum:"IpDiscovery"` + // Returns the destination, format and type of the logs. LogDeliveryConfigurations []*LogDeliveryConfiguration `locationNameList:"LogDeliveryConfiguration" type:"list"` + // Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads + // using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on + // all instances built on the Nitro system (https://aws.amazon.com/ec2/nitro/). + NetworkType *string `type:"string" enum:"NetworkType"` + // Describes a notification topic and its status. Notification topics are used // for publishing ElastiCache events to subscribers using Amazon Simple Notification // Service (SNS). @@ -8295,12 +8299,24 @@ func (s *CacheCluster) SetEngineVersion(v string) *CacheCluster { return s } +// SetIpDiscovery sets the IpDiscovery field's value. +func (s *CacheCluster) SetIpDiscovery(v string) *CacheCluster { + s.IpDiscovery = &v + return s +} + // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. func (s *CacheCluster) SetLogDeliveryConfigurations(v []*LogDeliveryConfiguration) *CacheCluster { s.LogDeliveryConfigurations = v return s } +// SetNetworkType sets the NetworkType field's value. +func (s *CacheCluster) SetNetworkType(v string) *CacheCluster { + s.NetworkType = &v + return s +} + // SetNotificationConfiguration sets the NotificationConfiguration field's value. func (s *CacheCluster) SetNotificationConfiguration(v *NotificationConfiguration) *CacheCluster { s.NotificationConfiguration = v @@ -8452,7 +8468,7 @@ func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // -// - General purpose: Current generation: M6g node types: (available only +// - General purpose: Current generation: M6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge @@ -8460,7 +8476,7 @@ func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available -// only for Redis engine version 5.0.6 onward and for Memcached engine version +// only for Redis engine version 5.0.6 onward and Memcached engine version // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not @@ -8473,11 +8489,6 @@ func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // -// - Memory optimized with data tiering: Current generation: R6gd node types -// (available only for Redis engine version 6.2 onward). cache.r6gd.xlarge, -// cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, -// cache.r6gd.16xlarge -// // - Memory optimized: Current generation: R6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, @@ -9144,6 +9155,11 @@ type CacheSubnetGroup struct { // A list of subnets associated with the cache subnet group. Subnets []*Subnet `locationNameList:"Subnet" type:"list"` + // Either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis + // engine version 6.2 onward or Memcached engine version 1.6.6 on all instances + // built on the Nitro system (https://aws.amazon.com/ec2/nitro/). + SupportedNetworkTypes []*string `type:"list" enum:"NetworkType"` + // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet // group. VpcId *string `type:"string"` @@ -9191,6 +9207,12 @@ func (s *CacheSubnetGroup) SetSubnets(v []*Subnet) *CacheSubnetGroup { return s } +// SetSupportedNetworkTypes sets the SupportedNetworkTypes field's value. +func (s *CacheSubnetGroup) SetSupportedNetworkTypes(v []*string) *CacheSubnetGroup { + s.SupportedNetworkTypes = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CacheSubnetGroup) SetVpcId(v string) *CacheSubnetGroup { s.VpcId = &v @@ -9688,9 +9710,20 @@ type CreateCacheClusterInput struct { // group and create it anew with the earlier engine version. EngineVersion *string `type:"string"` + // The network type you choose when modifying a cluster, either ipv4 | ipv6. + // IPv6 is supported for workloads using Redis engine version 6.2 onward or + // Memcached engine version 1.6.6 on all instances built on the Nitro system + // (https://aws.amazon.com/ec2/nitro/). + IpDiscovery *string `type:"string" enum:"IpDiscovery"` + // Specifies the destination, format and type of the logs. LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` + // Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads + // using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on + // all instances built on the Nitro system (https://aws.amazon.com/ec2/nitro/). + NetworkType *string `type:"string" enum:"NetworkType"` + // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service // (SNS) topic to which notifications are sent. // @@ -9814,8 +9847,8 @@ type CreateCacheClusterInput struct { // in-transit encryption on a cluster you must set TransitEncryptionEnabled // to true when you create a cluster. // - // Required: Only available when creating a cache cluster in an Amazon VPC using - // Memcached version 1.6.12 or later. + // Only available when creating a cache cluster in an Amazon VPC using Memcached + // version 1.6.12 or later. TransitEncryptionEnabled *bool `type:"boolean"` } @@ -9910,12 +9943,24 @@ func (s *CreateCacheClusterInput) SetEngineVersion(v string) *CreateCacheCluster return s } +// SetIpDiscovery sets the IpDiscovery field's value. +func (s *CreateCacheClusterInput) SetIpDiscovery(v string) *CreateCacheClusterInput { + s.IpDiscovery = &v + return s +} + // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. func (s *CreateCacheClusterInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *CreateCacheClusterInput { s.LogDeliveryConfigurations = v return s } +// SetNetworkType sets the NetworkType field's value. +func (s *CreateCacheClusterInput) SetNetworkType(v string) *CreateCacheClusterInput { + s.NetworkType = &v + return s +} + // SetNotificationTopicArn sets the NotificationTopicArn field's value. func (s *CreateCacheClusterInput) SetNotificationTopicArn(v string) *CreateCacheClusterInput { s.NotificationTopicArn = &v @@ -10602,11 +10647,6 @@ type CreateReplicationGroupInput struct { // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized with data tiering: Current generation: R6gd node types - // (available only for Redis engine version 6.2 onward). cache.r6gd.xlarge, - // cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, - // cache.r6gd.16xlarge - // // * Memory optimized: Current generation: R6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, @@ -10679,6 +10719,12 @@ type CreateReplicationGroupInput struct { // The name of the Global datastore GlobalReplicationGroupId *string `type:"string"` + // The network type you choose when creating a replication group, either ipv4 + // | ipv6. IPv6 is supported for workloads using Redis engine version 6.2 onward + // or Memcached engine version 1.6.6 on all instances built on the Nitro system + // (https://aws.amazon.com/ec2/nitro/). + IpDiscovery *string `type:"string" enum:"IpDiscovery"` + // The ID of the KMS key used to encrypt the disk in the cluster. KmsKeyId *string `type:"string"` @@ -10689,6 +10735,11 @@ type CreateReplicationGroupInput struct { // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html). MultiAZEnabled *bool `type:"boolean"` + // Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads + // using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on + // all instances built on the Nitro system (https://aws.amazon.com/ec2/nitro/). + NetworkType *string `type:"string" enum:"NetworkType"` + // A list of node group (shard) configuration options. Each node group (shard) // configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, // ReplicaCount, and Slots. @@ -10993,6 +11044,12 @@ func (s *CreateReplicationGroupInput) SetGlobalReplicationGroupId(v string) *Cre return s } +// SetIpDiscovery sets the IpDiscovery field's value. +func (s *CreateReplicationGroupInput) SetIpDiscovery(v string) *CreateReplicationGroupInput { + s.IpDiscovery = &v + return s +} + // SetKmsKeyId sets the KmsKeyId field's value. func (s *CreateReplicationGroupInput) SetKmsKeyId(v string) *CreateReplicationGroupInput { s.KmsKeyId = &v @@ -11011,6 +11068,12 @@ func (s *CreateReplicationGroupInput) SetMultiAZEnabled(v bool) *CreateReplicati return s } +// SetNetworkType sets the NetworkType field's value. +func (s *CreateReplicationGroupInput) SetNetworkType(v string) *CreateReplicationGroupInput { + s.NetworkType = &v + return s +} + // SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. func (s *CreateReplicationGroupInput) SetNodeGroupConfiguration(v []*NodeGroupConfiguration) *CreateReplicationGroupInput { s.NodeGroupConfiguration = v @@ -14045,7 +14108,7 @@ type DescribeReservedCacheNodesInput struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types: (available only + // * General purpose: Current generation: M6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge @@ -14053,7 +14116,7 @@ type DescribeReservedCacheNodesInput struct { // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and for Memcached engine version + // only for Redis engine version 5.0.6 onward and Memcached engine version // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not @@ -14066,11 +14129,6 @@ type DescribeReservedCacheNodesInput struct { // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized with data tiering: Current generation: R6gd node types - // (available only for Redis engine version 6.2 onward). cache.r6gd.xlarge, - // cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, - // cache.r6gd.16xlarge - // // * Memory optimized: Current generation: R6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, @@ -14213,15 +14271,15 @@ type DescribeReservedCacheNodesOfferingsInput struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types: (available only + // * General purpose: Current generation: M6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward) cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, cache.m6g.4xlarge, - // cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge For region availability, - // see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) + // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, + // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge + // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T4g node types (available - // only for Redis engine version 5.0.6 onward and for Memcached engine version + // only for Redis engine version 5.0.6 onward and Memcached engine version // 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium T3 // node types: cache.t3.micro, cache.t3.small, cache.t3.medium T2 node types: // cache.t2.micro, cache.t2.small, cache.t2.medium Previous generation: (not @@ -14234,11 +14292,6 @@ type DescribeReservedCacheNodesOfferingsInput struct { // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized with data tiering: Current generation: R6gd node types - // (available only for Redis engine version 6.2 onward). cache.r6gd.xlarge, - // cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, - // cache.r6gd.16xlarge - // // * Memory optimized: Current generation: R6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, @@ -16643,6 +16696,12 @@ type ModifyCacheClusterInput struct { // it anew with the earlier engine version. EngineVersion *string `type:"string"` + // The network type you choose when modifying a cluster, either ipv4 | ipv6. + // IPv6 is supported for workloads using Redis engine version 6.2 onward or + // Memcached engine version 1.6.6 on all instances built on the Nitro system + // (https://aws.amazon.com/ec2/nitro/). + IpDiscovery *string `type:"string" enum:"IpDiscovery"` + // Specifies the destination, format and type of the logs. LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` @@ -16881,6 +16940,12 @@ func (s *ModifyCacheClusterInput) SetEngineVersion(v string) *ModifyCacheCluster return s } +// SetIpDiscovery sets the IpDiscovery field's value. +func (s *ModifyCacheClusterInput) SetIpDiscovery(v string) *ModifyCacheClusterInput { + s.IpDiscovery = &v + return s +} + // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. func (s *ModifyCacheClusterInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *ModifyCacheClusterInput { s.LogDeliveryConfigurations = v @@ -17361,6 +17426,12 @@ type ModifyReplicationGroupInput struct { // and create it anew with the earlier engine version. EngineVersion *string `type:"string"` + // The network type you choose when modifying a cluster, either ipv4 | ipv6. + // IPv6 is supported for workloads using Redis engine version 6.2 onward or + // Memcached engine version 1.6.6 on all instances built on the Nitro system + // (https://aws.amazon.com/ec2/nitro/). + IpDiscovery *string `type:"string" enum:"IpDiscovery"` + // Specifies the destination, format and type of the logs. LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` @@ -17547,6 +17618,12 @@ func (s *ModifyReplicationGroupInput) SetEngineVersion(v string) *ModifyReplicat return s } +// SetIpDiscovery sets the IpDiscovery field's value. +func (s *ModifyReplicationGroupInput) SetIpDiscovery(v string) *ModifyReplicationGroupInput { + s.IpDiscovery = &v + return s +} + // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. func (s *ModifyReplicationGroupInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *ModifyReplicationGroupInput { s.LogDeliveryConfigurations = v @@ -19658,6 +19735,12 @@ type ReplicationGroup struct { // Global datastore. GlobalReplicationGroupInfo *GlobalReplicationGroupInfo `type:"structure"` + // The network type you choose when modifying a cluster, either ipv4 | ipv6. + // IPv6 is supported for workloads using Redis engine version 6.2 onward or + // Memcached engine version 1.6.6 on all instances built on the Nitro system + // (https://aws.amazon.com/ec2/nitro/). + IpDiscovery *string `type:"string" enum:"IpDiscovery"` + // The ID of the KMS key used to encrypt the disk in the cluster. KmsKeyId *string `type:"string"` @@ -19674,6 +19757,11 @@ type ReplicationGroup struct { // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html) MultiAZ *string `type:"string" enum:"MultiAZStatus"` + // Must be either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads + // using Redis engine version 6.2 onward or Memcached engine version 1.6.6 on + // all instances built on the Nitro system (https://aws.amazon.com/ec2/nitro/). + NetworkType *string `type:"string" enum:"NetworkType"` + // A list of node groups in this replication group. For Redis (cluster mode // disabled) replication groups, this is a single-element list. For Redis (cluster // mode enabled) replication groups, the list contains an entry for each node @@ -19823,6 +19911,12 @@ func (s *ReplicationGroup) SetGlobalReplicationGroupInfo(v *GlobalReplicationGro return s } +// SetIpDiscovery sets the IpDiscovery field's value. +func (s *ReplicationGroup) SetIpDiscovery(v string) *ReplicationGroup { + s.IpDiscovery = &v + return s +} + // SetKmsKeyId sets the KmsKeyId field's value. func (s *ReplicationGroup) SetKmsKeyId(v string) *ReplicationGroup { s.KmsKeyId = &v @@ -19853,6 +19947,12 @@ func (s *ReplicationGroup) SetMultiAZ(v string) *ReplicationGroup { return s } +// SetNetworkType sets the NetworkType field's value. +func (s *ReplicationGroup) SetNetworkType(v string) *ReplicationGroup { + s.NetworkType = &v + return s +} + // SetNodeGroups sets the NodeGroups field's value. func (s *ReplicationGroup) SetNodeGroups(v []*NodeGroup) *ReplicationGroup { s.NodeGroups = v @@ -20005,7 +20105,7 @@ type ReservedCacheNode struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types: (available only + // * General purpose: Current generation: M6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge @@ -20026,11 +20126,6 @@ type ReservedCacheNode struct { // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized with data tiering: Current generation: R6gd node types - // (available only for Redis engine version 6.2 onward). cache.r6gd.xlarge, - // cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, - // cache.r6gd.16xlarge - // // * Memory optimized: Current generation: R6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, @@ -20198,7 +20293,7 @@ type ReservedCacheNodesOffering struct { // the current generation types provide more memory and computational power // at lower cost when compared to their equivalent previous generation counterparts. // - // * General purpose: Current generation: M6g node types: (available only + // * General purpose: Current generation: M6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge @@ -20219,11 +20314,6 @@ type ReservedCacheNodesOffering struct { // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized with data tiering: Current generation: R6gd node types - // (available only for Redis engine version 6.2 onward). cache.r6gd.xlarge, - // cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, - // cache.r6gd.16xlarge - // // * Memory optimized: Current generation: R6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, @@ -20851,7 +20941,7 @@ type Snapshot struct { // // * General purpose: Current generation: M6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version - // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, + // 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, @@ -20870,17 +20960,11 @@ type Snapshot struct { // are still supported but creation of new clusters is not supported for // these types.) C1 node types: cache.c1.xlarge // - // * Memory optimized with data tiering: Current generation: R6gd node types - // (available only for Redis engine version 6.2 onward). cache.r6gd.xlarge, - // cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, - // cache.r6gd.16xlarge - // // * Memory optimized: Current generation: R6g node types (available only // for Redis engine version 5.0.6 onward and for Memcached engine version // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) - // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge @@ -21302,6 +21386,11 @@ type Subnet struct { // The outpost ARN of the subnet. SubnetOutpost *SubnetOutpost `type:"structure"` + + // Either ipv4 | ipv6 | dual_stack. IPv6 is supported for workloads using Redis + // engine version 6.2 onward or Memcached engine version 1.6.6 on all instances + // built on the Nitro system (https://aws.amazon.com/ec2/nitro/). + SupportedNetworkTypes []*string `type:"list" enum:"NetworkType"` } // String returns the string representation. @@ -21340,6 +21429,12 @@ func (s *Subnet) SetSubnetOutpost(v *SubnetOutpost) *Subnet { return s } +// SetSupportedNetworkTypes sets the SupportedNetworkTypes field's value. +func (s *Subnet) SetSupportedNetworkTypes(v []*string) *Subnet { + s.SupportedNetworkTypes = v + return s +} + // The ID of the outpost subnet. type SubnetOutpost struct { _ struct{} `type:"structure"` @@ -22259,6 +22354,22 @@ func DestinationType_Values() []string { } } +const ( + // IpDiscoveryIpv4 is a IpDiscovery enum value + IpDiscoveryIpv4 = "ipv4" + + // IpDiscoveryIpv6 is a IpDiscovery enum value + IpDiscoveryIpv6 = "ipv6" +) + +// IpDiscovery_Values returns all elements of the IpDiscovery enum +func IpDiscovery_Values() []string { + return []string{ + IpDiscoveryIpv4, + IpDiscoveryIpv6, + } +} + const ( // LogDeliveryConfigurationStatusActive is a LogDeliveryConfigurationStatus enum value LogDeliveryConfigurationStatusActive = "active" @@ -22335,6 +22446,26 @@ func MultiAZStatus_Values() []string { } } +const ( + // NetworkTypeIpv4 is a NetworkType enum value + NetworkTypeIpv4 = "ipv4" + + // NetworkTypeIpv6 is a NetworkType enum value + NetworkTypeIpv6 = "ipv6" + + // NetworkTypeDualStack is a NetworkType enum value + NetworkTypeDualStack = "dual_stack" +) + +// NetworkType_Values returns all elements of the NetworkType enum +func NetworkType_Values() []string { + return []string{ + NetworkTypeIpv4, + NetworkTypeIpv6, + NetworkTypeDualStack, + } +} + const ( // NodeUpdateInitiatedBySystem is a NodeUpdateInitiatedBy enum value NodeUpdateInitiatedBySystem = "system" diff --git a/service/lexmodelsv2/api.go b/service/lexmodelsv2/api.go index 3e1f3132d2..b7370041be 100644 --- a/service/lexmodelsv2/api.go +++ b/service/lexmodelsv2/api.go @@ -13,6 +13,288 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opBatchCreateCustomVocabularyItem = "BatchCreateCustomVocabularyItem" + +// BatchCreateCustomVocabularyItemRequest generates a "aws/request.Request" representing the +// client's request for the BatchCreateCustomVocabularyItem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchCreateCustomVocabularyItem for more information on using the BatchCreateCustomVocabularyItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the BatchCreateCustomVocabularyItemRequest method. +// req, resp := client.BatchCreateCustomVocabularyItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/BatchCreateCustomVocabularyItem +func (c *LexModelsV2) BatchCreateCustomVocabularyItemRequest(input *BatchCreateCustomVocabularyItemInput) (req *request.Request, output *BatchCreateCustomVocabularyItemOutput) { + op := &request.Operation{ + Name: opBatchCreateCustomVocabularyItem, + HTTPMethod: "PUT", + HTTPPath: "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/customvocabulary/DEFAULT/batchcreate", + } + + if input == nil { + input = &BatchCreateCustomVocabularyItemInput{} + } + + output = &BatchCreateCustomVocabularyItemOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchCreateCustomVocabularyItem API operation for Amazon Lex Model Building V2. +// +// Batch create custom vocabulary item for the specified locale in the specified +// bot. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lex Model Building V2's +// API operation BatchCreateCustomVocabularyItem for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// Your request rate is too high. Reduce the frequency of requests. +// +// - ServiceQuotaExceededException +// You have reached a quota for your bot. +// +// - ValidationException +// One of the input parameters in your request isn't valid. Check the parameters +// and try your request again. +// +// - ResourceNotFoundException +// You asked to describe a resource that doesn't exist. Check the resource that +// you are requesting and try again. +// +// - InternalServerException +// The service encountered an unexpected condition. Try your request again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/BatchCreateCustomVocabularyItem +func (c *LexModelsV2) BatchCreateCustomVocabularyItem(input *BatchCreateCustomVocabularyItemInput) (*BatchCreateCustomVocabularyItemOutput, error) { + req, out := c.BatchCreateCustomVocabularyItemRequest(input) + return out, req.Send() +} + +// BatchCreateCustomVocabularyItemWithContext is the same as BatchCreateCustomVocabularyItem with the addition of +// the ability to pass a context and additional request options. +// +// See BatchCreateCustomVocabularyItem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *LexModelsV2) BatchCreateCustomVocabularyItemWithContext(ctx aws.Context, input *BatchCreateCustomVocabularyItemInput, opts ...request.Option) (*BatchCreateCustomVocabularyItemOutput, error) { + req, out := c.BatchCreateCustomVocabularyItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchDeleteCustomVocabularyItem = "BatchDeleteCustomVocabularyItem" + +// BatchDeleteCustomVocabularyItemRequest generates a "aws/request.Request" representing the +// client's request for the BatchDeleteCustomVocabularyItem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchDeleteCustomVocabularyItem for more information on using the BatchDeleteCustomVocabularyItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the BatchDeleteCustomVocabularyItemRequest method. +// req, resp := client.BatchDeleteCustomVocabularyItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/BatchDeleteCustomVocabularyItem +func (c *LexModelsV2) BatchDeleteCustomVocabularyItemRequest(input *BatchDeleteCustomVocabularyItemInput) (req *request.Request, output *BatchDeleteCustomVocabularyItemOutput) { + op := &request.Operation{ + Name: opBatchDeleteCustomVocabularyItem, + HTTPMethod: "POST", + HTTPPath: "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/customvocabulary/DEFAULT/batchdelete", + } + + if input == nil { + input = &BatchDeleteCustomVocabularyItemInput{} + } + + output = &BatchDeleteCustomVocabularyItemOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchDeleteCustomVocabularyItem API operation for Amazon Lex Model Building V2. +// +// Batch delete custom vocabulary item for the specified locale in the specified +// bot. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lex Model Building V2's +// API operation BatchDeleteCustomVocabularyItem for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// Your request rate is too high. Reduce the frequency of requests. +// +// - ServiceQuotaExceededException +// You have reached a quota for your bot. +// +// - ValidationException +// One of the input parameters in your request isn't valid. Check the parameters +// and try your request again. +// +// - ResourceNotFoundException +// You asked to describe a resource that doesn't exist. Check the resource that +// you are requesting and try again. +// +// - InternalServerException +// The service encountered an unexpected condition. Try your request again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/BatchDeleteCustomVocabularyItem +func (c *LexModelsV2) BatchDeleteCustomVocabularyItem(input *BatchDeleteCustomVocabularyItemInput) (*BatchDeleteCustomVocabularyItemOutput, error) { + req, out := c.BatchDeleteCustomVocabularyItemRequest(input) + return out, req.Send() +} + +// BatchDeleteCustomVocabularyItemWithContext is the same as BatchDeleteCustomVocabularyItem with the addition of +// the ability to pass a context and additional request options. +// +// See BatchDeleteCustomVocabularyItem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *LexModelsV2) BatchDeleteCustomVocabularyItemWithContext(ctx aws.Context, input *BatchDeleteCustomVocabularyItemInput, opts ...request.Option) (*BatchDeleteCustomVocabularyItemOutput, error) { + req, out := c.BatchDeleteCustomVocabularyItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchUpdateCustomVocabularyItem = "BatchUpdateCustomVocabularyItem" + +// BatchUpdateCustomVocabularyItemRequest generates a "aws/request.Request" representing the +// client's request for the BatchUpdateCustomVocabularyItem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchUpdateCustomVocabularyItem for more information on using the BatchUpdateCustomVocabularyItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the BatchUpdateCustomVocabularyItemRequest method. +// req, resp := client.BatchUpdateCustomVocabularyItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/BatchUpdateCustomVocabularyItem +func (c *LexModelsV2) BatchUpdateCustomVocabularyItemRequest(input *BatchUpdateCustomVocabularyItemInput) (req *request.Request, output *BatchUpdateCustomVocabularyItemOutput) { + op := &request.Operation{ + Name: opBatchUpdateCustomVocabularyItem, + HTTPMethod: "PUT", + HTTPPath: "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/customvocabulary/DEFAULT/batchupdate", + } + + if input == nil { + input = &BatchUpdateCustomVocabularyItemInput{} + } + + output = &BatchUpdateCustomVocabularyItemOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchUpdateCustomVocabularyItem API operation for Amazon Lex Model Building V2. +// +// Batch update custom vocabulary item for the specified locale in the specified +// bot. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lex Model Building V2's +// API operation BatchUpdateCustomVocabularyItem for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// Your request rate is too high. Reduce the frequency of requests. +// +// - ServiceQuotaExceededException +// You have reached a quota for your bot. +// +// - ValidationException +// One of the input parameters in your request isn't valid. Check the parameters +// and try your request again. +// +// - ResourceNotFoundException +// You asked to describe a resource that doesn't exist. Check the resource that +// you are requesting and try again. +// +// - InternalServerException +// The service encountered an unexpected condition. Try your request again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/BatchUpdateCustomVocabularyItem +func (c *LexModelsV2) BatchUpdateCustomVocabularyItem(input *BatchUpdateCustomVocabularyItemInput) (*BatchUpdateCustomVocabularyItemOutput, error) { + req, out := c.BatchUpdateCustomVocabularyItemRequest(input) + return out, req.Send() +} + +// BatchUpdateCustomVocabularyItemWithContext is the same as BatchUpdateCustomVocabularyItem with the addition of +// the ability to pass a context and additional request options. +// +// See BatchUpdateCustomVocabularyItem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *LexModelsV2) BatchUpdateCustomVocabularyItemWithContext(ctx aws.Context, input *BatchUpdateCustomVocabularyItemInput, opts ...request.Option) (*BatchUpdateCustomVocabularyItemOutput, error) { + req, out := c.BatchUpdateCustomVocabularyItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBuildBotLocale = "BuildBotLocale" // BuildBotLocaleRequest generates a "aws/request.Request" representing the @@ -4833,36 +5115,36 @@ func (c *LexModelsV2) ListBuiltInSlotTypesPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opListExports = "ListExports" +const opListCustomVocabularyItems = "ListCustomVocabularyItems" -// ListExportsRequest generates a "aws/request.Request" representing the -// client's request for the ListExports operation. The "output" return +// ListCustomVocabularyItemsRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomVocabularyItems operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListExports for more information on using the ListExports +// See ListCustomVocabularyItems for more information on using the ListCustomVocabularyItems // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListExportsRequest method. -// req, resp := client.ListExportsRequest(params) +// // Example sending a request using the ListCustomVocabularyItemsRequest method. +// req, resp := client.ListCustomVocabularyItemsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListExports -func (c *LexModelsV2) ListExportsRequest(input *ListExportsInput) (req *request.Request, output *ListExportsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListCustomVocabularyItems +func (c *LexModelsV2) ListCustomVocabularyItemsRequest(input *ListCustomVocabularyItemsInput) (req *request.Request, output *ListCustomVocabularyItemsOutput) { op := &request.Operation{ - Name: opListExports, + Name: opListCustomVocabularyItems, HTTPMethod: "POST", - HTTPPath: "/exports/", + HTTPPath: "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/customvocabulary/DEFAULT/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -4872,96 +5154,102 @@ func (c *LexModelsV2) ListExportsRequest(input *ListExportsInput) (req *request. } if input == nil { - input = &ListExportsInput{} + input = &ListCustomVocabularyItemsInput{} } - output = &ListExportsOutput{} + output = &ListCustomVocabularyItemsOutput{} req = c.newRequest(op, input, output) return } -// ListExports API operation for Amazon Lex Model Building V2. +// ListCustomVocabularyItems API operation for Amazon Lex Model Building V2. // -// Lists the exports for a bot, bot locale, or custom vocabulary. Exports are -// kept in the list for 7 days. +// List custom vocabulary items for the specified locale in the specified bot. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lex Model Building V2's -// API operation ListExports for usage and error information. +// API operation ListCustomVocabularyItems for usage and error information. // // Returned Error Types: // // - ThrottlingException // Your request rate is too high. Reduce the frequency of requests. // +// - ServiceQuotaExceededException +// You have reached a quota for your bot. +// // - ValidationException // One of the input parameters in your request isn't valid. Check the parameters // and try your request again. // +// - ResourceNotFoundException +// You asked to describe a resource that doesn't exist. Check the resource that +// you are requesting and try again. +// // - InternalServerException // The service encountered an unexpected condition. Try your request again. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListExports -func (c *LexModelsV2) ListExports(input *ListExportsInput) (*ListExportsOutput, error) { - req, out := c.ListExportsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListCustomVocabularyItems +func (c *LexModelsV2) ListCustomVocabularyItems(input *ListCustomVocabularyItemsInput) (*ListCustomVocabularyItemsOutput, error) { + req, out := c.ListCustomVocabularyItemsRequest(input) return out, req.Send() } -// ListExportsWithContext is the same as ListExports with the addition of +// ListCustomVocabularyItemsWithContext is the same as ListCustomVocabularyItems with the addition of // the ability to pass a context and additional request options. // -// See ListExports for details on how to use this API operation. +// See ListCustomVocabularyItems for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *LexModelsV2) ListExportsWithContext(ctx aws.Context, input *ListExportsInput, opts ...request.Option) (*ListExportsOutput, error) { - req, out := c.ListExportsRequest(input) +func (c *LexModelsV2) ListCustomVocabularyItemsWithContext(ctx aws.Context, input *ListCustomVocabularyItemsInput, opts ...request.Option) (*ListCustomVocabularyItemsOutput, error) { + req, out := c.ListCustomVocabularyItemsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListExportsPages iterates over the pages of a ListExports operation, +// ListCustomVocabularyItemsPages iterates over the pages of a ListCustomVocabularyItems operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListExports method for more information on how to use this operation. +// See ListCustomVocabularyItems method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListExports operation. +// // Example iterating over at most 3 pages of a ListCustomVocabularyItems operation. // pageNum := 0 -// err := client.ListExportsPages(params, -// func(page *lexmodelsv2.ListExportsOutput, lastPage bool) bool { +// err := client.ListCustomVocabularyItemsPages(params, +// func(page *lexmodelsv2.ListCustomVocabularyItemsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *LexModelsV2) ListExportsPages(input *ListExportsInput, fn func(*ListExportsOutput, bool) bool) error { - return c.ListExportsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *LexModelsV2) ListCustomVocabularyItemsPages(input *ListCustomVocabularyItemsInput, fn func(*ListCustomVocabularyItemsOutput, bool) bool) error { + return c.ListCustomVocabularyItemsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListExportsPagesWithContext same as ListExportsPages except +// ListCustomVocabularyItemsPagesWithContext same as ListCustomVocabularyItemsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *LexModelsV2) ListExportsPagesWithContext(ctx aws.Context, input *ListExportsInput, fn func(*ListExportsOutput, bool) bool, opts ...request.Option) error { +func (c *LexModelsV2) ListCustomVocabularyItemsPagesWithContext(ctx aws.Context, input *ListCustomVocabularyItemsInput, fn func(*ListCustomVocabularyItemsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListExportsInput + var inCpy *ListCustomVocabularyItemsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListExportsRequest(inCpy) + req, _ := c.ListCustomVocabularyItemsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4969,7 +5257,7 @@ func (c *LexModelsV2) ListExportsPagesWithContext(ctx aws.Context, input *ListEx } for p.Next() { - if !fn(p.Page().(*ListExportsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCustomVocabularyItemsOutput), !p.HasNextPage()) { break } } @@ -4977,7 +5265,151 @@ func (c *LexModelsV2) ListExportsPagesWithContext(ctx aws.Context, input *ListEx return p.Err() } -const opListImports = "ListImports" +const opListExports = "ListExports" + +// ListExportsRequest generates a "aws/request.Request" representing the +// client's request for the ListExports operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListExports for more information on using the ListExports +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListExportsRequest method. +// req, resp := client.ListExportsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListExports +func (c *LexModelsV2) ListExportsRequest(input *ListExportsInput) (req *request.Request, output *ListExportsOutput) { + op := &request.Operation{ + Name: opListExports, + HTTPMethod: "POST", + HTTPPath: "/exports/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListExportsInput{} + } + + output = &ListExportsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListExports API operation for Amazon Lex Model Building V2. +// +// Lists the exports for a bot, bot locale, or custom vocabulary. Exports are +// kept in the list for 7 days. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lex Model Building V2's +// API operation ListExports for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// Your request rate is too high. Reduce the frequency of requests. +// +// - ValidationException +// One of the input parameters in your request isn't valid. Check the parameters +// and try your request again. +// +// - InternalServerException +// The service encountered an unexpected condition. Try your request again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListExports +func (c *LexModelsV2) ListExports(input *ListExportsInput) (*ListExportsOutput, error) { + req, out := c.ListExportsRequest(input) + return out, req.Send() +} + +// ListExportsWithContext is the same as ListExports with the addition of +// the ability to pass a context and additional request options. +// +// See ListExports for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *LexModelsV2) ListExportsWithContext(ctx aws.Context, input *ListExportsInput, opts ...request.Option) (*ListExportsOutput, error) { + req, out := c.ListExportsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListExportsPages iterates over the pages of a ListExports operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListExports method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListExports operation. +// pageNum := 0 +// err := client.ListExportsPages(params, +// func(page *lexmodelsv2.ListExportsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *LexModelsV2) ListExportsPages(input *ListExportsInput, fn func(*ListExportsOutput, bool) bool) error { + return c.ListExportsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListExportsPagesWithContext same as ListExportsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *LexModelsV2) ListExportsPagesWithContext(ctx aws.Context, input *ListExportsInput, fn func(*ListExportsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListExportsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListExportsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListExportsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListImports = "ListImports" // ListImportsRequest generates a "aws/request.Request" representing the // client's request for the ListImports operation. The "output" return @@ -5317,7 +5749,7 @@ func (c *LexModelsV2) ListRecommendedIntentsRequest(input *ListRecommendedIntent // ListRecommendedIntents API operation for Amazon Lex Model Building V2. // // Gets a list of recommended intents provided by the bot recommendation that -// you can use in your bot. +// you can use in your bot. Intents in the response are ordered by relevance. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7822,46 +8254,565 @@ func (s AudioLogDestination) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AudioLogDestination) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioLogDestination"} - if s.S3Bucket == nil { - invalidParams.Add(request.NewErrParamRequired("S3Bucket")) - } - if s.S3Bucket != nil { - if err := s.S3Bucket.Validate(); err != nil { - invalidParams.AddNested("S3Bucket", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioLogDestination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioLogDestination"} + if s.S3Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("S3Bucket")) + } + if s.S3Bucket != nil { + if err := s.S3Bucket.Validate(); err != nil { + invalidParams.AddNested("S3Bucket", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Bucket sets the S3Bucket field's value. +func (s *AudioLogDestination) SetS3Bucket(v *S3BucketLogDestination) *AudioLogDestination { + s.S3Bucket = v + return s +} + +// Settings for logging audio of conversations between Amazon Lex and a user. +// You specify whether to log audio and the Amazon S3 bucket where the audio +// file is stored. +type AudioLogSetting struct { + _ struct{} `type:"structure"` + + // The location of audio log files collected when conversation logging is enabled + // for a bot. + // + // Destination is a required field + Destination *AudioLogDestination `locationName:"destination" type:"structure" required:"true"` + + // Determines whether audio logging in enabled for the bot. + // + // Enabled is a required field + Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudioLogSetting) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudioLogSetting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioLogSetting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioLogSetting"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.Destination != nil { + if err := s.Destination.Validate(); err != nil { + invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestination sets the Destination field's value. +func (s *AudioLogSetting) SetDestination(v *AudioLogDestination) *AudioLogSetting { + s.Destination = v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *AudioLogSetting) SetEnabled(v bool) *AudioLogSetting { + s.Enabled = &v + return s +} + +// Specifies the audio input specifications. +type AudioSpecification struct { + _ struct{} `type:"structure"` + + // Time for which a bot waits after the customer stops speaking to assume the + // utterance is finished. + // + // EndTimeoutMs is a required field + EndTimeoutMs *int64 `locationName:"endTimeoutMs" min:"1" type:"integer" required:"true"` + + // Time for how long Amazon Lex waits before speech input is truncated and the + // speech is returned to application. + // + // MaxLengthMs is a required field + MaxLengthMs *int64 `locationName:"maxLengthMs" min:"1" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudioSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudioSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSpecification"} + if s.EndTimeoutMs == nil { + invalidParams.Add(request.NewErrParamRequired("EndTimeoutMs")) + } + if s.EndTimeoutMs != nil && *s.EndTimeoutMs < 1 { + invalidParams.Add(request.NewErrParamMinValue("EndTimeoutMs", 1)) + } + if s.MaxLengthMs == nil { + invalidParams.Add(request.NewErrParamRequired("MaxLengthMs")) + } + if s.MaxLengthMs != nil && *s.MaxLengthMs < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxLengthMs", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTimeoutMs sets the EndTimeoutMs field's value. +func (s *AudioSpecification) SetEndTimeoutMs(v int64) *AudioSpecification { + s.EndTimeoutMs = &v + return s +} + +// SetMaxLengthMs sets the MaxLengthMs field's value. +func (s *AudioSpecification) SetMaxLengthMs(v int64) *AudioSpecification { + s.MaxLengthMs = &v + return s +} + +type BatchCreateCustomVocabularyItemInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the bot to batch create the custom vocabulary item + // for. + // + // BotId is a required field + BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"` + + // The bot version of the bot to batch create the custom vocabulary item for. + // + // BotVersion is a required field + BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"` + + // The custom vocabulary item list of the bot to batch create the custom vocabulary + // item for. + // + // CustomVocabularyItemList is a required field + CustomVocabularyItemList []*NewCustomVocabularyItem `locationName:"customVocabularyItemList" min:"1" type:"list" required:"true"` + + // The unique locale identifier of the bot to batch create the custom vocabulary + // item for. + // + // LocaleId is a required field + LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchCreateCustomVocabularyItemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchCreateCustomVocabularyItemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchCreateCustomVocabularyItemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchCreateCustomVocabularyItemInput"} + if s.BotId == nil { + invalidParams.Add(request.NewErrParamRequired("BotId")) + } + if s.BotId != nil && len(*s.BotId) < 10 { + invalidParams.Add(request.NewErrParamMinLen("BotId", 10)) + } + if s.BotVersion == nil { + invalidParams.Add(request.NewErrParamRequired("BotVersion")) + } + if s.BotVersion != nil && len(*s.BotVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1)) + } + if s.CustomVocabularyItemList == nil { + invalidParams.Add(request.NewErrParamRequired("CustomVocabularyItemList")) + } + if s.CustomVocabularyItemList != nil && len(s.CustomVocabularyItemList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomVocabularyItemList", 1)) + } + if s.LocaleId == nil { + invalidParams.Add(request.NewErrParamRequired("LocaleId")) + } + if s.LocaleId != nil && len(*s.LocaleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1)) + } + if s.CustomVocabularyItemList != nil { + for i, v := range s.CustomVocabularyItemList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomVocabularyItemList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBotId sets the BotId field's value. +func (s *BatchCreateCustomVocabularyItemInput) SetBotId(v string) *BatchCreateCustomVocabularyItemInput { + s.BotId = &v + return s +} + +// SetBotVersion sets the BotVersion field's value. +func (s *BatchCreateCustomVocabularyItemInput) SetBotVersion(v string) *BatchCreateCustomVocabularyItemInput { + s.BotVersion = &v + return s +} + +// SetCustomVocabularyItemList sets the CustomVocabularyItemList field's value. +func (s *BatchCreateCustomVocabularyItemInput) SetCustomVocabularyItemList(v []*NewCustomVocabularyItem) *BatchCreateCustomVocabularyItemInput { + s.CustomVocabularyItemList = v + return s +} + +// SetLocaleId sets the LocaleId field's value. +func (s *BatchCreateCustomVocabularyItemInput) SetLocaleId(v string) *BatchCreateCustomVocabularyItemInput { + s.LocaleId = &v + return s +} + +type BatchCreateCustomVocabularyItemOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the bot to batch create response for the custom + // vocabulary item. + BotId *string `locationName:"botId" min:"10" type:"string"` + + // The bot version of the bot to batch create the custom vocabulary item response + // for. + BotVersion *string `locationName:"botVersion" min:"1" type:"string"` + + // The errors of the action to batch create the custom vocabulary item response + // for a bot. + Errors []*FailedCustomVocabularyItem `locationName:"errors" type:"list"` + + // The unique locale identifier of the bot to batch create the custom vocabulary + // item response for. + LocaleId *string `locationName:"localeId" type:"string"` + + // The resources of the action to batch create the custom vocabulary item response + // for a bot. + Resources []*CustomVocabularyItem `locationName:"resources" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchCreateCustomVocabularyItemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchCreateCustomVocabularyItemOutput) GoString() string { + return s.String() +} + +// SetBotId sets the BotId field's value. +func (s *BatchCreateCustomVocabularyItemOutput) SetBotId(v string) *BatchCreateCustomVocabularyItemOutput { + s.BotId = &v + return s +} + +// SetBotVersion sets the BotVersion field's value. +func (s *BatchCreateCustomVocabularyItemOutput) SetBotVersion(v string) *BatchCreateCustomVocabularyItemOutput { + s.BotVersion = &v + return s +} + +// SetErrors sets the Errors field's value. +func (s *BatchCreateCustomVocabularyItemOutput) SetErrors(v []*FailedCustomVocabularyItem) *BatchCreateCustomVocabularyItemOutput { + s.Errors = v + return s +} + +// SetLocaleId sets the LocaleId field's value. +func (s *BatchCreateCustomVocabularyItemOutput) SetLocaleId(v string) *BatchCreateCustomVocabularyItemOutput { + s.LocaleId = &v + return s +} + +// SetResources sets the Resources field's value. +func (s *BatchCreateCustomVocabularyItemOutput) SetResources(v []*CustomVocabularyItem) *BatchCreateCustomVocabularyItemOutput { + s.Resources = v + return s +} + +type BatchDeleteCustomVocabularyItemInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the bot to batch delete request for the custom vocabulary + // item. + // + // BotId is a required field + BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"` + + // The version of the bot to batch delete request for the custom vocabulary + // item. + // + // BotVersion is a required field + BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"` + + // The custom vocabulary list to batch delete request for the custom vocabulary + // item. + // + // CustomVocabularyItemList is a required field + CustomVocabularyItemList []*CustomVocabularyEntryId `locationName:"customVocabularyItemList" min:"1" type:"list" required:"true"` + + // The locale identifier of the bot to batch delete request for the custom vocabulary + // item. + // + // LocaleId is a required field + LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDeleteCustomVocabularyItemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDeleteCustomVocabularyItemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteCustomVocabularyItemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteCustomVocabularyItemInput"} + if s.BotId == nil { + invalidParams.Add(request.NewErrParamRequired("BotId")) + } + if s.BotId != nil && len(*s.BotId) < 10 { + invalidParams.Add(request.NewErrParamMinLen("BotId", 10)) + } + if s.BotVersion == nil { + invalidParams.Add(request.NewErrParamRequired("BotVersion")) + } + if s.BotVersion != nil && len(*s.BotVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1)) + } + if s.CustomVocabularyItemList == nil { + invalidParams.Add(request.NewErrParamRequired("CustomVocabularyItemList")) + } + if s.CustomVocabularyItemList != nil && len(s.CustomVocabularyItemList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomVocabularyItemList", 1)) + } + if s.LocaleId == nil { + invalidParams.Add(request.NewErrParamRequired("LocaleId")) + } + if s.LocaleId != nil && len(*s.LocaleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1)) + } + if s.CustomVocabularyItemList != nil { + for i, v := range s.CustomVocabularyItemList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomVocabularyItemList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBotId sets the BotId field's value. +func (s *BatchDeleteCustomVocabularyItemInput) SetBotId(v string) *BatchDeleteCustomVocabularyItemInput { + s.BotId = &v + return s +} + +// SetBotVersion sets the BotVersion field's value. +func (s *BatchDeleteCustomVocabularyItemInput) SetBotVersion(v string) *BatchDeleteCustomVocabularyItemInput { + s.BotVersion = &v + return s +} + +// SetCustomVocabularyItemList sets the CustomVocabularyItemList field's value. +func (s *BatchDeleteCustomVocabularyItemInput) SetCustomVocabularyItemList(v []*CustomVocabularyEntryId) *BatchDeleteCustomVocabularyItemInput { + s.CustomVocabularyItemList = v + return s +} + +// SetLocaleId sets the LocaleId field's value. +func (s *BatchDeleteCustomVocabularyItemInput) SetLocaleId(v string) *BatchDeleteCustomVocabularyItemInput { + s.LocaleId = &v + return s +} + +type BatchDeleteCustomVocabularyItemOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the bot to batch delete response for the custom + // vocabulary item. + BotId *string `locationName:"botId" min:"10" type:"string"` + + // The version of the bot to batch delete response for the custom vocabulary + // item. + BotVersion *string `locationName:"botVersion" min:"1" type:"string"` + + // The errors of the action to batch delete response for the custom vocabulary + // item. + Errors []*FailedCustomVocabularyItem `locationName:"errors" type:"list"` + + // The locale identifier of the bot to batch delete response for the custom + // vocabulary item. + LocaleId *string `locationName:"localeId" type:"string"` + + // The resources of the action to batch delete response for the custom vocabulary + // item. + Resources []*CustomVocabularyItem `locationName:"resources" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDeleteCustomVocabularyItemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDeleteCustomVocabularyItemOutput) GoString() string { + return s.String() +} + +// SetBotId sets the BotId field's value. +func (s *BatchDeleteCustomVocabularyItemOutput) SetBotId(v string) *BatchDeleteCustomVocabularyItemOutput { + s.BotId = &v + return s +} + +// SetBotVersion sets the BotVersion field's value. +func (s *BatchDeleteCustomVocabularyItemOutput) SetBotVersion(v string) *BatchDeleteCustomVocabularyItemOutput { + s.BotVersion = &v + return s +} + +// SetErrors sets the Errors field's value. +func (s *BatchDeleteCustomVocabularyItemOutput) SetErrors(v []*FailedCustomVocabularyItem) *BatchDeleteCustomVocabularyItemOutput { + s.Errors = v + return s +} + +// SetLocaleId sets the LocaleId field's value. +func (s *BatchDeleteCustomVocabularyItemOutput) SetLocaleId(v string) *BatchDeleteCustomVocabularyItemOutput { + s.LocaleId = &v + return s } -// SetS3Bucket sets the S3Bucket field's value. -func (s *AudioLogDestination) SetS3Bucket(v *S3BucketLogDestination) *AudioLogDestination { - s.S3Bucket = v +// SetResources sets the Resources field's value. +func (s *BatchDeleteCustomVocabularyItemOutput) SetResources(v []*CustomVocabularyItem) *BatchDeleteCustomVocabularyItemOutput { + s.Resources = v return s } -// Settings for logging audio of conversations between Amazon Lex and a user. -// You specify whether to log audio and the Amazon S3 bucket where the audio -// file is stored. -type AudioLogSetting struct { +type BatchUpdateCustomVocabularyItemInput struct { _ struct{} `type:"structure"` - // The location of audio log files collected when conversation logging is enabled - // for a bot. + // The unique identifier of the bot to the batch update request for the custom + // vocabulary item. // - // Destination is a required field - Destination *AudioLogDestination `locationName:"destination" type:"structure" required:"true"` + // BotId is a required field + BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"` - // Determines whether audio logging in enabled for the bot. + // The bot version of the bot to the batch update request for the custom vocabulary + // item. // - // Enabled is a required field - Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` + // BotVersion is a required field + BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"` + + // The custom vocabulary item list of the bot to the batch update request for + // the custom vocabulary item. + // + // CustomVocabularyItemList is a required field + CustomVocabularyItemList []*CustomVocabularyItem `locationName:"customVocabularyItemList" min:"1" type:"list" required:"true"` + + // The locale identifier of the bot to the batch update request for the custom + // vocabulary item. + // + // LocaleId is a required field + LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"` } // String returns the string representation. @@ -7869,7 +8820,7 @@ type AudioLogSetting struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AudioLogSetting) String() string { +func (s BatchUpdateCustomVocabularyItemInput) String() string { return awsutil.Prettify(s) } @@ -7878,22 +8829,45 @@ func (s AudioLogSetting) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AudioLogSetting) GoString() string { +func (s BatchUpdateCustomVocabularyItemInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioLogSetting) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioLogSetting"} - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) +func (s *BatchUpdateCustomVocabularyItemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchUpdateCustomVocabularyItemInput"} + if s.BotId == nil { + invalidParams.Add(request.NewErrParamRequired("BotId")) } - if s.Enabled == nil { - invalidParams.Add(request.NewErrParamRequired("Enabled")) + if s.BotId != nil && len(*s.BotId) < 10 { + invalidParams.Add(request.NewErrParamMinLen("BotId", 10)) } - if s.Destination != nil { - if err := s.Destination.Validate(); err != nil { - invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) + if s.BotVersion == nil { + invalidParams.Add(request.NewErrParamRequired("BotVersion")) + } + if s.BotVersion != nil && len(*s.BotVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1)) + } + if s.CustomVocabularyItemList == nil { + invalidParams.Add(request.NewErrParamRequired("CustomVocabularyItemList")) + } + if s.CustomVocabularyItemList != nil && len(s.CustomVocabularyItemList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomVocabularyItemList", 1)) + } + if s.LocaleId == nil { + invalidParams.Add(request.NewErrParamRequired("LocaleId")) + } + if s.LocaleId != nil && len(*s.LocaleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1)) + } + if s.CustomVocabularyItemList != nil { + for i, v := range s.CustomVocabularyItemList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomVocabularyItemList", i), err.(request.ErrInvalidParams)) + } } } @@ -7903,33 +8877,52 @@ func (s *AudioLogSetting) Validate() error { return nil } -// SetDestination sets the Destination field's value. -func (s *AudioLogSetting) SetDestination(v *AudioLogDestination) *AudioLogSetting { - s.Destination = v +// SetBotId sets the BotId field's value. +func (s *BatchUpdateCustomVocabularyItemInput) SetBotId(v string) *BatchUpdateCustomVocabularyItemInput { + s.BotId = &v return s } -// SetEnabled sets the Enabled field's value. -func (s *AudioLogSetting) SetEnabled(v bool) *AudioLogSetting { - s.Enabled = &v +// SetBotVersion sets the BotVersion field's value. +func (s *BatchUpdateCustomVocabularyItemInput) SetBotVersion(v string) *BatchUpdateCustomVocabularyItemInput { + s.BotVersion = &v return s } -// Specifies the audio input specifications. -type AudioSpecification struct { +// SetCustomVocabularyItemList sets the CustomVocabularyItemList field's value. +func (s *BatchUpdateCustomVocabularyItemInput) SetCustomVocabularyItemList(v []*CustomVocabularyItem) *BatchUpdateCustomVocabularyItemInput { + s.CustomVocabularyItemList = v + return s +} + +// SetLocaleId sets the LocaleId field's value. +func (s *BatchUpdateCustomVocabularyItemInput) SetLocaleId(v string) *BatchUpdateCustomVocabularyItemInput { + s.LocaleId = &v + return s +} + +type BatchUpdateCustomVocabularyItemOutput struct { _ struct{} `type:"structure"` - // Time for which a bot waits after the customer stops speaking to assume the - // utterance is finished. - // - // EndTimeoutMs is a required field - EndTimeoutMs *int64 `locationName:"endTimeoutMs" min:"1" type:"integer" required:"true"` + // The unique identifier of the bot to the batch update response for the custom + // vocabulary item. + BotId *string `locationName:"botId" min:"10" type:"string"` - // Time for how long Amazon Lex waits before speech input is truncated and the - // speech is returned to application. - // - // MaxLengthMs is a required field - MaxLengthMs *int64 `locationName:"maxLengthMs" min:"1" type:"integer" required:"true"` + // The bot version of the bot to the batch update response for the custom vocabulary + // item. + BotVersion *string `locationName:"botVersion" min:"1" type:"string"` + + // The errors of the action to batch update response for the custom vocabulary + // item. + Errors []*FailedCustomVocabularyItem `locationName:"errors" type:"list"` + + // The locale identifier of the bot to the batch update response for the custom + // vocabulary item. + LocaleId *string `locationName:"localeId" type:"string"` + + // The resources of the action to batch update response for the custom vocabulary + // item. + Resources []*CustomVocabularyItem `locationName:"resources" type:"list"` } // String returns the string representation. @@ -7937,7 +8930,7 @@ type AudioSpecification struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AudioSpecification) String() string { +func (s BatchUpdateCustomVocabularyItemOutput) String() string { return awsutil.Prettify(s) } @@ -7946,41 +8939,37 @@ func (s AudioSpecification) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AudioSpecification) GoString() string { +func (s BatchUpdateCustomVocabularyItemOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AudioSpecification) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioSpecification"} - if s.EndTimeoutMs == nil { - invalidParams.Add(request.NewErrParamRequired("EndTimeoutMs")) - } - if s.EndTimeoutMs != nil && *s.EndTimeoutMs < 1 { - invalidParams.Add(request.NewErrParamMinValue("EndTimeoutMs", 1)) - } - if s.MaxLengthMs == nil { - invalidParams.Add(request.NewErrParamRequired("MaxLengthMs")) - } - if s.MaxLengthMs != nil && *s.MaxLengthMs < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxLengthMs", 1)) - } +// SetBotId sets the BotId field's value. +func (s *BatchUpdateCustomVocabularyItemOutput) SetBotId(v string) *BatchUpdateCustomVocabularyItemOutput { + s.BotId = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBotVersion sets the BotVersion field's value. +func (s *BatchUpdateCustomVocabularyItemOutput) SetBotVersion(v string) *BatchUpdateCustomVocabularyItemOutput { + s.BotVersion = &v + return s } -// SetEndTimeoutMs sets the EndTimeoutMs field's value. -func (s *AudioSpecification) SetEndTimeoutMs(v int64) *AudioSpecification { - s.EndTimeoutMs = &v +// SetErrors sets the Errors field's value. +func (s *BatchUpdateCustomVocabularyItemOutput) SetErrors(v []*FailedCustomVocabularyItem) *BatchUpdateCustomVocabularyItemOutput { + s.Errors = v return s } -// SetMaxLengthMs sets the MaxLengthMs field's value. -func (s *AudioSpecification) SetMaxLengthMs(v int64) *AudioSpecification { - s.MaxLengthMs = &v +// SetLocaleId sets the LocaleId field's value. +func (s *BatchUpdateCustomVocabularyItemOutput) SetLocaleId(v string) *BatchUpdateCustomVocabularyItemOutput { + s.LocaleId = &v + return s +} + +// SetResources sets the Resources field's value. +func (s *BatchUpdateCustomVocabularyItemOutput) SetResources(v []*CustomVocabularyItem) *BatchUpdateCustomVocabularyItemOutput { + s.Resources = v return s } @@ -13155,6 +14144,56 @@ func (s *CustomPayload) SetValue(v string) *CustomPayload { return s } +// The unique entry identifier for the custom vocabulary items. +type CustomVocabularyEntryId struct { + _ struct{} `type:"structure"` + + // The unique item identifier for the custom vocabulary items. + // + // ItemId is a required field + ItemId *string `locationName:"itemId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CustomVocabularyEntryId) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CustomVocabularyEntryId) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomVocabularyEntryId) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomVocabularyEntryId"} + if s.ItemId == nil { + invalidParams.Add(request.NewErrParamRequired("ItemId")) + } + if s.ItemId != nil && len(*s.ItemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ItemId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItemId sets the ItemId field's value. +func (s *CustomVocabularyEntryId) SetItemId(v string) *CustomVocabularyEntryId { + s.ItemId = &v + return s +} + // Provides the parameters required for exporting a custom vocabulary. type CustomVocabularyExportSpecification struct { _ struct{} `type:"structure"` @@ -13253,8 +14292,94 @@ type CustomVocabularyImportSpecification struct { // The identifier of the local to import the custom vocabulary to. The value // must be en_GB. // - // LocaleId is a required field - LocaleId *string `locationName:"localeId" type:"string" required:"true"` + // LocaleId is a required field + LocaleId *string `locationName:"localeId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CustomVocabularyImportSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CustomVocabularyImportSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomVocabularyImportSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomVocabularyImportSpecification"} + if s.BotId == nil { + invalidParams.Add(request.NewErrParamRequired("BotId")) + } + if s.BotId != nil && len(*s.BotId) < 10 { + invalidParams.Add(request.NewErrParamMinLen("BotId", 10)) + } + if s.BotVersion == nil { + invalidParams.Add(request.NewErrParamRequired("BotVersion")) + } + if s.BotVersion != nil && len(*s.BotVersion) < 5 { + invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5)) + } + if s.LocaleId == nil { + invalidParams.Add(request.NewErrParamRequired("LocaleId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBotId sets the BotId field's value. +func (s *CustomVocabularyImportSpecification) SetBotId(v string) *CustomVocabularyImportSpecification { + s.BotId = &v + return s +} + +// SetBotVersion sets the BotVersion field's value. +func (s *CustomVocabularyImportSpecification) SetBotVersion(v string) *CustomVocabularyImportSpecification { + s.BotVersion = &v + return s +} + +// SetLocaleId sets the LocaleId field's value. +func (s *CustomVocabularyImportSpecification) SetLocaleId(v string) *CustomVocabularyImportSpecification { + s.LocaleId = &v + return s +} + +// The unique custom vocabulary item from the custom vocabulary list. +type CustomVocabularyItem struct { + _ struct{} `type:"structure"` + + // The display as value for the custom vocabulary item from the custom vocabulary + // list. + DisplayAs *string `locationName:"displayAs" min:"1" type:"string"` + + // The unique item identifer for the custom vocabulary item from the custom + // vocabulary list. + // + // ItemId is a required field + ItemId *string `locationName:"itemId" min:"1" type:"string" required:"true"` + + // The unique phrase for the custom vocabulary item from the custom vocabulary + // list. + // + // Phrase is a required field + Phrase *string `locationName:"phrase" min:"1" type:"string" required:"true"` + + // The weight assigned for the custom vocabulary item from the custom vocabulary + // list. + Weight *int64 `locationName:"weight" min:"1" type:"integer"` } // String returns the string representation. @@ -13262,7 +14387,7 @@ type CustomVocabularyImportSpecification struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CustomVocabularyImportSpecification) String() string { +func (s CustomVocabularyItem) String() string { return awsutil.Prettify(s) } @@ -13271,27 +14396,30 @@ func (s CustomVocabularyImportSpecification) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CustomVocabularyImportSpecification) GoString() string { +func (s CustomVocabularyItem) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomVocabularyImportSpecification) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomVocabularyImportSpecification"} - if s.BotId == nil { - invalidParams.Add(request.NewErrParamRequired("BotId")) +func (s *CustomVocabularyItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomVocabularyItem"} + if s.DisplayAs != nil && len(*s.DisplayAs) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DisplayAs", 1)) } - if s.BotId != nil && len(*s.BotId) < 10 { - invalidParams.Add(request.NewErrParamMinLen("BotId", 10)) + if s.ItemId == nil { + invalidParams.Add(request.NewErrParamRequired("ItemId")) } - if s.BotVersion == nil { - invalidParams.Add(request.NewErrParamRequired("BotVersion")) + if s.ItemId != nil && len(*s.ItemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ItemId", 1)) } - if s.BotVersion != nil && len(*s.BotVersion) < 5 { - invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5)) + if s.Phrase == nil { + invalidParams.Add(request.NewErrParamRequired("Phrase")) } - if s.LocaleId == nil { - invalidParams.Add(request.NewErrParamRequired("LocaleId")) + if s.Phrase != nil && len(*s.Phrase) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Phrase", 1)) + } + if s.Weight != nil && *s.Weight < 1 { + invalidParams.Add(request.NewErrParamMinValue("Weight", 1)) } if invalidParams.Len() > 0 { @@ -13300,21 +14428,27 @@ func (s *CustomVocabularyImportSpecification) Validate() error { return nil } -// SetBotId sets the BotId field's value. -func (s *CustomVocabularyImportSpecification) SetBotId(v string) *CustomVocabularyImportSpecification { - s.BotId = &v +// SetDisplayAs sets the DisplayAs field's value. +func (s *CustomVocabularyItem) SetDisplayAs(v string) *CustomVocabularyItem { + s.DisplayAs = &v return s } -// SetBotVersion sets the BotVersion field's value. -func (s *CustomVocabularyImportSpecification) SetBotVersion(v string) *CustomVocabularyImportSpecification { - s.BotVersion = &v +// SetItemId sets the ItemId field's value. +func (s *CustomVocabularyItem) SetItemId(v string) *CustomVocabularyItem { + s.ItemId = &v return s } -// SetLocaleId sets the LocaleId field's value. -func (s *CustomVocabularyImportSpecification) SetLocaleId(v string) *CustomVocabularyImportSpecification { - s.LocaleId = &v +// SetPhrase sets the Phrase field's value. +func (s *CustomVocabularyItem) SetPhrase(v string) *CustomVocabularyItem { + s.Phrase = &v + return s +} + +// SetWeight sets the Weight field's value. +func (s *CustomVocabularyItem) SetWeight(v int64) *CustomVocabularyItem { + s.Weight = &v return s } @@ -18340,6 +19474,59 @@ func (s *ExternalSourceSetting) SetGrammarSlotTypeSetting(v *GrammarSlotTypeSett return s } +// The unique failed custom vocabulary item from the custom vocabulary list. +type FailedCustomVocabularyItem struct { + _ struct{} `type:"structure"` + + // The unique error code for the failed custom vocabulary item from the custom + // vocabulary list. + ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"` + + // The error message for the failed custom vocabulary item from the custom vocabulary + // list. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The unique item identifer for the failed custom vocabulary item from the + // custom vocabulary list. + ItemId *string `locationName:"itemId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailedCustomVocabularyItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailedCustomVocabularyItem) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *FailedCustomVocabularyItem) SetErrorCode(v string) *FailedCustomVocabularyItem { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *FailedCustomVocabularyItem) SetErrorMessage(v string) *FailedCustomVocabularyItem { + s.ErrorMessage = &v + return s +} + +// SetItemId sets the ItemId field's value. +func (s *FailedCustomVocabularyItem) SetItemId(v string) *FailedCustomVocabularyItem { + s.ItemId = &v + return s +} + // Determines if a Lambda function should be invoked for a specific intent. type FulfillmentCodeHookSettings struct { _ struct{} `type:"structure"` @@ -21712,6 +22899,177 @@ func (s *ListBuiltInSlotTypesOutput) SetNextToken(v string) *ListBuiltInSlotType return s } +type ListCustomVocabularyItemsInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the bot to the list custom vocabulary request. + // + // BotId is a required field + BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"` + + // The bot version of the bot to the list custom vocabulary request. + // + // BotVersion is a required field + BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"` + + // The locale identifier of the bot to the list custom vocabulary request. + // + // LocaleId is a required field + LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"` + + // The maximum results to the list custom vocabulary request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The nextToken identifier to the list custom vocabulary request. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCustomVocabularyItemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCustomVocabularyItemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCustomVocabularyItemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCustomVocabularyItemsInput"} + if s.BotId == nil { + invalidParams.Add(request.NewErrParamRequired("BotId")) + } + if s.BotId != nil && len(*s.BotId) < 10 { + invalidParams.Add(request.NewErrParamMinLen("BotId", 10)) + } + if s.BotVersion == nil { + invalidParams.Add(request.NewErrParamRequired("BotVersion")) + } + if s.BotVersion != nil && len(*s.BotVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1)) + } + if s.LocaleId == nil { + invalidParams.Add(request.NewErrParamRequired("LocaleId")) + } + if s.LocaleId != nil && len(*s.LocaleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBotId sets the BotId field's value. +func (s *ListCustomVocabularyItemsInput) SetBotId(v string) *ListCustomVocabularyItemsInput { + s.BotId = &v + return s +} + +// SetBotVersion sets the BotVersion field's value. +func (s *ListCustomVocabularyItemsInput) SetBotVersion(v string) *ListCustomVocabularyItemsInput { + s.BotVersion = &v + return s +} + +// SetLocaleId sets the LocaleId field's value. +func (s *ListCustomVocabularyItemsInput) SetLocaleId(v string) *ListCustomVocabularyItemsInput { + s.LocaleId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCustomVocabularyItemsInput) SetMaxResults(v int64) *ListCustomVocabularyItemsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomVocabularyItemsInput) SetNextToken(v string) *ListCustomVocabularyItemsInput { + s.NextToken = &v + return s +} + +type ListCustomVocabularyItemsOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the bot to the list custom vocabulary response. + BotId *string `locationName:"botId" min:"10" type:"string"` + + // The bot version of the bot to the list custom vocabulary response. + BotVersion *string `locationName:"botVersion" min:"1" type:"string"` + + // The custom vocabulary items from the list custom vocabulary response. + CustomVocabularyItems []*CustomVocabularyItem `locationName:"customVocabularyItems" type:"list"` + + // The locale identifier of the bot to the list custom vocabulary response. + LocaleId *string `locationName:"localeId" type:"string"` + + // The nextToken identifier to the list custom vocabulary response. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCustomVocabularyItemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCustomVocabularyItemsOutput) GoString() string { + return s.String() +} + +// SetBotId sets the BotId field's value. +func (s *ListCustomVocabularyItemsOutput) SetBotId(v string) *ListCustomVocabularyItemsOutput { + s.BotId = &v + return s +} + +// SetBotVersion sets the BotVersion field's value. +func (s *ListCustomVocabularyItemsOutput) SetBotVersion(v string) *ListCustomVocabularyItemsOutput { + s.BotVersion = &v + return s +} + +// SetCustomVocabularyItems sets the CustomVocabularyItems field's value. +func (s *ListCustomVocabularyItemsOutput) SetCustomVocabularyItems(v []*CustomVocabularyItem) *ListCustomVocabularyItemsOutput { + s.CustomVocabularyItems = v + return s +} + +// SetLocaleId sets the LocaleId field's value. +func (s *ListCustomVocabularyItemsOutput) SetLocaleId(v string) *ListCustomVocabularyItemsOutput { + s.LocaleId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomVocabularyItemsOutput) SetNextToken(v string) *ListCustomVocabularyItemsOutput { + s.NextToken = &v + return s +} + type ListExportsInput struct { _ struct{} `type:"structure"` @@ -23314,6 +24672,83 @@ func (s *MultipleValuesSetting) SetAllowMultipleValues(v bool) *MultipleValuesSe return s } +// The new custom vocabulary item from the custom vocabulary list. +type NewCustomVocabularyItem struct { + _ struct{} `type:"structure"` + + // The display as value assigned to the new custom vocabulary item from the + // custom vocabulary list. + DisplayAs *string `locationName:"displayAs" min:"1" type:"string"` + + // The unique phrase for the new custom vocabulary item from the custom vocabulary + // list. + // + // Phrase is a required field + Phrase *string `locationName:"phrase" min:"1" type:"string" required:"true"` + + // The weight assigned to the new custom vocabulary item from the custom vocabulary + // list. + Weight *int64 `locationName:"weight" min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NewCustomVocabularyItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NewCustomVocabularyItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NewCustomVocabularyItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NewCustomVocabularyItem"} + if s.DisplayAs != nil && len(*s.DisplayAs) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DisplayAs", 1)) + } + if s.Phrase == nil { + invalidParams.Add(request.NewErrParamRequired("Phrase")) + } + if s.Phrase != nil && len(*s.Phrase) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Phrase", 1)) + } + if s.Weight != nil && *s.Weight < 1 { + invalidParams.Add(request.NewErrParamMinValue("Weight", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDisplayAs sets the DisplayAs field's value. +func (s *NewCustomVocabularyItem) SetDisplayAs(v string) *NewCustomVocabularyItem { + s.DisplayAs = &v + return s +} + +// SetPhrase sets the Phrase field's value. +func (s *NewCustomVocabularyItem) SetPhrase(v string) *NewCustomVocabularyItem { + s.Phrase = &v + return s +} + +// SetWeight sets the Weight field's value. +func (s *NewCustomVocabularyItem) SetWeight(v int64) *NewCustomVocabularyItem { + s.Weight = &v + return s +} + // Determines whether Amazon Lex obscures slot values in conversation logs. type ObfuscationSetting struct { _ struct{} `type:"structure"` @@ -31213,6 +32648,30 @@ func Effect_Values() []string { } } +const ( + // ErrorCodeDuplicateInput is a ErrorCode enum value + ErrorCodeDuplicateInput = "DUPLICATE_INPUT" + + // ErrorCodeResourceDoesNotExist is a ErrorCode enum value + ErrorCodeResourceDoesNotExist = "RESOURCE_DOES_NOT_EXIST" + + // ErrorCodeResourceAlreadyExists is a ErrorCode enum value + ErrorCodeResourceAlreadyExists = "RESOURCE_ALREADY_EXISTS" + + // ErrorCodeInternalServerFailure is a ErrorCode enum value + ErrorCodeInternalServerFailure = "INTERNAL_SERVER_FAILURE" +) + +// ErrorCode_Values returns all elements of the ErrorCode enum +func ErrorCode_Values() []string { + return []string{ + ErrorCodeDuplicateInput, + ErrorCodeResourceDoesNotExist, + ErrorCodeResourceAlreadyExists, + ErrorCodeInternalServerFailure, + } +} + const ( // ExportFilterNameExportResourceType is a ExportFilterName enum value ExportFilterNameExportResourceType = "ExportResourceType" diff --git a/service/lexmodelsv2/lexmodelsv2iface/interface.go b/service/lexmodelsv2/lexmodelsv2iface/interface.go index 2595af81c6..38a59ab0e4 100644 --- a/service/lexmodelsv2/lexmodelsv2iface/interface.go +++ b/service/lexmodelsv2/lexmodelsv2iface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon Lex Model Building V2. // func myFunc(svc lexmodelsv2iface.LexModelsV2API) bool { -// // Make svc.BuildBotLocale request +// // Make svc.BatchCreateCustomVocabularyItem request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockLexModelsV2Client struct { // lexmodelsv2iface.LexModelsV2API // } -// func (m *mockLexModelsV2Client) BuildBotLocale(input *lexmodelsv2.BuildBotLocaleInput) (*lexmodelsv2.BuildBotLocaleOutput, error) { +// func (m *mockLexModelsV2Client) BatchCreateCustomVocabularyItem(input *lexmodelsv2.BatchCreateCustomVocabularyItemInput) (*lexmodelsv2.BatchCreateCustomVocabularyItemOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,18 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type LexModelsV2API interface { + BatchCreateCustomVocabularyItem(*lexmodelsv2.BatchCreateCustomVocabularyItemInput) (*lexmodelsv2.BatchCreateCustomVocabularyItemOutput, error) + BatchCreateCustomVocabularyItemWithContext(aws.Context, *lexmodelsv2.BatchCreateCustomVocabularyItemInput, ...request.Option) (*lexmodelsv2.BatchCreateCustomVocabularyItemOutput, error) + BatchCreateCustomVocabularyItemRequest(*lexmodelsv2.BatchCreateCustomVocabularyItemInput) (*request.Request, *lexmodelsv2.BatchCreateCustomVocabularyItemOutput) + + BatchDeleteCustomVocabularyItem(*lexmodelsv2.BatchDeleteCustomVocabularyItemInput) (*lexmodelsv2.BatchDeleteCustomVocabularyItemOutput, error) + BatchDeleteCustomVocabularyItemWithContext(aws.Context, *lexmodelsv2.BatchDeleteCustomVocabularyItemInput, ...request.Option) (*lexmodelsv2.BatchDeleteCustomVocabularyItemOutput, error) + BatchDeleteCustomVocabularyItemRequest(*lexmodelsv2.BatchDeleteCustomVocabularyItemInput) (*request.Request, *lexmodelsv2.BatchDeleteCustomVocabularyItemOutput) + + BatchUpdateCustomVocabularyItem(*lexmodelsv2.BatchUpdateCustomVocabularyItemInput) (*lexmodelsv2.BatchUpdateCustomVocabularyItemOutput, error) + BatchUpdateCustomVocabularyItemWithContext(aws.Context, *lexmodelsv2.BatchUpdateCustomVocabularyItemInput, ...request.Option) (*lexmodelsv2.BatchUpdateCustomVocabularyItemOutput, error) + BatchUpdateCustomVocabularyItemRequest(*lexmodelsv2.BatchUpdateCustomVocabularyItemInput) (*request.Request, *lexmodelsv2.BatchUpdateCustomVocabularyItemOutput) + BuildBotLocale(*lexmodelsv2.BuildBotLocaleInput) (*lexmodelsv2.BuildBotLocaleOutput, error) BuildBotLocaleWithContext(aws.Context, *lexmodelsv2.BuildBotLocaleInput, ...request.Option) (*lexmodelsv2.BuildBotLocaleOutput, error) BuildBotLocaleRequest(*lexmodelsv2.BuildBotLocaleInput) (*request.Request, *lexmodelsv2.BuildBotLocaleOutput) @@ -264,6 +276,13 @@ type LexModelsV2API interface { ListBuiltInSlotTypesPages(*lexmodelsv2.ListBuiltInSlotTypesInput, func(*lexmodelsv2.ListBuiltInSlotTypesOutput, bool) bool) error ListBuiltInSlotTypesPagesWithContext(aws.Context, *lexmodelsv2.ListBuiltInSlotTypesInput, func(*lexmodelsv2.ListBuiltInSlotTypesOutput, bool) bool, ...request.Option) error + ListCustomVocabularyItems(*lexmodelsv2.ListCustomVocabularyItemsInput) (*lexmodelsv2.ListCustomVocabularyItemsOutput, error) + ListCustomVocabularyItemsWithContext(aws.Context, *lexmodelsv2.ListCustomVocabularyItemsInput, ...request.Option) (*lexmodelsv2.ListCustomVocabularyItemsOutput, error) + ListCustomVocabularyItemsRequest(*lexmodelsv2.ListCustomVocabularyItemsInput) (*request.Request, *lexmodelsv2.ListCustomVocabularyItemsOutput) + + ListCustomVocabularyItemsPages(*lexmodelsv2.ListCustomVocabularyItemsInput, func(*lexmodelsv2.ListCustomVocabularyItemsOutput, bool) bool) error + ListCustomVocabularyItemsPagesWithContext(aws.Context, *lexmodelsv2.ListCustomVocabularyItemsInput, func(*lexmodelsv2.ListCustomVocabularyItemsOutput, bool) bool, ...request.Option) error + ListExports(*lexmodelsv2.ListExportsInput) (*lexmodelsv2.ListExportsOutput, error) ListExportsWithContext(aws.Context, *lexmodelsv2.ListExportsInput, ...request.Option) (*lexmodelsv2.ListExportsOutput, error) ListExportsRequest(*lexmodelsv2.ListExportsInput) (*request.Request, *lexmodelsv2.ListExportsOutput) diff --git a/service/mediaconvert/api.go b/service/mediaconvert/api.go index dda3bda0fc..e6e7fc95fc 100644 --- a/service/mediaconvert/api.go +++ b/service/mediaconvert/api.go @@ -2943,8 +2943,14 @@ func (s *AacSettings) SetVbrQuality(v string) *AacSettings { type Ac3Settings struct { _ struct{} `type:"structure"` - // Specify the average bitrate in bits per second. Valid bitrates depend on - // the coding mode. + // Specify the average bitrate in bits per second. The bitrate that you specify + // must be a multiple of 8000 within the allowed minimum and maximum values. + // Leave blank to use the default bitrate for the coding mode you select according + // ETSI TS 102 366. Valid bitrates for coding mode 1/0: Default: 96000. Minimum: + // 64000. Maximum: 128000. Valid bitrates for coding mode 1/1: Default: 192000. + // Minimum: 128000. Maximum: 384000. Valid bitrates for coding mode 2/0: Default: + // 192000. Minimum: 128000. Maximum: 384000. Valid bitrates for coding mode + // 3/2 with FLE: Default: 384000. Minimum: 384000. Maximum: 640000. Bitrate *int64 `locationName:"bitrate" min:"64000" type:"integer"` // Specify the bitstream mode for the AC-3 stream that the encoder emits. For @@ -7128,7 +7134,10 @@ type ColorCorrector struct { // SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted // video has an HDR format, but visually appears the same as an unconverted // output. HDR to SDR conversion uses Elemental tone mapping technology to approximate - // the outcome of manually regrading from HDR to SDR. + // the outcome of manually regrading from HDR to SDR. Select Force P3D65 (SDR) + // to set the output color space metadata to the following: * Color primaries: + // Display P3 * Transfer characteristics: SMPTE 428M * Matrix coefficients: + // BT.709 ColorSpaceConversion *string `locationName:"colorSpaceConversion" type:"string" enum:"ColorSpaceConversion"` // Contrast level. @@ -7165,6 +7174,17 @@ type ColorCorrector struct { // Saturation level. Saturation *int64 `locationName:"saturation" min:"1" type:"integer"` + + // Specify the reference white level, in nits, for all of your SDR inputs. Use + // to correct brightness levels within HDR10 outputs. The following color metadata + // must be present in your SDR input: color primaries, transfer characteristics, + // and matrix coefficients. If your SDR input has missing color metadata, or + // if you want to correct input color metadata, manually specify a color space + // in the input video selector. For 1,000 nit peak brightness displays, we recommend + // that you set SDR reference white level to 203 (according to ITU-R BT.2408). + // Leave blank to use the default value of 100, or specify an integer from 100 + // to 1000. + SdrReferenceWhiteLevel *int64 `locationName:"sdrReferenceWhiteLevel" min:"100" type:"integer"` } // String returns the string representation. @@ -7200,6 +7220,9 @@ func (s *ColorCorrector) Validate() error { if s.Saturation != nil && *s.Saturation < 1 { invalidParams.Add(request.NewErrParamMinValue("Saturation", 1)) } + if s.SdrReferenceWhiteLevel != nil && *s.SdrReferenceWhiteLevel < 100 { + invalidParams.Add(request.NewErrParamMinValue("SdrReferenceWhiteLevel", 100)) + } if invalidParams.Len() > 0 { return invalidParams @@ -7249,6 +7272,12 @@ func (s *ColorCorrector) SetSaturation(v int64) *ColorCorrector { return s } +// SetSdrReferenceWhiteLevel sets the SdrReferenceWhiteLevel field's value. +func (s *ColorCorrector) SetSdrReferenceWhiteLevel(v int64) *ColorCorrector { + s.SdrReferenceWhiteLevel = &v + return s +} + type ConflictException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -10300,9 +10329,14 @@ type Eac3Settings struct { // Only used for 3/2 coding mode. AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"` - // Specify the average bitrate in bits per second. Valid bitrates depend on - // the coding mode. - Bitrate *int64 `locationName:"bitrate" min:"64000" type:"integer"` + // Specify the average bitrate in bits per second. The bitrate that you specify + // must be a multiple of 8000 within the allowed minimum and maximum values. + // Leave blank to use the default bitrate for the coding mode you select according + // ETSI TS 102 366. Valid bitrates for coding mode 1/0: Default: 96000. Minimum: + // 32000. Maximum: 3024000. Valid bitrates for coding mode 2/0: Default: 192000. + // Minimum: 96000. Maximum: 3024000. Valid bitrates for coding mode 3/2: Default: + // 384000. Minimum: 192000. Maximum: 3024000. + Bitrate *int64 `locationName:"bitrate" min:"32000" type:"integer"` // Specify the bitstream mode for the E-AC-3 stream that the encoder emits. // For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex @@ -10436,8 +10470,8 @@ func (s Eac3Settings) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *Eac3Settings) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"} - if s.Bitrate != nil && *s.Bitrate < 64000 { - invalidParams.Add(request.NewErrParamMinValue("Bitrate", 64000)) + if s.Bitrate != nil && *s.Bitrate < 32000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 32000)) } if s.Dialnorm != nil && *s.Dialnorm < 1 { invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) @@ -14540,6 +14574,13 @@ type ImageInserter struct { // Specify the images that you want to overlay on your video. The images must // be PNG or TGA files. InsertableImages []*InsertableImage `locationName:"insertableImages" type:"list"` + + // Specify the reference white level, in nits, for all of your image inserter + // images. Use to correct brightness levels within HDR10 outputs. For 1,000 + // nit peak brightness displays, we recommend that you set SDR reference white + // level to 203 (according to ITU-R BT.2408). Leave blank to use the default + // value of 100, or specify an integer from 100 to 1000. + SdrReferenceWhiteLevel *int64 `locationName:"sdrReferenceWhiteLevel" min:"100" type:"integer"` } // String returns the string representation. @@ -14563,6 +14604,9 @@ func (s ImageInserter) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ImageInserter) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ImageInserter"} + if s.SdrReferenceWhiteLevel != nil && *s.SdrReferenceWhiteLevel < 100 { + invalidParams.Add(request.NewErrParamMinValue("SdrReferenceWhiteLevel", 100)) + } if s.InsertableImages != nil { for i, v := range s.InsertableImages { if v == nil { @@ -14586,6 +14630,12 @@ func (s *ImageInserter) SetInsertableImages(v []*InsertableImage) *ImageInserter return s } +// SetSdrReferenceWhiteLevel sets the SdrReferenceWhiteLevel field's value. +func (s *ImageInserter) SetSdrReferenceWhiteLevel(v int64) *ImageInserter { + s.SdrReferenceWhiteLevel = &v + return s +} + // Settings related to IMSC captions. IMSC is a sidecar format that holds captions // in a file that is separate from the video container. Set up sidecar captions // in the same output group, but different output from your video. For more @@ -24915,14 +24965,17 @@ type VideoSelector struct { AlphaBehavior *string `locationName:"alphaBehavior" type:"string" enum:"AlphaBehavior"` // If your input video has accurate color space metadata, or if you don't know - // about color space, leave this set to the default value Follow (FOLLOW). The - // service will automatically detect your input color space. If your input video - // has metadata indicating the wrong color space, specify the accurate color - // space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering - // Display Color Volume static metadata isn't present in your video stream, - // or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) - // here and specify correct values in the input HDR 10 metadata (Hdr10Metadata) - // settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. + // about color space, leave this set to the default value Follow. The service + // will automatically detect your input color space. If your input video has + // metadata indicating the wrong color space, specify the accurate color space + // here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display + // Color Volume static metadata isn't present in your video stream, or if that + // metadata is present but not accurate, choose Force HDR 10 here and specify + // correct values in the input HDR 10 metadata settings. For more information + // about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. + // Select P3D65 (SDR) to set the input color space metadata to the following: + // * Color primaries: Display P3 * Transfer characteristics: SMPTE 428M * Matrix + // coefficients: BT.709 ColorSpace *string `locationName:"colorSpace" type:"string" enum:"ColorSpace"` // There are two sources for color metadata, the input file and the job input @@ -28765,14 +28818,17 @@ func ColorMetadata_Values() []string { } // If your input video has accurate color space metadata, or if you don't know -// about color space, leave this set to the default value Follow (FOLLOW). The -// service will automatically detect your input color space. If your input video -// has metadata indicating the wrong color space, specify the accurate color -// space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering -// Display Color Volume static metadata isn't present in your video stream, -// or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) -// here and specify correct values in the input HDR 10 metadata (Hdr10Metadata) -// settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. +// about color space, leave this set to the default value Follow. The service +// will automatically detect your input color space. If your input video has +// metadata indicating the wrong color space, specify the accurate color space +// here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display +// Color Volume static metadata isn't present in your video stream, or if that +// metadata is present but not accurate, choose Force HDR 10 here and specify +// correct values in the input HDR 10 metadata settings. For more information +// about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr. +// Select P3D65 (SDR) to set the input color space metadata to the following: +// * Color primaries: Display P3 * Transfer characteristics: SMPTE 428M * Matrix +// coefficients: BT.709 const ( // ColorSpaceFollow is a ColorSpace enum value ColorSpaceFollow = "FOLLOW" @@ -28788,6 +28844,12 @@ const ( // ColorSpaceHlg2020 is a ColorSpace enum value ColorSpaceHlg2020 = "HLG_2020" + + // ColorSpaceP3dci is a ColorSpace enum value + ColorSpaceP3dci = "P3DCI" + + // ColorSpaceP3d65Sdr is a ColorSpace enum value + ColorSpaceP3d65Sdr = "P3D65_SDR" ) // ColorSpace_Values returns all elements of the ColorSpace enum @@ -28798,6 +28860,8 @@ func ColorSpace_Values() []string { ColorSpaceRec709, ColorSpaceHdr10, ColorSpaceHlg2020, + ColorSpaceP3dci, + ColorSpaceP3d65Sdr, } } @@ -28806,7 +28870,10 @@ func ColorSpace_Values() []string { // SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted // video has an HDR format, but visually appears the same as an unconverted // output. HDR to SDR conversion uses Elemental tone mapping technology to approximate -// the outcome of manually regrading from HDR to SDR. +// the outcome of manually regrading from HDR to SDR. Select Force P3D65 (SDR) +// to set the output color space metadata to the following: * Color primaries: +// Display P3 * Transfer characteristics: SMPTE 428M * Matrix coefficients: +// BT.709 const ( // ColorSpaceConversionNone is a ColorSpaceConversion enum value ColorSpaceConversionNone = "NONE" @@ -28822,6 +28889,12 @@ const ( // ColorSpaceConversionForceHlg2020 is a ColorSpaceConversion enum value ColorSpaceConversionForceHlg2020 = "FORCE_HLG_2020" + + // ColorSpaceConversionForceP3dci is a ColorSpaceConversion enum value + ColorSpaceConversionForceP3dci = "FORCE_P3DCI" + + // ColorSpaceConversionForceP3d65Sdr is a ColorSpaceConversion enum value + ColorSpaceConversionForceP3d65Sdr = "FORCE_P3D65_SDR" ) // ColorSpaceConversion_Values returns all elements of the ColorSpaceConversion enum @@ -28832,6 +28905,8 @@ func ColorSpaceConversion_Values() []string { ColorSpaceConversionForce709, ColorSpaceConversionForceHdr10, ColorSpaceConversionForceHlg2020, + ColorSpaceConversionForceP3dci, + ColorSpaceConversionForceP3d65Sdr, } } diff --git a/service/ssm/api.go b/service/ssm/api.go index e9012c7b87..0cd1b61ce8 100644 --- a/service/ssm/api.go +++ b/service/ssm/api.go @@ -54061,6 +54061,9 @@ type StepExecution struct { // The timeout seconds of the step. TimeoutSeconds *int64 `type:"long"` + // The CloudWatch alarms that were invoked by the automation. + TriggeredAlarms []*AlarmStateInformation `min:"1" type:"list"` + // Strategies used when step fails, we support Continue and Abort. Abort will // fail the automation when the step fails. Continue will ignore the failure // of current step and allow automation to run the next step. With conditional @@ -54213,6 +54216,12 @@ func (s *StepExecution) SetTimeoutSeconds(v int64) *StepExecution { return s } +// SetTriggeredAlarms sets the TriggeredAlarms field's value. +func (s *StepExecution) SetTriggeredAlarms(v []*AlarmStateInformation) *StepExecution { + s.TriggeredAlarms = v + return s +} + // SetValidNextSteps sets the ValidNextSteps field's value. func (s *StepExecution) SetValidNextSteps(v []*string) *StepExecution { s.ValidNextSteps = v @@ -54690,6 +54699,10 @@ type TargetLocation struct { // The Amazon Web Services Regions targeted by the current Automation execution. Regions []*string `min:"1" type:"list"` + // The details for the CloudWatch alarm you want to apply to an automation or + // command. + TargetLocationAlarmConfiguration *AlarmConfiguration `type:"structure"` + // The maximum number of Amazon Web Services Regions and Amazon Web Services // accounts allowed to run the Automation concurrently. TargetLocationMaxConcurrency *string `min:"1" type:"string"` @@ -54735,6 +54748,11 @@ func (s *TargetLocation) Validate() error { if s.TargetLocationMaxErrors != nil && len(*s.TargetLocationMaxErrors) < 1 { invalidParams.Add(request.NewErrParamMinLen("TargetLocationMaxErrors", 1)) } + if s.TargetLocationAlarmConfiguration != nil { + if err := s.TargetLocationAlarmConfiguration.Validate(); err != nil { + invalidParams.AddNested("TargetLocationAlarmConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -54760,6 +54778,12 @@ func (s *TargetLocation) SetRegions(v []*string) *TargetLocation { return s } +// SetTargetLocationAlarmConfiguration sets the TargetLocationAlarmConfiguration field's value. +func (s *TargetLocation) SetTargetLocationAlarmConfiguration(v *AlarmConfiguration) *TargetLocation { + s.TargetLocationAlarmConfiguration = v + return s +} + // SetTargetLocationMaxConcurrency sets the TargetLocationMaxConcurrency field's value. func (s *TargetLocation) SetTargetLocationMaxConcurrency(v string) *TargetLocation { s.TargetLocationMaxConcurrency = &v diff --git a/service/wafv2/api.go b/service/wafv2/api.go index 408cf6d0ef..623a2edc4c 100644 --- a/service/wafv2/api.go +++ b/service/wafv2/api.go @@ -10242,12 +10242,47 @@ func (s *GenerateMobileSdkReleaseUrlOutput) SetUrl(v string) *GenerateMobileSdkR return s } -// A rule statement used to identify web requests based on country of origin. +// A rule statement that labels web requests by country and region and that +// matches against web requests based on country code. A geo match rule labels +// every request that it inspects regardless of whether it finds a match. +// +// - To manage requests only by country, you can use this statement by itself +// and specify the countries that you want to match against in the CountryCodes +// array. +// +// - Otherwise, configure your geo match rule with Count action so that it +// only labels requests. Then, add one or more label match rules to run after +// the geo match rule and configure them to match against the geographic +// labels and handle the requests as needed. +// +// WAF labels requests using the alpha-2 country and region codes from the International +// Organization for Standardization (ISO) 3166 standard. WAF determines the +// codes using either the IP address in the web request origin or, if you specify +// it, the address in the geo match ForwardedIPConfig. +// +// If you use the web request origin, the label formats are awswaf:clientip:geo:region:- and awswaf:clientip:geo:country:. +// +// If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:- and awswaf:forwardedip:geo:country:. +// +// For additional details, see Geographic match rule statement (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-geo-match.html) +// in the WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). type GeoMatchStatement struct { _ struct{} `type:"structure"` - // An array of two-character country codes, for example, [ "US", "CN" ], from - // the alpha-2 country ISO codes of the ISO 3166 international standard. + // An array of two-character country codes that you want to match against, for + // example, [ "US", "CN" ], from the alpha-2 country ISO codes of the ISO 3166 + // international standard. + // + // When you use a geo match statement just for the region and country labels + // that it adds to requests, you still have to supply a country code for the + // rule to evaluate. In this case, you configure the rule to only count matching + // requests, but it will still generate logging and count metrics for any matches. + // You can reduce the logging and metrics that the rule produces by specifying + // a country that's unlikely to be a source of traffic to your site. CountryCodes []*string `min:"1" type:"list" enum:"CountryCode"` // The configuration for inspecting IP addresses in an HTTP header that you @@ -12782,8 +12817,8 @@ func (s *Label) SetName(v string) *Label { return s } -// A rule statement that defines a string match search against labels that have -// been added to the web request by rules that have already run in the web ACL. +// A rule statement to match against labels that have been added to the web +// request by rules that have already run in the web ACL. // // The label match statement provides the label or namespace string to search // for. The label string can represent a part or all of the fully qualified @@ -18139,7 +18174,34 @@ type Statement struct { // statement. ByteMatchStatement *ByteMatchStatement `type:"structure"` - // A rule statement used to identify web requests based on country of origin. + // A rule statement that labels web requests by country and region and that + // matches against web requests based on country code. A geo match rule labels + // every request that it inspects regardless of whether it finds a match. + // + // * To manage requests only by country, you can use this statement by itself + // and specify the countries that you want to match against in the CountryCodes + // array. + // + // * Otherwise, configure your geo match rule with Count action so that it + // only labels requests. Then, add one or more label match rules to run after + // the geo match rule and configure them to match against the geographic + // labels and handle the requests as needed. + // + // WAF labels requests using the alpha-2 country and region codes from the International + // Organization for Standardization (ISO) 3166 standard. WAF determines the + // codes using either the IP address in the web request origin or, if you specify + // it, the address in the geo match ForwardedIPConfig. + // + // If you use the web request origin, the label formats are awswaf:clientip:geo:region:- and awswaf:clientip:geo:country:. + // + // If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:- and awswaf:forwardedip:geo:country:. + // + // For additional details, see Geographic match rule statement (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-geo-match.html) + // in the WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). GeoMatchStatement *GeoMatchStatement `type:"structure"` // A rule statement used to detect web requests coming from particular IP addresses @@ -18153,8 +18215,8 @@ type Statement struct { // updates all rules that reference it. IPSetReferenceStatement *IPSetReferenceStatement `type:"structure"` - // A rule statement that defines a string match search against labels that have - // been added to the web request by rules that have already run in the web ACL. + // A rule statement to match against labels that have been added to the web + // request by rules that have already run in the web ACL. // // The label match statement provides the label or namespace string to search // for. The label string can represent a part or all of the fully qualified diff --git a/service/wellarchitected/api.go b/service/wellarchitected/api.go index 47ad0217ba..0121ad9778 100644 --- a/service/wellarchitected/api.go +++ b/service/wellarchitected/api.go @@ -163,9 +163,10 @@ func (c *WellArchitected) CreateLensShareRequest(input *CreateLensShareInput) (r // // Create a lens share. // -// The owner of a lens can share it with other Amazon Web Services accounts -// and IAM users in the same Amazon Web Services Region. Shared access to a -// lens is not removed until the lens invitation is deleted. +// The owner of a lens can share it with other Amazon Web Services accounts, +// IAM users, an organization, and organizational units (OUs) in the same Amazon +// Web Services Region. Shared access to a lens is not removed until the lens +// invitation is deleted. // // # Disclaimer // @@ -474,8 +475,9 @@ func (c *WellArchitected) CreateWorkloadRequest(input *CreateWorkloadInput) (req // Create a new workload. // // The owner of a workload can share the workload with other Amazon Web Services -// accounts and IAM users in the same Amazon Web Services Region. Only the owner -// of a workload can delete it. +// accounts, IAM users, an organization, and organizational units (OUs) in the +// same Amazon Web Services Region. Only the owner of a workload can delete +// it. // // For more information, see Defining a Workload (https://docs.aws.amazon.com/wellarchitected/latest/userguide/define-workload.html) // in the Well-Architected Tool User Guide. @@ -786,9 +788,10 @@ func (c *WellArchitected) DeleteLensShareRequest(input *DeleteLensShareInput) (r // // Delete a lens share. // -// After the lens share is deleted, Amazon Web Services accounts and IAM users -// that you shared the lens with can continue to use it, but they will no longer -// be able to apply it to new workloads. +// After the lens share is deleted, Amazon Web Services accounts, IAM users, +// organizations, and organizational units (OUs) that you shared the lens with +// can continue to use it, but they will no longer be able to apply it to new +// workloads. // // # Disclaimer // @@ -2142,6 +2145,303 @@ func (c *WellArchitected) ListAnswersPagesWithContext(ctx aws.Context, input *Li return p.Err() } +const opListCheckDetails = "ListCheckDetails" + +// ListCheckDetailsRequest generates a "aws/request.Request" representing the +// client's request for the ListCheckDetails operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCheckDetails for more information on using the ListCheckDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListCheckDetailsRequest method. +// req, resp := client.ListCheckDetailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListCheckDetails +func (c *WellArchitected) ListCheckDetailsRequest(input *ListCheckDetailsInput) (req *request.Request, output *ListCheckDetailsOutput) { + op := &request.Operation{ + Name: opListCheckDetails, + HTTPMethod: "POST", + HTTPPath: "/workloads/{WorkloadId}/checks", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCheckDetailsInput{} + } + + output = &ListCheckDetailsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCheckDetails API operation for AWS Well-Architected Tool. +// +// List of Trusted Advisor check details by account related to the workload. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Well-Architected Tool's +// API operation ListCheckDetails for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The user input is not valid. +// +// - ResourceNotFoundException +// The requested resource was not found. +// +// - InternalServerException +// There is a problem with the Well-Architected Tool API service. +// +// - AccessDeniedException +// User does not have sufficient access to perform this action. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListCheckDetails +func (c *WellArchitected) ListCheckDetails(input *ListCheckDetailsInput) (*ListCheckDetailsOutput, error) { + req, out := c.ListCheckDetailsRequest(input) + return out, req.Send() +} + +// ListCheckDetailsWithContext is the same as ListCheckDetails with the addition of +// the ability to pass a context and additional request options. +// +// See ListCheckDetails for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WellArchitected) ListCheckDetailsWithContext(ctx aws.Context, input *ListCheckDetailsInput, opts ...request.Option) (*ListCheckDetailsOutput, error) { + req, out := c.ListCheckDetailsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCheckDetailsPages iterates over the pages of a ListCheckDetails operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCheckDetails method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListCheckDetails operation. +// pageNum := 0 +// err := client.ListCheckDetailsPages(params, +// func(page *wellarchitected.ListCheckDetailsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *WellArchitected) ListCheckDetailsPages(input *ListCheckDetailsInput, fn func(*ListCheckDetailsOutput, bool) bool) error { + return c.ListCheckDetailsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCheckDetailsPagesWithContext same as ListCheckDetailsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WellArchitected) ListCheckDetailsPagesWithContext(ctx aws.Context, input *ListCheckDetailsInput, fn func(*ListCheckDetailsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCheckDetailsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCheckDetailsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCheckDetailsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListCheckSummaries = "ListCheckSummaries" + +// ListCheckSummariesRequest generates a "aws/request.Request" representing the +// client's request for the ListCheckSummaries operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCheckSummaries for more information on using the ListCheckSummaries +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListCheckSummariesRequest method. +// req, resp := client.ListCheckSummariesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListCheckSummaries +func (c *WellArchitected) ListCheckSummariesRequest(input *ListCheckSummariesInput) (req *request.Request, output *ListCheckSummariesOutput) { + op := &request.Operation{ + Name: opListCheckSummaries, + HTTPMethod: "POST", + HTTPPath: "/workloads/{WorkloadId}/checkSummaries", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCheckSummariesInput{} + } + + output = &ListCheckSummariesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCheckSummaries API operation for AWS Well-Architected Tool. +// +// List of Trusted Advisor checks summarized for all accounts related to the +// workload. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Well-Architected Tool's +// API operation ListCheckSummaries for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The user input is not valid. +// +// - ResourceNotFoundException +// The requested resource was not found. +// +// - InternalServerException +// There is a problem with the Well-Architected Tool API service. +// +// - AccessDeniedException +// User does not have sufficient access to perform this action. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListCheckSummaries +func (c *WellArchitected) ListCheckSummaries(input *ListCheckSummariesInput) (*ListCheckSummariesOutput, error) { + req, out := c.ListCheckSummariesRequest(input) + return out, req.Send() +} + +// ListCheckSummariesWithContext is the same as ListCheckSummaries with the addition of +// the ability to pass a context and additional request options. +// +// See ListCheckSummaries for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WellArchitected) ListCheckSummariesWithContext(ctx aws.Context, input *ListCheckSummariesInput, opts ...request.Option) (*ListCheckSummariesOutput, error) { + req, out := c.ListCheckSummariesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCheckSummariesPages iterates over the pages of a ListCheckSummaries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCheckSummaries method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListCheckSummaries operation. +// pageNum := 0 +// err := client.ListCheckSummariesPages(params, +// func(page *wellarchitected.ListCheckSummariesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *WellArchitected) ListCheckSummariesPages(input *ListCheckSummariesInput, fn func(*ListCheckSummariesOutput, bool) bool) error { + return c.ListCheckSummariesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCheckSummariesPagesWithContext same as ListCheckSummariesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WellArchitected) ListCheckSummariesPagesWithContext(ctx aws.Context, input *ListCheckSummariesInput, fn func(*ListCheckSummariesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCheckSummariesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCheckSummariesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCheckSummariesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListLensReviewImprovements = "ListLensReviewImprovements" // ListLensReviewImprovementsRequest generates a "aws/request.Request" representing the @@ -4044,7 +4344,10 @@ func (c *WellArchitected) UpdateShareInvitationRequest(input *UpdateShareInvitat // UpdateShareInvitation API operation for AWS Well-Architected Tool. // -// Update a workload invitation. +// Update a workload or custom lens share invitation. +// +// This API operation can be called independently of any resource. Previous +// documentation implied that a workload ARN must be specified. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4841,39 +5144,306 @@ func (s AssociateLensesOutput) GoString() string { return s.String() } -// A choice available to answer question. -type Choice struct { +// Account details for a Well-Architected best practice in relation to Trusted +// Advisor checks. +type CheckDetail struct { _ struct{} `type:"structure"` - // The additional resources for a choice. A choice can have up to two additional - // resources: one of type HELPFUL_RESOURCE, one of type IMPROVEMENT_PLAN, or - // both. - AdditionalResources []*AdditionalResources `type:"list"` + // An Amazon Web Services account ID. + AccountId *string `type:"string"` // The ID of a choice. ChoiceId *string `min:"1" type:"string"` - // The description of a choice. - Description *string `min:"1" type:"string"` + // Trusted Advisor check description. + Description *string `type:"string"` - // The choice level helpful resource. - HelpfulResource *ChoiceContent `type:"structure"` + // Count of flagged resources associated to the check. + FlaggedResources *int64 `min:"1" type:"integer"` - // The choice level improvement plan. - ImprovementPlan *ChoiceContent `type:"structure"` + // Trusted Advisor check ID. + Id *string `type:"string"` - // The title of a choice. - Title *string `min:"1" type:"string"` -} + // Well-Architected Lens ARN associated to the check. + LensArn *string `type:"string"` -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Choice) String() string { - return awsutil.Prettify(s) -} + // Trusted Advisor check name. + Name *string `type:"string"` + + // The ID used to identify a pillar, for example, security. + // + // A pillar is identified by its PillarReviewSummary$PillarId. + PillarId *string `min:"1" type:"string"` + + // Provider of the check related to the best practice. + Provider *string `type:"string" enum:"CheckProvider"` + + // The ID of the question. + QuestionId *string `min:"1" type:"string"` + + // Reason associated to the check. + Reason *string `type:"string" enum:"CheckFailureReason"` + + // Status associated to the check. + Status *string `type:"string" enum:"CheckStatus"` + + // The date and time recorded. + UpdatedAt *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CheckDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CheckDetail) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *CheckDetail) SetAccountId(v string) *CheckDetail { + s.AccountId = &v + return s +} + +// SetChoiceId sets the ChoiceId field's value. +func (s *CheckDetail) SetChoiceId(v string) *CheckDetail { + s.ChoiceId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CheckDetail) SetDescription(v string) *CheckDetail { + s.Description = &v + return s +} + +// SetFlaggedResources sets the FlaggedResources field's value. +func (s *CheckDetail) SetFlaggedResources(v int64) *CheckDetail { + s.FlaggedResources = &v + return s +} + +// SetId sets the Id field's value. +func (s *CheckDetail) SetId(v string) *CheckDetail { + s.Id = &v + return s +} + +// SetLensArn sets the LensArn field's value. +func (s *CheckDetail) SetLensArn(v string) *CheckDetail { + s.LensArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CheckDetail) SetName(v string) *CheckDetail { + s.Name = &v + return s +} + +// SetPillarId sets the PillarId field's value. +func (s *CheckDetail) SetPillarId(v string) *CheckDetail { + s.PillarId = &v + return s +} + +// SetProvider sets the Provider field's value. +func (s *CheckDetail) SetProvider(v string) *CheckDetail { + s.Provider = &v + return s +} + +// SetQuestionId sets the QuestionId field's value. +func (s *CheckDetail) SetQuestionId(v string) *CheckDetail { + s.QuestionId = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *CheckDetail) SetReason(v string) *CheckDetail { + s.Reason = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CheckDetail) SetStatus(v string) *CheckDetail { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *CheckDetail) SetUpdatedAt(v time.Time) *CheckDetail { + s.UpdatedAt = &v + return s +} + +// Trusted Advisor check summary. +type CheckSummary struct { + _ struct{} `type:"structure"` + + // Account summary associated to the check. + AccountSummary map[string]*int64 `type:"map"` + + // The ID of a choice. + ChoiceId *string `min:"1" type:"string"` + + // Trusted Advisor check description. + Description *string `type:"string"` + + // Trusted Advisor check ID. + Id *string `type:"string"` + + // Well-Architected Lens ARN associated to the check. + LensArn *string `type:"string"` + + // Trusted Advisor check name. + Name *string `type:"string"` + + // The ID used to identify a pillar, for example, security. + // + // A pillar is identified by its PillarReviewSummary$PillarId. + PillarId *string `min:"1" type:"string"` + + // Provider of the check related to the best practice. + Provider *string `type:"string" enum:"CheckProvider"` + + // The ID of the question. + QuestionId *string `min:"1" type:"string"` + + // Status associated to the check. + Status *string `type:"string" enum:"CheckStatus"` + + // The date and time recorded. + UpdatedAt *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CheckSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CheckSummary) GoString() string { + return s.String() +} + +// SetAccountSummary sets the AccountSummary field's value. +func (s *CheckSummary) SetAccountSummary(v map[string]*int64) *CheckSummary { + s.AccountSummary = v + return s +} + +// SetChoiceId sets the ChoiceId field's value. +func (s *CheckSummary) SetChoiceId(v string) *CheckSummary { + s.ChoiceId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CheckSummary) SetDescription(v string) *CheckSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CheckSummary) SetId(v string) *CheckSummary { + s.Id = &v + return s +} + +// SetLensArn sets the LensArn field's value. +func (s *CheckSummary) SetLensArn(v string) *CheckSummary { + s.LensArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CheckSummary) SetName(v string) *CheckSummary { + s.Name = &v + return s +} + +// SetPillarId sets the PillarId field's value. +func (s *CheckSummary) SetPillarId(v string) *CheckSummary { + s.PillarId = &v + return s +} + +// SetProvider sets the Provider field's value. +func (s *CheckSummary) SetProvider(v string) *CheckSummary { + s.Provider = &v + return s +} + +// SetQuestionId sets the QuestionId field's value. +func (s *CheckSummary) SetQuestionId(v string) *CheckSummary { + s.QuestionId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CheckSummary) SetStatus(v string) *CheckSummary { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *CheckSummary) SetUpdatedAt(v time.Time) *CheckSummary { + s.UpdatedAt = &v + return s +} + +// A choice available to answer question. +type Choice struct { + _ struct{} `type:"structure"` + + // The additional resources for a choice. A choice can have up to two additional + // resources: one of type HELPFUL_RESOURCE, one of type IMPROVEMENT_PLAN, or + // both. + AdditionalResources []*AdditionalResources `type:"list"` + + // The ID of a choice. + ChoiceId *string `min:"1" type:"string"` + + // The description of a choice. + Description *string `min:"1" type:"string"` + + // The choice level helpful resource. + HelpfulResource *ChoiceContent `type:"structure"` + + // The choice level improvement plan. + ImprovementPlan *ChoiceContent `type:"structure"` + + // The title of a choice. + Title *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Choice) String() string { + return awsutil.Prettify(s) +} // GoString returns the string representation. // @@ -5290,8 +5860,8 @@ type CreateLensShareInput struct { // LensAlias is a required field LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"` - // The Amazon Web Services account ID or IAM role with which the workload is - // shared. + // The Amazon Web Services account ID, IAM role, organization ID, or organizational + // unit (OU) ID with which the workload is shared. // // SharedWith is a required field SharedWith *string `min:"12" type:"string" required:"true"` @@ -5667,6 +6237,9 @@ type CreateWorkloadInput struct { // The list of Amazon Web Services account IDs associated with the workload. AccountIds []*string `type:"list"` + // List of AppRegistry application ARNs associated to the workload. + Applications []*string `type:"list"` + // The URL of the architectural design for the workload. ArchitecturalDesign *string `type:"string"` @@ -5692,6 +6265,9 @@ type CreateWorkloadInput struct { // Description is a required field Description *string `min:"3" type:"string" required:"true"` + // Well-Architected discovery configuration settings associated to the workload. + DiscoveryConfig *WorkloadDiscoveryConfig `type:"structure"` + // The environment for the workload. // // Environment is a required field @@ -5849,6 +6425,12 @@ func (s *CreateWorkloadInput) SetAccountIds(v []*string) *CreateWorkloadInput { return s } +// SetApplications sets the Applications field's value. +func (s *CreateWorkloadInput) SetApplications(v []*string) *CreateWorkloadInput { + s.Applications = v + return s +} + // SetArchitecturalDesign sets the ArchitecturalDesign field's value. func (s *CreateWorkloadInput) SetArchitecturalDesign(v string) *CreateWorkloadInput { s.ArchitecturalDesign = &v @@ -5873,6 +6455,12 @@ func (s *CreateWorkloadInput) SetDescription(v string) *CreateWorkloadInput { return s } +// SetDiscoveryConfig sets the DiscoveryConfig field's value. +func (s *CreateWorkloadInput) SetDiscoveryConfig(v *WorkloadDiscoveryConfig) *CreateWorkloadInput { + s.DiscoveryConfig = v + return s +} + // SetEnvironment sets the Environment field's value. func (s *CreateWorkloadInput) SetEnvironment(v string) *CreateWorkloadInput { s.Environment = &v @@ -5997,8 +6585,8 @@ type CreateWorkloadShareInput struct { // PermissionType is a required field PermissionType *string `type:"string" required:"true" enum:"PermissionType"` - // The Amazon Web Services account ID or IAM role with which the workload is - // shared. + // The Amazon Web Services account ID, IAM role, organization ID, or organizational + // unit (OU) ID with which the workload is shared. // // SharedWith is a required field SharedWith *string `min:"12" type:"string" required:"true"` @@ -8312,8 +8900,8 @@ type LensShareSummary struct { // The ID associated with the workload share. ShareId *string `type:"string"` - // The Amazon Web Services account ID or IAM role with which the workload is - // shared. + // The Amazon Web Services account ID, IAM role, organization ID, or organizational + // unit (OU) ID with which the workload is shared. SharedWith *string `min:"12" type:"string"` // The status of a workload share. @@ -8505,18 +9093,432 @@ type LensUpgradeSummary struct { // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` - // The ARN for the lens. - LensArn *string `type:"string"` + // The ARN for the lens. + LensArn *string `type:"string"` + + // The ID assigned to the workload. This ID is unique within an Amazon Web Services + // Region. + WorkloadId *string `type:"string"` + + // The name of the workload. + // + // The name must be unique within an account within an Amazon Web Services Region. + // Spaces and capitalization are ignored when checking for uniqueness. + WorkloadName *string `min:"3" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LensUpgradeSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LensUpgradeSummary) GoString() string { + return s.String() +} + +// SetCurrentLensVersion sets the CurrentLensVersion field's value. +func (s *LensUpgradeSummary) SetCurrentLensVersion(v string) *LensUpgradeSummary { + s.CurrentLensVersion = &v + return s +} + +// SetLatestLensVersion sets the LatestLensVersion field's value. +func (s *LensUpgradeSummary) SetLatestLensVersion(v string) *LensUpgradeSummary { + s.LatestLensVersion = &v + return s +} + +// SetLensAlias sets the LensAlias field's value. +func (s *LensUpgradeSummary) SetLensAlias(v string) *LensUpgradeSummary { + s.LensAlias = &v + return s +} + +// SetLensArn sets the LensArn field's value. +func (s *LensUpgradeSummary) SetLensArn(v string) *LensUpgradeSummary { + s.LensArn = &v + return s +} + +// SetWorkloadId sets the WorkloadId field's value. +func (s *LensUpgradeSummary) SetWorkloadId(v string) *LensUpgradeSummary { + s.WorkloadId = &v + return s +} + +// SetWorkloadName sets the WorkloadName field's value. +func (s *LensUpgradeSummary) SetWorkloadName(v string) *LensUpgradeSummary { + s.WorkloadName = &v + return s +} + +// Input to list answers. +type ListAnswersInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. + // + // Each lens is identified by its LensSummary$LensAlias. + // + // LensAlias is a required field + LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"` + + // The maximum number of results to return for this request. + MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` + + // The milestone number. + // + // A workload can have a maximum of 100 milestones. + MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"` + + // The token to use to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + + // The ID used to identify a pillar, for example, security. + // + // A pillar is identified by its PillarReviewSummary$PillarId. + PillarId *string `location:"querystring" locationName:"PillarId" min:"1" type:"string"` + + // The ID assigned to the workload. This ID is unique within an Amazon Web Services + // Region. + // + // WorkloadId is a required field + WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAnswersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAnswersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAnswersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAnswersInput"} + if s.LensAlias == nil { + invalidParams.Add(request.NewErrParamRequired("LensAlias")) + } + if s.LensAlias != nil && len(*s.LensAlias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1)) + } + if s.PillarId != nil && len(*s.PillarId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PillarId", 1)) + } + if s.WorkloadId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkloadId")) + } + if s.WorkloadId != nil && len(*s.WorkloadId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLensAlias sets the LensAlias field's value. +func (s *ListAnswersInput) SetLensAlias(v string) *ListAnswersInput { + s.LensAlias = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAnswersInput) SetMaxResults(v int64) *ListAnswersInput { + s.MaxResults = &v + return s +} + +// SetMilestoneNumber sets the MilestoneNumber field's value. +func (s *ListAnswersInput) SetMilestoneNumber(v int64) *ListAnswersInput { + s.MilestoneNumber = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAnswersInput) SetNextToken(v string) *ListAnswersInput { + s.NextToken = &v + return s +} + +// SetPillarId sets the PillarId field's value. +func (s *ListAnswersInput) SetPillarId(v string) *ListAnswersInput { + s.PillarId = &v + return s +} + +// SetWorkloadId sets the WorkloadId field's value. +func (s *ListAnswersInput) SetWorkloadId(v string) *ListAnswersInput { + s.WorkloadId = &v + return s +} + +// Output of a list answers call. +type ListAnswersOutput struct { + _ struct{} `type:"structure"` + + // List of answer summaries of lens review in a workload. + AnswerSummaries []*AnswerSummary `type:"list"` + + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. + // + // Each lens is identified by its LensSummary$LensAlias. + LensAlias *string `min:"1" type:"string"` + + // The ARN for the lens. + LensArn *string `type:"string"` + + // The milestone number. + // + // A workload can have a maximum of 100 milestones. + MilestoneNumber *int64 `min:"1" type:"integer"` + + // The token to use to retrieve the next set of results. + NextToken *string `type:"string"` + + // The ID assigned to the workload. This ID is unique within an Amazon Web Services + // Region. + WorkloadId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAnswersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAnswersOutput) GoString() string { + return s.String() +} + +// SetAnswerSummaries sets the AnswerSummaries field's value. +func (s *ListAnswersOutput) SetAnswerSummaries(v []*AnswerSummary) *ListAnswersOutput { + s.AnswerSummaries = v + return s +} + +// SetLensAlias sets the LensAlias field's value. +func (s *ListAnswersOutput) SetLensAlias(v string) *ListAnswersOutput { + s.LensAlias = &v + return s +} + +// SetLensArn sets the LensArn field's value. +func (s *ListAnswersOutput) SetLensArn(v string) *ListAnswersOutput { + s.LensArn = &v + return s +} + +// SetMilestoneNumber sets the MilestoneNumber field's value. +func (s *ListAnswersOutput) SetMilestoneNumber(v int64) *ListAnswersOutput { + s.MilestoneNumber = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAnswersOutput) SetNextToken(v string) *ListAnswersOutput { + s.NextToken = &v + return s +} + +// SetWorkloadId sets the WorkloadId field's value. +func (s *ListAnswersOutput) SetWorkloadId(v string) *ListAnswersOutput { + s.WorkloadId = &v + return s +} + +type ListCheckDetailsInput struct { + _ struct{} `type:"structure"` + + // The ID of a choice. + // + // ChoiceId is a required field + ChoiceId *string `min:"1" type:"string" required:"true"` + + // Well-Architected Lens ARN. + // + // LensArn is a required field + LensArn *string `type:"string" required:"true"` + + // The maximum number of results to return for this request. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to use to retrieve the next set of results. + NextToken *string `type:"string"` + + // The ID used to identify a pillar, for example, security. + // + // A pillar is identified by its PillarReviewSummary$PillarId. + // + // PillarId is a required field + PillarId *string `min:"1" type:"string" required:"true"` + + // The ID of the question. + // + // QuestionId is a required field + QuestionId *string `min:"1" type:"string" required:"true"` + + // The ID assigned to the workload. This ID is unique within an Amazon Web Services + // Region. + // + // WorkloadId is a required field + WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCheckDetailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCheckDetailsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCheckDetailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCheckDetailsInput"} + if s.ChoiceId == nil { + invalidParams.Add(request.NewErrParamRequired("ChoiceId")) + } + if s.ChoiceId != nil && len(*s.ChoiceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChoiceId", 1)) + } + if s.LensArn == nil { + invalidParams.Add(request.NewErrParamRequired("LensArn")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.PillarId == nil { + invalidParams.Add(request.NewErrParamRequired("PillarId")) + } + if s.PillarId != nil && len(*s.PillarId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PillarId", 1)) + } + if s.QuestionId == nil { + invalidParams.Add(request.NewErrParamRequired("QuestionId")) + } + if s.QuestionId != nil && len(*s.QuestionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QuestionId", 1)) + } + if s.WorkloadId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkloadId")) + } + if s.WorkloadId != nil && len(*s.WorkloadId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChoiceId sets the ChoiceId field's value. +func (s *ListCheckDetailsInput) SetChoiceId(v string) *ListCheckDetailsInput { + s.ChoiceId = &v + return s +} + +// SetLensArn sets the LensArn field's value. +func (s *ListCheckDetailsInput) SetLensArn(v string) *ListCheckDetailsInput { + s.LensArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCheckDetailsInput) SetMaxResults(v int64) *ListCheckDetailsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCheckDetailsInput) SetNextToken(v string) *ListCheckDetailsInput { + s.NextToken = &v + return s +} + +// SetPillarId sets the PillarId field's value. +func (s *ListCheckDetailsInput) SetPillarId(v string) *ListCheckDetailsInput { + s.PillarId = &v + return s +} + +// SetQuestionId sets the QuestionId field's value. +func (s *ListCheckDetailsInput) SetQuestionId(v string) *ListCheckDetailsInput { + s.QuestionId = &v + return s +} + +// SetWorkloadId sets the WorkloadId field's value. +func (s *ListCheckDetailsInput) SetWorkloadId(v string) *ListCheckDetailsInput { + s.WorkloadId = &v + return s +} - // The ID assigned to the workload. This ID is unique within an Amazon Web Services - // Region. - WorkloadId *string `type:"string"` +type ListCheckDetailsOutput struct { + _ struct{} `type:"structure"` - // The name of the workload. - // - // The name must be unique within an account within an Amazon Web Services Region. - // Spaces and capitalization are ignored when checking for uniqueness. - WorkloadName *string `min:"3" type:"string"` + // The details about the Trusted Advisor checks related to the Well-Architected + // best practice. + CheckDetails []*CheckDetail `type:"list"` + + // The token to use to retrieve the next set of results. + NextToken *string `type:"string"` } // String returns the string representation. @@ -8524,7 +9526,7 @@ type LensUpgradeSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LensUpgradeSummary) String() string { +func (s ListCheckDetailsOutput) String() string { return awsutil.Prettify(s) } @@ -8533,77 +9535,52 @@ func (s LensUpgradeSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LensUpgradeSummary) GoString() string { +func (s ListCheckDetailsOutput) GoString() string { return s.String() } -// SetCurrentLensVersion sets the CurrentLensVersion field's value. -func (s *LensUpgradeSummary) SetCurrentLensVersion(v string) *LensUpgradeSummary { - s.CurrentLensVersion = &v - return s -} - -// SetLatestLensVersion sets the LatestLensVersion field's value. -func (s *LensUpgradeSummary) SetLatestLensVersion(v string) *LensUpgradeSummary { - s.LatestLensVersion = &v - return s -} - -// SetLensAlias sets the LensAlias field's value. -func (s *LensUpgradeSummary) SetLensAlias(v string) *LensUpgradeSummary { - s.LensAlias = &v - return s -} - -// SetLensArn sets the LensArn field's value. -func (s *LensUpgradeSummary) SetLensArn(v string) *LensUpgradeSummary { - s.LensArn = &v - return s -} - -// SetWorkloadId sets the WorkloadId field's value. -func (s *LensUpgradeSummary) SetWorkloadId(v string) *LensUpgradeSummary { - s.WorkloadId = &v +// SetCheckDetails sets the CheckDetails field's value. +func (s *ListCheckDetailsOutput) SetCheckDetails(v []*CheckDetail) *ListCheckDetailsOutput { + s.CheckDetails = v return s } -// SetWorkloadName sets the WorkloadName field's value. -func (s *LensUpgradeSummary) SetWorkloadName(v string) *LensUpgradeSummary { - s.WorkloadName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListCheckDetailsOutput) SetNextToken(v string) *ListCheckDetailsOutput { + s.NextToken = &v return s } -// Input to list answers. -type ListAnswersInput struct { - _ struct{} `type:"structure" nopayload:"true"` +type ListCheckSummariesInput struct { + _ struct{} `type:"structure"` - // The alias of the lens. - // - // For Amazon Web Services official lenses, this is either the lens alias, such - // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. - // - // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. + // The ID of a choice. // - // Each lens is identified by its LensSummary$LensAlias. + // ChoiceId is a required field + ChoiceId *string `min:"1" type:"string" required:"true"` + + // Well-Architected Lens ARN. // - // LensAlias is a required field - LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"` + // LensArn is a required field + LensArn *string `type:"string" required:"true"` // The maximum number of results to return for this request. - MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` - - // The milestone number. - // - // A workload can have a maximum of 100 milestones. - MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"` + MaxResults *int64 `min:"1" type:"integer"` // The token to use to retrieve the next set of results. - NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + NextToken *string `type:"string"` // The ID used to identify a pillar, for example, security. // // A pillar is identified by its PillarReviewSummary$PillarId. - PillarId *string `location:"querystring" locationName:"PillarId" min:"1" type:"string"` + // + // PillarId is a required field + PillarId *string `min:"1" type:"string" required:"true"` + + // The ID of the question. + // + // QuestionId is a required field + QuestionId *string `min:"1" type:"string" required:"true"` // The ID assigned to the workload. This ID is unique within an Amazon Web Services // Region. @@ -8617,7 +9594,7 @@ type ListAnswersInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAnswersInput) String() string { +func (s ListCheckSummariesInput) String() string { return awsutil.Prettify(s) } @@ -8626,28 +9603,37 @@ func (s ListAnswersInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAnswersInput) GoString() string { +func (s ListCheckSummariesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListAnswersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListAnswersInput"} - if s.LensAlias == nil { - invalidParams.Add(request.NewErrParamRequired("LensAlias")) +func (s *ListCheckSummariesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCheckSummariesInput"} + if s.ChoiceId == nil { + invalidParams.Add(request.NewErrParamRequired("ChoiceId")) } - if s.LensAlias != nil && len(*s.LensAlias) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1)) + if s.ChoiceId != nil && len(*s.ChoiceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChoiceId", 1)) + } + if s.LensArn == nil { + invalidParams.Add(request.NewErrParamRequired("LensArn")) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1)) + if s.PillarId == nil { + invalidParams.Add(request.NewErrParamRequired("PillarId")) } if s.PillarId != nil && len(*s.PillarId) < 1 { invalidParams.Add(request.NewErrParamMinLen("PillarId", 1)) } + if s.QuestionId == nil { + invalidParams.Add(request.NewErrParamRequired("QuestionId")) + } + if s.QuestionId != nil && len(*s.QuestionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QuestionId", 1)) + } if s.WorkloadId == nil { invalidParams.Add(request.NewErrParamRequired("WorkloadId")) } @@ -8661,73 +9647,56 @@ func (s *ListAnswersInput) Validate() error { return nil } -// SetLensAlias sets the LensAlias field's value. -func (s *ListAnswersInput) SetLensAlias(v string) *ListAnswersInput { - s.LensAlias = &v +// SetChoiceId sets the ChoiceId field's value. +func (s *ListCheckSummariesInput) SetChoiceId(v string) *ListCheckSummariesInput { + s.ChoiceId = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListAnswersInput) SetMaxResults(v int64) *ListAnswersInput { - s.MaxResults = &v +// SetLensArn sets the LensArn field's value. +func (s *ListCheckSummariesInput) SetLensArn(v string) *ListCheckSummariesInput { + s.LensArn = &v return s } -// SetMilestoneNumber sets the MilestoneNumber field's value. -func (s *ListAnswersInput) SetMilestoneNumber(v int64) *ListAnswersInput { - s.MilestoneNumber = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListCheckSummariesInput) SetMaxResults(v int64) *ListCheckSummariesInput { + s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAnswersInput) SetNextToken(v string) *ListAnswersInput { +func (s *ListCheckSummariesInput) SetNextToken(v string) *ListCheckSummariesInput { s.NextToken = &v return s } // SetPillarId sets the PillarId field's value. -func (s *ListAnswersInput) SetPillarId(v string) *ListAnswersInput { +func (s *ListCheckSummariesInput) SetPillarId(v string) *ListCheckSummariesInput { s.PillarId = &v return s } +// SetQuestionId sets the QuestionId field's value. +func (s *ListCheckSummariesInput) SetQuestionId(v string) *ListCheckSummariesInput { + s.QuestionId = &v + return s +} + // SetWorkloadId sets the WorkloadId field's value. -func (s *ListAnswersInput) SetWorkloadId(v string) *ListAnswersInput { +func (s *ListCheckSummariesInput) SetWorkloadId(v string) *ListCheckSummariesInput { s.WorkloadId = &v return s } -// Output of a list answers call. -type ListAnswersOutput struct { +type ListCheckSummariesOutput struct { _ struct{} `type:"structure"` - // List of answer summaries of lens review in a workload. - AnswerSummaries []*AnswerSummary `type:"list"` - - // The alias of the lens. - // - // For Amazon Web Services official lenses, this is either the lens alias, such - // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. - // - // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. - // - // Each lens is identified by its LensSummary$LensAlias. - LensAlias *string `min:"1" type:"string"` - - // The ARN for the lens. - LensArn *string `type:"string"` - - // The milestone number. - // - // A workload can have a maximum of 100 milestones. - MilestoneNumber *int64 `min:"1" type:"integer"` + // List of Trusted Advisor summaries related to the Well-Architected best practice. + CheckSummaries []*CheckSummary `type:"list"` // The token to use to retrieve the next set of results. NextToken *string `type:"string"` - - // The ID assigned to the workload. This ID is unique within an Amazon Web Services - // Region. - WorkloadId *string `type:"string"` } // String returns the string representation. @@ -8735,7 +9704,7 @@ type ListAnswersOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAnswersOutput) String() string { +func (s ListCheckSummariesOutput) String() string { return awsutil.Prettify(s) } @@ -8744,46 +9713,22 @@ func (s ListAnswersOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAnswersOutput) GoString() string { +func (s ListCheckSummariesOutput) GoString() string { return s.String() } -// SetAnswerSummaries sets the AnswerSummaries field's value. -func (s *ListAnswersOutput) SetAnswerSummaries(v []*AnswerSummary) *ListAnswersOutput { - s.AnswerSummaries = v - return s -} - -// SetLensAlias sets the LensAlias field's value. -func (s *ListAnswersOutput) SetLensAlias(v string) *ListAnswersOutput { - s.LensAlias = &v - return s -} - -// SetLensArn sets the LensArn field's value. -func (s *ListAnswersOutput) SetLensArn(v string) *ListAnswersOutput { - s.LensArn = &v - return s -} - -// SetMilestoneNumber sets the MilestoneNumber field's value. -func (s *ListAnswersOutput) SetMilestoneNumber(v int64) *ListAnswersOutput { - s.MilestoneNumber = &v +// SetCheckSummaries sets the CheckSummaries field's value. +func (s *ListCheckSummariesOutput) SetCheckSummaries(v []*CheckSummary) *ListCheckSummariesOutput { + s.CheckSummaries = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAnswersOutput) SetNextToken(v string) *ListAnswersOutput { +func (s *ListCheckSummariesOutput) SetNextToken(v string) *ListCheckSummariesOutput { s.NextToken = &v return s } -// SetWorkloadId sets the WorkloadId field's value. -func (s *ListAnswersOutput) SetWorkloadId(v string) *ListAnswersOutput { - s.WorkloadId = &v - return s -} - // Input to list lens review improvements. type ListLensReviewImprovementsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -9164,7 +10109,8 @@ type ListLensSharesInput struct { // The token to use to retrieve the next set of results. NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` - // The Amazon Web Services account ID or IAM role with which the lens is shared. + // The Amazon Web Services account ID, IAM role, organization ID, or organizational + // unit (OU) ID with which the lens is shared. SharedWithPrefix *string `location:"querystring" locationName:"SharedWithPrefix" type:"string"` // The status of a workload share. @@ -9843,8 +10789,8 @@ type ListWorkloadSharesInput struct { // The token to use to retrieve the next set of results. NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` - // The Amazon Web Services account ID or IAM role with which the workload is - // shared. + // The Amazon Web Services account ID, IAM role, organization ID, or organizational + // unit (OU) ID with which the workload is shared. SharedWithPrefix *string `location:"querystring" locationName:"SharedWithPrefix" type:"string"` // The status of a workload share. @@ -10673,8 +11619,8 @@ type ShareInvitationSummary struct { // An Amazon Web Services account ID. SharedBy *string `type:"string"` - // The Amazon Web Services account ID or IAM role with which the workload is - // shared. + // The Amazon Web Services account ID, IAM role, organization ID, or organizational + // unit (OU) ID with which the workload is shared. SharedWith *string `min:"12" type:"string"` // The ID assigned to the workload. This ID is unique within an Amazon Web Services @@ -11480,7 +12426,7 @@ func (s *UpdateShareInvitationInput) SetShareInvitationId(v string) *UpdateShare type UpdateShareInvitationOutput struct { _ struct{} `type:"structure"` - // The updated workload share invitation. + // The updated workload or custom lens share invitation. ShareInvitation *ShareInvitation `type:"structure"` } @@ -11515,6 +12461,9 @@ type UpdateWorkloadInput struct { // The list of Amazon Web Services account IDs associated with the workload. AccountIds []*string `type:"list"` + // List of AppRegistry application ARNs to associate to the workload. + Applications []*string `type:"list"` + // The URL of the architectural design for the workload. ArchitecturalDesign *string `type:"string"` @@ -11525,6 +12474,9 @@ type UpdateWorkloadInput struct { // The description for the workload. Description *string `min:"3" type:"string"` + // Well-Architected discovery configuration settings to associate to the workload. + DiscoveryConfig *WorkloadDiscoveryConfig `type:"structure"` + // The environment for the workload. Environment *string `type:"string" enum:"WorkloadEnvironment"` @@ -11676,6 +12628,12 @@ func (s *UpdateWorkloadInput) SetAccountIds(v []*string) *UpdateWorkloadInput { return s } +// SetApplications sets the Applications field's value. +func (s *UpdateWorkloadInput) SetApplications(v []*string) *UpdateWorkloadInput { + s.Applications = v + return s +} + // SetArchitecturalDesign sets the ArchitecturalDesign field's value. func (s *UpdateWorkloadInput) SetArchitecturalDesign(v string) *UpdateWorkloadInput { s.ArchitecturalDesign = &v @@ -11694,6 +12652,12 @@ func (s *UpdateWorkloadInput) SetDescription(v string) *UpdateWorkloadInput { return s } +// SetDiscoveryConfig sets the DiscoveryConfig field's value. +func (s *UpdateWorkloadInput) SetDiscoveryConfig(v *WorkloadDiscoveryConfig) *UpdateWorkloadInput { + s.DiscoveryConfig = v + return s +} + // SetEnvironment sets the Environment field's value. func (s *UpdateWorkloadInput) SetEnvironment(v string) *UpdateWorkloadInput { s.Environment = &v @@ -12206,6 +13170,9 @@ type Workload struct { // The list of Amazon Web Services account IDs associated with the workload. AccountIds []*string `type:"list"` + // List of AppRegistry application ARNs associated to the workload. + Applications []*string `type:"list"` + // The URL of the architectural design for the workload. ArchitecturalDesign *string `type:"string"` @@ -12216,6 +13183,9 @@ type Workload struct { // The description for the workload. Description *string `min:"3" type:"string"` + // Discovery configuration associated to the workload. + DiscoveryConfig *WorkloadDiscoveryConfig `type:"structure"` + // The environment for the workload. Environment *string `type:"string" enum:"WorkloadEnvironment"` @@ -12365,6 +13335,12 @@ func (s *Workload) SetAccountIds(v []*string) *Workload { return s } +// SetApplications sets the Applications field's value. +func (s *Workload) SetApplications(v []*string) *Workload { + s.Applications = v + return s +} + // SetArchitecturalDesign sets the ArchitecturalDesign field's value. func (s *Workload) SetArchitecturalDesign(v string) *Workload { s.ArchitecturalDesign = &v @@ -12383,6 +13359,12 @@ func (s *Workload) SetDescription(v string) *Workload { return s } +// SetDiscoveryConfig sets the DiscoveryConfig field's value. +func (s *Workload) SetDiscoveryConfig(v *WorkloadDiscoveryConfig) *Workload { + s.DiscoveryConfig = v + return s +} + // SetEnvironment sets the Environment field's value. func (s *Workload) SetEnvironment(v string) *Workload { s.Environment = &v @@ -12497,6 +13479,38 @@ func (s *Workload) SetWorkloadName(v string) *Workload { return s } +// Discovery configuration associated to the workload. +type WorkloadDiscoveryConfig struct { + _ struct{} `type:"structure"` + + // Discovery integration status in respect to Trusted Advisor for the workload. + TrustedAdvisorIntegrationStatus *string `type:"string" enum:"TrustedAdvisorIntegrationStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkloadDiscoveryConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkloadDiscoveryConfig) GoString() string { + return s.String() +} + +// SetTrustedAdvisorIntegrationStatus sets the TrustedAdvisorIntegrationStatus field's value. +func (s *WorkloadDiscoveryConfig) SetTrustedAdvisorIntegrationStatus(v string) *WorkloadDiscoveryConfig { + s.TrustedAdvisorIntegrationStatus = &v + return s +} + // A workload share return object. type WorkloadShare struct { _ struct{} `type:"structure"` @@ -12510,8 +13524,8 @@ type WorkloadShare struct { // An Amazon Web Services account ID. SharedBy *string `type:"string"` - // The Amazon Web Services account ID or IAM role with which the workload is - // shared. + // The Amazon Web Services account ID, IAM role, organization ID, or organizational + // unit (OU) ID with which the workload is shared. SharedWith *string `min:"12" type:"string"` // The status of a workload share. @@ -12598,8 +13612,8 @@ type WorkloadShareSummary struct { // The ID associated with the workload share. ShareId *string `type:"string"` - // The Amazon Web Services account ID or IAM role with which the workload is - // shared. + // The Amazon Web Services account ID, IAM role, organization ID, or organizational + // unit (OU) ID with which the workload is shared. SharedWith *string `min:"12" type:"string"` // The status of a workload share. @@ -12801,6 +13815,70 @@ func AnswerReason_Values() []string { } } +const ( + // CheckFailureReasonAssumeRoleError is a CheckFailureReason enum value + CheckFailureReasonAssumeRoleError = "ASSUME_ROLE_ERROR" + + // CheckFailureReasonAccessDenied is a CheckFailureReason enum value + CheckFailureReasonAccessDenied = "ACCESS_DENIED" + + // CheckFailureReasonUnknownError is a CheckFailureReason enum value + CheckFailureReasonUnknownError = "UNKNOWN_ERROR" + + // CheckFailureReasonPremiumSupportRequired is a CheckFailureReason enum value + CheckFailureReasonPremiumSupportRequired = "PREMIUM_SUPPORT_REQUIRED" +) + +// CheckFailureReason_Values returns all elements of the CheckFailureReason enum +func CheckFailureReason_Values() []string { + return []string{ + CheckFailureReasonAssumeRoleError, + CheckFailureReasonAccessDenied, + CheckFailureReasonUnknownError, + CheckFailureReasonPremiumSupportRequired, + } +} + +const ( + // CheckProviderTrustedAdvisor is a CheckProvider enum value + CheckProviderTrustedAdvisor = "TRUSTED_ADVISOR" +) + +// CheckProvider_Values returns all elements of the CheckProvider enum +func CheckProvider_Values() []string { + return []string{ + CheckProviderTrustedAdvisor, + } +} + +const ( + // CheckStatusOkay is a CheckStatus enum value + CheckStatusOkay = "OKAY" + + // CheckStatusWarning is a CheckStatus enum value + CheckStatusWarning = "WARNING" + + // CheckStatusError is a CheckStatus enum value + CheckStatusError = "ERROR" + + // CheckStatusNotAvailable is a CheckStatus enum value + CheckStatusNotAvailable = "NOT_AVAILABLE" + + // CheckStatusFetchFailed is a CheckStatus enum value + CheckStatusFetchFailed = "FETCH_FAILED" +) + +// CheckStatus_Values returns all elements of the CheckStatus enum +func CheckStatus_Values() []string { + return []string{ + CheckStatusOkay, + CheckStatusWarning, + CheckStatusError, + CheckStatusNotAvailable, + CheckStatusFetchFailed, + } +} + const ( // ChoiceReasonOutOfScope is a ChoiceReason enum value ChoiceReasonOutOfScope = "OUT_OF_SCOPE" @@ -13109,6 +14187,22 @@ func ShareStatus_Values() []string { } } +const ( + // TrustedAdvisorIntegrationStatusEnabled is a TrustedAdvisorIntegrationStatus enum value + TrustedAdvisorIntegrationStatusEnabled = "ENABLED" + + // TrustedAdvisorIntegrationStatusDisabled is a TrustedAdvisorIntegrationStatus enum value + TrustedAdvisorIntegrationStatusDisabled = "DISABLED" +) + +// TrustedAdvisorIntegrationStatus_Values returns all elements of the TrustedAdvisorIntegrationStatus enum +func TrustedAdvisorIntegrationStatus_Values() []string { + return []string{ + TrustedAdvisorIntegrationStatusEnabled, + TrustedAdvisorIntegrationStatusDisabled, + } +} + // The reason why the request failed validation. const ( // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value diff --git a/service/wellarchitected/wellarchitectediface/interface.go b/service/wellarchitected/wellarchitectediface/interface.go index 16f51ded01..46db6c7589 100644 --- a/service/wellarchitected/wellarchitectediface/interface.go +++ b/service/wellarchitected/wellarchitectediface/interface.go @@ -147,6 +147,20 @@ type WellArchitectedAPI interface { ListAnswersPages(*wellarchitected.ListAnswersInput, func(*wellarchitected.ListAnswersOutput, bool) bool) error ListAnswersPagesWithContext(aws.Context, *wellarchitected.ListAnswersInput, func(*wellarchitected.ListAnswersOutput, bool) bool, ...request.Option) error + ListCheckDetails(*wellarchitected.ListCheckDetailsInput) (*wellarchitected.ListCheckDetailsOutput, error) + ListCheckDetailsWithContext(aws.Context, *wellarchitected.ListCheckDetailsInput, ...request.Option) (*wellarchitected.ListCheckDetailsOutput, error) + ListCheckDetailsRequest(*wellarchitected.ListCheckDetailsInput) (*request.Request, *wellarchitected.ListCheckDetailsOutput) + + ListCheckDetailsPages(*wellarchitected.ListCheckDetailsInput, func(*wellarchitected.ListCheckDetailsOutput, bool) bool) error + ListCheckDetailsPagesWithContext(aws.Context, *wellarchitected.ListCheckDetailsInput, func(*wellarchitected.ListCheckDetailsOutput, bool) bool, ...request.Option) error + + ListCheckSummaries(*wellarchitected.ListCheckSummariesInput) (*wellarchitected.ListCheckSummariesOutput, error) + ListCheckSummariesWithContext(aws.Context, *wellarchitected.ListCheckSummariesInput, ...request.Option) (*wellarchitected.ListCheckSummariesOutput, error) + ListCheckSummariesRequest(*wellarchitected.ListCheckSummariesInput) (*request.Request, *wellarchitected.ListCheckSummariesOutput) + + ListCheckSummariesPages(*wellarchitected.ListCheckSummariesInput, func(*wellarchitected.ListCheckSummariesOutput, bool) bool) error + ListCheckSummariesPagesWithContext(aws.Context, *wellarchitected.ListCheckSummariesInput, func(*wellarchitected.ListCheckSummariesOutput, bool) bool, ...request.Option) error + ListLensReviewImprovements(*wellarchitected.ListLensReviewImprovementsInput) (*wellarchitected.ListLensReviewImprovementsOutput, error) ListLensReviewImprovementsWithContext(aws.Context, *wellarchitected.ListLensReviewImprovementsInput, ...request.Option) (*wellarchitected.ListLensReviewImprovementsOutput, error) ListLensReviewImprovementsRequest(*wellarchitected.ListLensReviewImprovementsInput) (*request.Request, *wellarchitected.ListLensReviewImprovementsOutput) diff --git a/service/workspaces/api.go b/service/workspaces/api.go index ebf29b4c70..9e05daf1a0 100644 --- a/service/workspaces/api.go +++ b/service/workspaces/api.go @@ -15985,6 +15985,16 @@ type WorkspaceProperties struct { // The compute type. For more information, see Amazon WorkSpaces Bundles (http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles). ComputeTypeName *string `type:"string" enum:"Compute"` + // The protocol. For more information, see Protocols for Amazon WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-protocols.html). + // + // * Only available for WorkSpaces created with PCoIP bundles. + // + // * The Protocols property is case sensitive. Ensure you use PCOIP or WSP. + // + // * Unavailable for Windows 7 WorkSpaces and WorkSpaces using GPU-based + // bundles (Graphics, GraphicsPro, Graphics.g4dn, and GraphicsPro.g4dn). + Protocols []*string `type:"list" enum:"Protocol"` + // The size of the root volume. For important information about how to modify // the size of the root and user volumes, see Modify a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html). RootVolumeSizeGib *int64 `type:"integer"` @@ -16030,6 +16040,12 @@ func (s *WorkspaceProperties) SetComputeTypeName(v string) *WorkspaceProperties return s } +// SetProtocols sets the Protocols field's value. +func (s *WorkspaceProperties) SetProtocols(v []*string) *WorkspaceProperties { + s.Protocols = v + return s +} + // SetRootVolumeSizeGib sets the RootVolumeSizeGib field's value. func (s *WorkspaceProperties) SetRootVolumeSizeGib(v int64) *WorkspaceProperties { s.RootVolumeSizeGib = &v @@ -16585,6 +16601,22 @@ func OperatingSystemType_Values() []string { } } +const ( + // ProtocolPcoip is a Protocol enum value + ProtocolPcoip = "PCOIP" + + // ProtocolWsp is a Protocol enum value + ProtocolWsp = "WSP" +) + +// Protocol_Values returns all elements of the Protocol enum +func Protocol_Values() []string { + return []string{ + ProtocolPcoip, + ProtocolWsp, + } +} + const ( // ReconnectEnumEnabled is a ReconnectEnum enum value ReconnectEnumEnabled = "ENABLED"