diff --git a/.changes/1.31.85.json b/.changes/1.31.85.json new file mode 100644 index 0000000000..289668ab60 --- /dev/null +++ b/.changes/1.31.85.json @@ -0,0 +1,42 @@ +[ + { + "category": "AWSCRT", + "description": "Update awscrt version to 0.19.12", + "type": "enhancement" + }, + { + "category": "``dataexchange``", + "description": "Removed Required trait for DataSet.OriginDetails.ProductId.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Added new Db2 LUW Target endpoint with related endpoint settings. New executeTimeout endpoint setting for mysql endpoint. New ReplicationDeprovisionTime field for serverless describe-replications.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adds the new EC2 DescribeInstanceTopology API, which you can use to retrieve the network topology of your running instances on select platform types to determine their relative proximity to each other.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Adds a Client Token parameter to the ECS RunTask API. The Client Token parameter allows for idempotent RunTask requests.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Update emr client to latest version", + "type": "api-change" + }, + { + "category": "``servicecatalog-appregistry``", + "description": "When the customer associates a resource collection to their application with this new feature, then a new application tag will be applied to all supported resources that are part of that collection. This allows customers to more easily find the application that is associated with those resources.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules client to latest version", + "type": "api-change" + } +] \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0f8f3dd581..28251837ca 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,19 @@ CHANGELOG ========= +1.31.85 +======= + +* enhancement:AWSCRT: Update awscrt version to 0.19.12 +* api-change:``dataexchange``: Removed Required trait for DataSet.OriginDetails.ProductId. +* api-change:``dms``: Added new Db2 LUW Target endpoint with related endpoint settings. New executeTimeout endpoint setting for mysql endpoint. New ReplicationDeprovisionTime field for serverless describe-replications. +* api-change:``ec2``: Adds the new EC2 DescribeInstanceTopology API, which you can use to retrieve the network topology of your running instances on select platform types to determine their relative proximity to each other. +* api-change:``ecs``: Adds a Client Token parameter to the ECS RunTask API. The Client Token parameter allows for idempotent RunTask requests. +* api-change:``emr``: Update emr client to latest version +* api-change:``servicecatalog-appregistry``: When the customer associates a resource collection to their application with this new feature, then a new application tag will be applied to all supported resources that are part of that collection. This allows customers to more easily find the application that is associated with those resources. +* api-change:``endpoint-rules``: Update endpoint-rules client to latest version + + 1.31.84 ======= diff --git a/botocore/__init__.py b/botocore/__init__.py index 9c9bed4072..6dce277862 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.31.84' +__version__ = '1.31.85' class NullHandler(logging.Handler): diff --git a/botocore/client.py b/botocore/client.py index 5becb37888..8bd63f07af 100644 --- a/botocore/client.py +++ b/botocore/client.py @@ -975,7 +975,10 @@ def _make_api_call(self, operation_name, api_params): ) if http.status_code >= 300: - error_code = parsed_response.get("Error", {}).get("Code") + error_info = parsed_response.get("Error", {}) + error_code = error_info.get("QueryErrorCode") or error_info.get( + "Code" + ) error_class = self.exceptions.from_code(error_code) raise error_class(parsed_response, operation_name) else: diff --git a/botocore/data/dataexchange/2017-07-25/service-2.json b/botocore/data/dataexchange/2017-07-25/service-2.json index 77ccf9e49f..d56b59d700 100644 --- a/botocore/data/dataexchange/2017-07-25/service-2.json +++ b/botocore/data/dataexchange/2017-07-25/service-2.json @@ -2830,7 +2830,6 @@ }, "OriginDetails":{ "type":"structure", - "required":["ProductId"], "members":{ "ProductId":{ "shape":"__string", diff --git a/botocore/data/dms/2016-01-01/endpoint-rule-set-1.json b/botocore/data/dms/2016-01-01/endpoint-rule-set-1.json index 0ee72506b0..738ab6e334 100644 --- a/botocore/data/dms/2016-01-01/endpoint-rule-set-1.json +++ b/botocore/data/dms/2016-01-01/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -252,7 +248,6 @@ { "fn": "stringEquals", "argv": [ - "aws-iso", { "fn": "getAttr", "argv": [ @@ -261,7 +256,8 @@ }, "name" ] - } + }, + "aws-iso" ] } ], @@ -277,7 +273,6 @@ { "fn": "stringEquals", "argv": [ - "aws-iso-b", { "fn": "getAttr", "argv": [ @@ -286,7 +281,8 @@ }, "name" ] - } + }, + "aws-iso-b" ] } ], @@ -306,14 +302,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -327,7 +325,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -347,7 +344,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -358,14 +354,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -376,9 +374,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/botocore/data/dms/2016-01-01/service-2.json b/botocore/data/dms/2016-01-01/service-2.json index 14f5809c1d..7589f5a234 100644 --- a/botocore/data/dms/2016-01-01/service-2.json +++ b/botocore/data/dms/2016-01-01/service-2.json @@ -2069,7 +2069,7 @@ }, "Engine":{ "shape":"String", - "documentation":"

The type of database engine for the data provider. Valid values include \"aurora\", \"aurora_postgresql\", \"mysql\", \"oracle\", \"postgres\", and \"sqlserver\". A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

" + "documentation":"

The type of database engine for the data provider. Valid values include \"aurora\", \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \"sqlserver\", redshift, mariadb, mongodb, and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

" }, "Settings":{ "shape":"DataProviderSettings", @@ -2611,7 +2611,7 @@ }, "SubnetIds":{ "shape":"SubnetIdentifierList", - "documentation":"

One or more subnet IDs to be assigned to the subnet group.

" + "documentation":"

Two or more subnet IDs to be assigned to the subnet group.

" }, "Tags":{ "shape":"TagList", @@ -2734,7 +2734,7 @@ }, "Engine":{ "shape":"String", - "documentation":"

The type of database engine for the data provider. Valid values include \"aurora\", \"aurora_postgresql\", \"mysql\", \"oracle\", \"postgres\", and \"sqlserver\". A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

" + "documentation":"

The type of database engine for the data provider. Valid values include \"aurora\", \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \"sqlserver\", redshift, mariadb, mongodb, and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

" }, "Settings":{ "shape":"DataProviderSettings", @@ -3381,7 +3381,7 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

Filters applied to the data providers described in the form of key-value pairs.

" + "documentation":"

Filters applied to the data providers described in the form of key-value pairs.

Valid filter names: data-provider-identifier

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -4795,7 +4795,7 @@ }, "EngineName":{ "shape":"String", - "documentation":"

The database engine name. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"db2-zos\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", \"sqlserver\", \"neptune\", and \"babelfish\".

" + "documentation":"

The database engine name. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"redshift-serverless\", \"s3\", \"db2\", \"db2-zos\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", \"sqlserver\", \"neptune\", and \"babelfish\".

" }, "EngineDisplayName":{ "shape":"String", @@ -5396,6 +5396,22 @@ "SecretsManagerSecretId":{ "shape":"String", "documentation":"

The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the Db2 LUW endpoint connection details.

" + }, + "LoadTimeout":{ + "shape":"IntegerOptional", + "documentation":"

The amount of time (in milliseconds) before DMS times out operations performed by DMS on the Db2 target. The default value is 1200 (20 minutes).

" + }, + "WriteBufferSize":{ + "shape":"IntegerOptional", + "documentation":"

The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk on the DMS replication instance. The default value is 1024 (1 MB).

" + }, + "MaxFileSize":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the maximum size (in KB) of .csv files used to transfer data to Db2 LUW.

" + }, + "KeepCsvFiles":{ + "shape":"BooleanOptional", + "documentation":"

If true, DMS saves any .csv files to the Db2 LUW target that were used to replicate data. DMS uses these files for analysis and troubleshooting.

The default value is false.

" } }, "documentation":"

Provides information that defines an IBM Db2 LUW endpoint.

" @@ -6079,7 +6095,7 @@ }, "Engine":{ "shape":"String", - "documentation":"

The type of database engine for the data provider. Valid values include \"aurora\", \"aurora_postgresql\", \"mysql\", \"oracle\", \"postgres\", and \"sqlserver\". A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

" + "documentation":"

The type of database engine for the data provider. Valid values include \"aurora\", \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \"sqlserver\", redshift, mariadb, mongodb, and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

" }, "ExactSettings":{ "shape":"BooleanOptional", @@ -6781,6 +6797,10 @@ "SecretsManagerSecretId":{ "shape":"String", "documentation":"

The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the MySQL endpoint connection details.

" + }, + "ExecuteTimeout":{ + "shape":"IntegerOptional", + "documentation":"

Sets the client statement timeout (in seconds) for a MySQL source endpoint.

" } }, "documentation":"

Provides information that defines a MySQL endpoint.

" @@ -7953,6 +7973,10 @@ "ReplicationLastStopTime":{ "shape":"TStamp", "documentation":"

The timestamp when replication was last stopped.

" + }, + "ReplicationDeprovisionTime":{ + "shape":"TStamp", + "documentation":"

The timestamp when DMS will deprovision the replication.

" } }, "documentation":"

Provides information that describes a serverless replication created by the CreateReplication operation.

" diff --git a/botocore/data/ec2/2016-11-15/paginators-1.json b/botocore/data/ec2/2016-11-15/paginators-1.json index 32a693e146..cfde129cdb 100644 --- a/botocore/data/ec2/2016-11-15/paginators-1.json +++ b/botocore/data/ec2/2016-11-15/paginators-1.json @@ -841,6 +841,12 @@ "limit_key": "MaxResults", "output_token": "NextToken", "result_key": "CapacityBlockOfferings" + }, + "DescribeInstanceTopology": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Instances" } } } diff --git a/botocore/data/ec2/2016-11-15/service-2.json b/botocore/data/ec2/2016-11-15/service-2.json index 72160beaaf..e3a6ee922b 100644 --- a/botocore/data/ec2/2016-11-15/service-2.json +++ b/botocore/data/ec2/2016-11-15/service-2.json @@ -2057,7 +2057,7 @@ }, "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, "output":{"shape":"DeleteVpcPeeringConnectionResult"}, - "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed state.

" + "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed or rejected state.

" }, "DeleteVpnConnection":{ "name":"DeleteVpnConnection", @@ -2433,7 +2433,7 @@ }, "input":{"shape":"DescribeFastLaunchImagesRequest"}, "output":{"shape":"DescribeFastLaunchImagesResult"}, - "documentation":"

Describe details for Windows AMIs that are configured for faster launching.

" + "documentation":"

Describe details for Windows AMIs that are configured for Windows fast launch.

" }, "DescribeFastSnapshotRestores":{ "name":"DescribeFastSnapshotRestores", @@ -2665,6 +2665,16 @@ "output":{"shape":"DescribeInstanceStatusResult"}, "documentation":"

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

" }, + "DescribeInstanceTopology":{ + "name":"DescribeInstanceTopology", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstanceTopologyRequest"}, + "output":{"shape":"DescribeInstanceTopologyResult"}, + "documentation":"

Describes a tree-based hierarchy that represents the physical host placement of your EC2 instances within an Availability Zone or Local Zone. You can use this information to determine the relative proximity of your EC2 instances within the Amazon Web Services network to support your tightly coupled workloads.

Limitations

For more information, see Amazon EC2 instance topology in the Amazon EC2 User Guide.

" + }, "DescribeInstanceTypeOfferings":{ "name":"DescribeInstanceTypeOfferings", "http":{ @@ -3710,7 +3720,7 @@ }, "input":{"shape":"DisableFastLaunchRequest"}, "output":{"shape":"DisableFastLaunchResult"}, - "documentation":"

Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. When you disable faster launching, the AMI uses the standard launch process for each instance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

To change these settings, you must own the AMI.

" + "documentation":"

Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned snapshots. After you disable Windows fast launch, the AMI uses the standard launch process for each new instance. Amazon EC2 must remove all pre-provisioned snapshots before you can enable Windows fast launch again.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

" }, "DisableFastSnapshotRestores":{ "name":"DisableFastSnapshotRestores", @@ -3730,7 +3740,7 @@ }, "input":{"shape":"DisableImageRequest"}, "output":{"shape":"DisableImageResult"}, - "documentation":"

Sets the AMI state to disabled and removes all launch permissions from the AMI. A disabled AMI can't be used for instance launches.

A disabled AMI can't be shared. If a public or shared AMI was previously shared, it is made private. If an AMI was shared with an Amazon Web Services account, organization, or Organizational Unit, they lose access to the disabled AMI.

A disabled AMI does not appear in DescribeImages API calls by default.

Only the AMI owner can disable an AMI.

You can re-enable a disabled AMI using EnableImage.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

" + "documentation":"

Sets the AMI state to disabled and removes all launch permissions from the AMI. A disabled AMI can't be used for instance launches.

A disabled AMI can't be shared. If an AMI was public or previously shared, it is made private. If an AMI was shared with an Amazon Web Services account, organization, or Organizational Unit, they lose access to the disabled AMI.

A disabled AMI does not appear in DescribeImages API calls by default.

Only the AMI owner can disable an AMI.

You can re-enable a disabled AMI using EnableImage.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

" }, "DisableImageBlockPublicAccess":{ "name":"DisableImageBlockPublicAccess", @@ -3997,7 +4007,7 @@ }, "input":{"shape":"EnableFastLaunchRequest"}, "output":{"shape":"EnableFastLaunchResult"}, - "documentation":"

When you enable faster launching for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a set of reserved snapshots that are used for subsequent launches. The reserved snapshots are automatically replenished as they are used, depending on your settings for launch frequency.

To change these settings, you must own the AMI.

" + "documentation":"

When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a set of reserved snapshots that are used for subsequent launches. The reserved snapshots are automatically replenished as they are used, depending on your settings for launch frequency.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

" }, "EnableFastSnapshotRestores":{ "name":"EnableFastSnapshotRestores", @@ -6042,9 +6052,9 @@ "AcceleratorManufacturer":{ "type":"string", "enum":[ - "nvidia", - "amd", "amazon-web-services", + "amd", + "nvidia", "xilinx" ] }, @@ -6059,14 +6069,14 @@ "type":"string", "enum":[ "a100", - "v100", + "inferentia", + "k520", "k80", - "t4", "m60", "radeon-pro-v520", + "t4", "vu9p", - "inferentia", - "k520" + "v100" ] }, "AcceleratorNameSet":{ @@ -8538,12 +8548,12 @@ "members":{ "VerifiedAccessTrustProvider":{ "shape":"VerifiedAccessTrustProvider", - "documentation":"

The ID of the Verified Access trust provider.

", + "documentation":"

Details about the Verified Access trust provider.

", "locationName":"verifiedAccessTrustProvider" }, "VerifiedAccessInstance":{ "shape":"VerifiedAccessInstance", - "documentation":"

The ID of the Verified Access instance.

", + "documentation":"

Details about the Verified Access instance.

", "locationName":"verifiedAccessInstance" } } @@ -10594,7 +10604,6 @@ "type":"string", "sensitive":true }, - "ClientVpnAssociationId":{"type":"string"}, "ClientVpnAuthentication":{ "type":"structure", "members":{ @@ -12574,7 +12583,7 @@ "members":{ "BlockDeviceMappings":{ "shape":"BlockDeviceMappingRequestList", - "documentation":"

The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

", + "documentation":"

The block device mappings.

When using the CreateImage action:

", "locationName":"blockDeviceMapping" }, "Description":{ @@ -15119,7 +15128,7 @@ }, "SecurityGroupIds":{ "shape":"SecurityGroupIdList", - "documentation":"

The IDs of the security groups to associate with the Verified Access endpoint.

", + "documentation":"

The IDs of the security groups to associate with the Verified Access endpoint. Required if AttachmentType is set to vpc.

", "locationName":"SecurityGroupId" }, "LoadBalancerOptions":{ @@ -15154,7 +15163,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationRequest", - "documentation":"

Options for server side encryption.

" + "documentation":"

The options for server side encryption.

" } } }, @@ -15163,7 +15172,7 @@ "members":{ "VerifiedAccessEndpoint":{ "shape":"VerifiedAccessEndpoint", - "documentation":"

The ID of the Verified Access endpoint.

", + "documentation":"

Details about the Verified Access endpoint.

", "locationName":"verifiedAccessEndpoint" } } @@ -15207,7 +15216,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationRequest", - "documentation":"

Options for server side encryption.

" + "documentation":"

The options for server side encryption.

" } } }, @@ -15216,7 +15225,7 @@ "members":{ "VerifiedAccessGroup":{ "shape":"VerifiedAccessGroup", - "documentation":"

The ID of the Verified Access group.

", + "documentation":"

Details about the Verified Access group.

", "locationName":"verifiedAccessGroup" } } @@ -15253,7 +15262,7 @@ "members":{ "VerifiedAccessInstance":{ "shape":"VerifiedAccessInstance", - "documentation":"

The ID of the Verified Access instance.

", + "documentation":"

Details about the Verified Access instance.

", "locationName":"verifiedAccessInstance" } } @@ -15353,7 +15362,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationRequest", - "documentation":"

Options for server side encryption.

" + "documentation":"

The options for server side encryption.

" } } }, @@ -15362,7 +15371,7 @@ "members":{ "VerifiedAccessTrustProvider":{ "shape":"VerifiedAccessTrustProvider", - "documentation":"

The ID of the Verified Access trust provider.

", + "documentation":"

Details about the Verified Access trust provider.

", "locationName":"verifiedAccessTrustProvider" } } @@ -17772,7 +17781,7 @@ "members":{ "VerifiedAccessEndpoint":{ "shape":"VerifiedAccessEndpoint", - "documentation":"

The ID of the Verified Access endpoint.

", + "documentation":"

Details about the Verified Access endpoint.

", "locationName":"verifiedAccessEndpoint" } } @@ -17801,7 +17810,7 @@ "members":{ "VerifiedAccessGroup":{ "shape":"VerifiedAccessGroup", - "documentation":"

The ID of the Verified Access group.

", + "documentation":"

Details about the Verified Access group.

", "locationName":"verifiedAccessGroup" } } @@ -17830,7 +17839,7 @@ "members":{ "VerifiedAccessInstance":{ "shape":"VerifiedAccessInstance", - "documentation":"

The ID of the Verified Access instance.

", + "documentation":"

Details about the Verified Access instance.

", "locationName":"verifiedAccessInstance" } } @@ -17859,7 +17868,7 @@ "members":{ "VerifiedAccessTrustProvider":{ "shape":"VerifiedAccessTrustProvider", - "documentation":"

The ID of the Verified Access trust provider.

", + "documentation":"

Details about the Verified Access trust provider.

", "locationName":"verifiedAccessTrustProvider" } } @@ -19385,12 +19394,12 @@ "members":{ "ImageIds":{ "shape":"FastLaunchImageIdList", - "documentation":"

Details for one or more Windows AMI image IDs.

", + "documentation":"

Specify one or more Windows AMI image IDs for the request.

", "locationName":"ImageId" }, "Filters":{ "shape":"FilterList", - "documentation":"

Use the following filters to streamline results.

", + "documentation":"

Use the following filters to streamline results.

", "locationName":"Filter" }, "MaxResults":{ @@ -19432,12 +19441,12 @@ "members":{ "ImageId":{ "shape":"ImageId", - "documentation":"

The image ID that identifies the fast-launch enabled Windows image.

", + "documentation":"

The image ID that identifies the Windows fast launch enabled image.

", "locationName":"imageId" }, "ResourceType":{ "shape":"FastLaunchResourceType", - "documentation":"

The resource type that is used for pre-provisioning the Windows AMI. Supported values include: snapshot.

", + "documentation":"

The resource type that Amazon EC2 uses for pre-provisioning the Windows AMI. Supported values include: snapshot.

", "locationName":"resourceType" }, "SnapshotConfiguration":{ @@ -19447,36 +19456,36 @@ }, "LaunchTemplate":{ "shape":"FastLaunchLaunchTemplateSpecificationResponse", - "documentation":"

The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances from pre-provisioned snapshots.

", + "documentation":"

The launch template that the Windows fast launch enabled AMI uses when it launches Windows instances from pre-provisioned snapshots.

", "locationName":"launchTemplate" }, "MaxParallelLaunches":{ "shape":"Integer", - "documentation":"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching.

", + "documentation":"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

", "locationName":"maxParallelLaunches" }, "OwnerId":{ "shape":"String", - "documentation":"

The owner ID for the fast-launch enabled Windows AMI.

", + "documentation":"

The owner ID for the Windows fast launch enabled AMI.

", "locationName":"ownerId" }, "State":{ "shape":"FastLaunchStateCode", - "documentation":"

The current state of faster launching for the specified Windows AMI.

", + "documentation":"

The current state of Windows fast launch for the specified Windows AMI.

", "locationName":"state" }, "StateTransitionReason":{ "shape":"String", - "documentation":"

The reason that faster launching for the Windows AMI changed to the current state.

", + "documentation":"

The reason that Windows fast launch for the AMI changed to the current state.

", "locationName":"stateTransitionReason" }, "StateTransitionTime":{ "shape":"MillisecondDateTime", - "documentation":"

The time that faster launching for the Windows AMI changed to the current state.

", + "documentation":"

The time that Windows fast launch for the AMI changed to the current state.

", "locationName":"stateTransitionTime" } }, - "documentation":"

Describe details about a fast-launch enabled Windows image that meets the requested criteria. Criteria are defined by the DescribeFastLaunchImages action filters.

" + "documentation":"

Describe details about a Windows image with Windows fast launch enabled that meets the requested criteria. Criteria are defined by the DescribeFastLaunchImages action filters.

" }, "DescribeFastLaunchImagesSuccessSet":{ "type":"list", @@ -20544,6 +20553,66 @@ } } }, + "DescribeInstanceTopologyGroupNameSet":{ + "type":"list", + "member":{"shape":"PlacementGroupName"} + }, + "DescribeInstanceTopologyInstanceIdSet":{ + "type":"list", + "member":{"shape":"InstanceId"} + }, + "DescribeInstanceTopologyMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "DescribeInstanceTopologyRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

" + }, + "MaxResults":{ + "shape":"DescribeInstanceTopologyMaxResults", + "documentation":"

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

You can't specify this parameter and the instance IDs parameter in the same request.

Default: 20

" + }, + "InstanceIds":{ + "shape":"DescribeInstanceTopologyInstanceIdSet", + "documentation":"

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", + "locationName":"InstanceId" + }, + "GroupNames":{ + "shape":"DescribeInstanceTopologyGroupNameSet", + "documentation":"

The name of the placement group that each instance is in.

Constraints: Maximum 100 explicitly specified placement group names.

", + "locationName":"GroupName" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

", + "locationName":"Filter" + } + } + }, + "DescribeInstanceTopologyResult":{ + "type":"structure", + "members":{ + "Instances":{ + "shape":"InstanceSet", + "documentation":"

Information about the topology of each instance.

", + "locationName":"instanceSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

", + "locationName":"nextToken" + } + } + }, "DescribeInstanceTypeOfferingsRequest":{ "type":"structure", "members":{ @@ -23872,7 +23941,7 @@ "members":{ "VerifiedAccessEndpoints":{ "shape":"VerifiedAccessEndpointList", - "documentation":"

The ID of the Verified Access endpoint.

", + "documentation":"

Details about the Verified Access endpoints.

", "locationName":"verifiedAccessEndpointSet" }, "NextToken":{ @@ -23923,7 +23992,7 @@ "members":{ "VerifiedAccessGroups":{ "shape":"VerifiedAccessGroupList", - "documentation":"

The ID of the Verified Access group.

", + "documentation":"

Details about the Verified Access groups.

", "locationName":"verifiedAccessGroupSet" }, "NextToken":{ @@ -23970,7 +24039,7 @@ "members":{ "LoggingConfigurations":{ "shape":"VerifiedAccessInstanceLoggingConfigurationList", - "documentation":"

The current logging configuration for the Verified Access instances.

", + "documentation":"

The logging configuration for the Verified Access instances.

", "locationName":"loggingConfigurationSet" }, "NextToken":{ @@ -24017,7 +24086,7 @@ "members":{ "VerifiedAccessInstances":{ "shape":"VerifiedAccessInstanceList", - "documentation":"

The IDs of the Verified Access instances.

", + "documentation":"

Details about the Verified Access instances.

", "locationName":"verifiedAccessInstanceSet" }, "NextToken":{ @@ -24064,7 +24133,7 @@ "members":{ "VerifiedAccessTrustProviders":{ "shape":"VerifiedAccessTrustProviderList", - "documentation":"

The IDs of the Verified Access trust providers.

", + "documentation":"

Details about the Verified Access trust providers.

", "locationName":"verifiedAccessTrustProviderSet" }, "NextToken":{ @@ -24935,12 +25004,12 @@ "members":{ "VerifiedAccessTrustProvider":{ "shape":"VerifiedAccessTrustProvider", - "documentation":"

The ID of the Verified Access trust provider.

", + "documentation":"

Details about the Verified Access trust provider.

", "locationName":"verifiedAccessTrustProvider" }, "VerifiedAccessInstance":{ "shape":"VerifiedAccessInstance", - "documentation":"

The ID of the Verified Access instance.

", + "documentation":"

Details about the Verified Access instance.

", "locationName":"verifiedAccessInstance" } } @@ -25196,11 +25265,11 @@ "members":{ "ImageId":{ "shape":"ImageId", - "documentation":"

The ID of the image for which you’re turning off faster launching, and removing pre-provisioned snapshots.

" + "documentation":"

Specify the ID of the image for which to disable Windows fast launch.

" }, "Force":{ "shape":"Boolean", - "documentation":"

Forces the image settings to turn off faster launching for your Windows AMI. This parameter overrides any errors that are encountered while cleaning up resources in your account.

" + "documentation":"

Forces the image settings to turn off Windows fast launch for your Windows AMI. This parameter overrides any errors that are encountered while cleaning up resources in your account.

" }, "DryRun":{ "shape":"Boolean", @@ -25213,17 +25282,17 @@ "members":{ "ImageId":{ "shape":"ImageId", - "documentation":"

The ID of the image for which faster-launching has been turned off.

", + "documentation":"

The ID of the image for which Windows fast launch was disabled.

", "locationName":"imageId" }, "ResourceType":{ "shape":"FastLaunchResourceType", - "documentation":"

The pre-provisioning resource type that must be cleaned after turning off faster launching for the Windows AMI. Supported values include: snapshot.

", + "documentation":"

The pre-provisioning resource type that must be cleaned after turning off Windows fast launch for the Windows AMI. Supported values include: snapshot.

", "locationName":"resourceType" }, "SnapshotConfiguration":{ "shape":"FastLaunchSnapshotConfigurationResponse", - "documentation":"

Parameters that were used for faster launching for the Windows AMI before faster launching was turned off. This informs the clean-up process.

", + "documentation":"

Parameters that were used for Windows fast launch for the Windows AMI before Windows fast launch was disabled. This informs the clean-up process.

", "locationName":"snapshotConfiguration" }, "LaunchTemplate":{ @@ -25233,27 +25302,27 @@ }, "MaxParallelLaunches":{ "shape":"Integer", - "documentation":"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching.

", + "documentation":"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

", "locationName":"maxParallelLaunches" }, "OwnerId":{ "shape":"String", - "documentation":"

The owner of the Windows AMI for which faster launching was turned off.

", + "documentation":"

The owner of the Windows AMI for which Windows fast launch was disabled.

", "locationName":"ownerId" }, "State":{ "shape":"FastLaunchStateCode", - "documentation":"

The current state of faster launching for the specified Windows AMI.

", + "documentation":"

The current state of Windows fast launch for the specified Windows AMI.

", "locationName":"state" }, "StateTransitionReason":{ "shape":"String", - "documentation":"

The reason that the state changed for faster launching for the Windows AMI.

", + "documentation":"

The reason that the state changed for Windows fast launch for the Windows AMI.

", "locationName":"stateTransitionReason" }, "StateTransitionTime":{ "shape":"MillisecondDateTime", - "documentation":"

The time that the state changed for faster launching for the Windows AMI.

", + "documentation":"

The time that the state changed for Windows fast launch for the Windows AMI.

", "locationName":"stateTransitionTime" } } @@ -25684,7 +25753,7 @@ "documentation":"

The ID of the Client VPN endpoint from which to disassociate the target network.

" }, "AssociationId":{ - "shape":"ClientVpnAssociationId", + "shape":"String", "documentation":"

The ID of the target network association.

" }, "DryRun":{ @@ -26999,15 +27068,15 @@ "members":{ "ImageId":{ "shape":"ImageId", - "documentation":"

The ID of the image for which you’re enabling faster launching.

" + "documentation":"

Specify the ID of the image for which to enable Windows fast launch.

" }, "ResourceType":{ "shape":"String", - "documentation":"

The type of resource to use for pre-provisioning the Windows AMI for faster launching. Supported values include: snapshot, which is the default value.

" + "documentation":"

The type of resource to use for pre-provisioning the AMI for Windows fast launch. Supported values include: snapshot, which is the default value.

" }, "SnapshotConfiguration":{ "shape":"FastLaunchSnapshotConfigurationRequest", - "documentation":"

Configuration settings for creating and managing the snapshots that are used for pre-provisioning the Windows AMI for faster launching. The associated ResourceType must be snapshot.

" + "documentation":"

Configuration settings for creating and managing the snapshots that are used for pre-provisioning the AMI for Windows fast launch. The associated ResourceType must be snapshot.

" }, "LaunchTemplate":{ "shape":"FastLaunchLaunchTemplateSpecificationRequest", @@ -27015,7 +27084,7 @@ }, "MaxParallelLaunches":{ "shape":"Integer", - "documentation":"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching. Value must be 6 or greater.

" + "documentation":"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch. Value must be 6 or greater.

" }, "DryRun":{ "shape":"Boolean", @@ -27028,12 +27097,12 @@ "members":{ "ImageId":{ "shape":"ImageId", - "documentation":"

The image ID that identifies the Windows AMI for which faster launching was enabled.

", + "documentation":"

The image ID that identifies the AMI for which Windows fast launch was enabled.

", "locationName":"imageId" }, "ResourceType":{ "shape":"FastLaunchResourceType", - "documentation":"

The type of resource that was defined for pre-provisioning the Windows AMI for faster launching.

", + "documentation":"

The type of resource that was defined for pre-provisioning the AMI for Windows fast launch.

", "locationName":"resourceType" }, "SnapshotConfiguration":{ @@ -27048,27 +27117,27 @@ }, "MaxParallelLaunches":{ "shape":"Integer", - "documentation":"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching.

", + "documentation":"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

", "locationName":"maxParallelLaunches" }, "OwnerId":{ "shape":"String", - "documentation":"

The owner ID for the Windows AMI for which faster launching was enabled.

", + "documentation":"

The owner ID for the AMI for which Windows fast launch was enabled.

", "locationName":"ownerId" }, "State":{ "shape":"FastLaunchStateCode", - "documentation":"

The current state of faster launching for the specified Windows AMI.

", + "documentation":"

The current state of Windows fast launch for the specified AMI.

", "locationName":"state" }, "StateTransitionReason":{ "shape":"String", - "documentation":"

The reason that the state changed for faster launching for the Windows AMI.

", + "documentation":"

The reason that the state changed for Windows fast launch for the AMI.

", "locationName":"stateTransitionReason" }, "StateTransitionTime":{ "shape":"MillisecondDateTime", - "documentation":"

The time that the state changed for faster launching for the Windows AMI.

", + "documentation":"

The time that the state changed for Windows fast launch for the AMI.

", "locationName":"stateTransitionTime" } } @@ -28384,39 +28453,39 @@ "members":{ "LaunchTemplateId":{ "shape":"LaunchTemplateId", - "documentation":"

The ID of the launch template to use for faster launching for a Windows AMI.

" + "documentation":"

Specify the ID of the launch template that the AMI should use for Windows fast launch.

" }, "LaunchTemplateName":{ "shape":"String", - "documentation":"

The name of the launch template to use for faster launching for a Windows AMI.

" + "documentation":"

Specify the name of the launch template that the AMI should use for Windows fast launch.

" }, "Version":{ "shape":"String", - "documentation":"

The version of the launch template to use for faster launching for a Windows AMI.

" + "documentation":"

Specify the version of the launch template that the AMI should use for Windows fast launch.

" } }, - "documentation":"

Request to create a launch template for a fast-launch enabled Windows AMI.

Note - You can specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

" + "documentation":"

Request to create a launch template for a Windows fast launch enabled AMI.

Note - You can specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

" }, "FastLaunchLaunchTemplateSpecificationResponse":{ "type":"structure", "members":{ "LaunchTemplateId":{ "shape":"LaunchTemplateId", - "documentation":"

The ID of the launch template for faster launching of the associated Windows AMI.

", + "documentation":"

The ID of the launch template that the AMI uses for Windows fast launch.

", "locationName":"launchTemplateId" }, "LaunchTemplateName":{ "shape":"String", - "documentation":"

The name of the launch template for faster launching of the associated Windows AMI.

", + "documentation":"

The name of the launch template that the AMI uses for Windows fast launch.

", "locationName":"launchTemplateName" }, "Version":{ "shape":"String", - "documentation":"

The version of the launch template for faster launching of the associated Windows AMI.

", + "documentation":"

The version of the launch template that the AMI uses for Windows fast launch.

", "locationName":"version" } }, - "documentation":"

Identifies the launch template to use for faster launching of the Windows AMI.

" + "documentation":"

Identifies the launch template that the AMI uses for Windows fast launch.

" }, "FastLaunchResourceType":{ "type":"string", @@ -28427,21 +28496,21 @@ "members":{ "TargetResourceCount":{ "shape":"Integer", - "documentation":"

The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.

" + "documentation":"

The number of pre-provisioned snapshots to keep on hand for a Windows fast launch enabled AMI.

" } }, - "documentation":"

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

" + "documentation":"

Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch enabled AMI.

" }, "FastLaunchSnapshotConfigurationResponse":{ "type":"structure", "members":{ "TargetResourceCount":{ "shape":"Integer", - "documentation":"

The number of pre-provisioned snapshots requested to keep on hand for a fast-launch enabled Windows AMI.

", + "documentation":"

The number of pre-provisioned snapshots requested to keep on hand for a Windows fast launch enabled AMI.

", "locationName":"targetResourceCount" } }, - "documentation":"

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

" + "documentation":"

Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch enabled Windows AMI.

" }, "FastLaunchStateCode":{ "type":"string", @@ -29721,6 +29790,11 @@ "shape":"String", "documentation":"

The ID of the local gateway route table.

", "locationName":"localGatewayRouteTableId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" } } }, @@ -34979,6 +35053,13 @@ }, "documentation":"

The architecture type, virtualization type, and other attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirementsWithMetadataRequest, you can't specify InstanceTypes.

" }, + "InstanceSet":{ + "type":"list", + "member":{ + "shape":"InstanceTopology", + "locationName":"item" + } + }, "InstanceSpecification":{ "type":"structure", "required":["InstanceId"], @@ -35246,6 +35327,42 @@ }, "documentation":"

Describes the registered tag keys for the current Region.

" }, + "InstanceTopology":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The instance ID.

", + "locationName":"instanceId" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the placement group that the instance is in.

", + "locationName":"groupName" + }, + "NetworkNodes":{ + "shape":"NetworkNodesList", + "documentation":"

The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same droplet will return a different hashed list of strings.

", + "locationName":"networkNodeSet" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The name of the Availability Zone or Local Zone that the instance is in.

", + "locationName":"availabilityZone" + }, + "ZoneId":{ + "shape":"String", + "documentation":"

The ID of the Availability Zone or Local Zone that the instance is in.

", + "locationName":"zoneId" + } + }, + "documentation":"

Information about the instance topology.

" + }, "InstanceType":{ "type":"string", "enum":[ @@ -42123,7 +42240,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationRequest", - "documentation":"

Options for server side encryption.

" + "documentation":"

The options for server side encryption.

" } } }, @@ -42142,7 +42259,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationResponse", - "documentation":"

Describes the options in use for server side encryption.

", + "documentation":"

The options in use for server side encryption.

", "locationName":"sseSpecification" } } @@ -42187,7 +42304,7 @@ "members":{ "VerifiedAccessEndpoint":{ "shape":"VerifiedAccessEndpoint", - "documentation":"

The Verified Access endpoint details.

", + "documentation":"

Details about the Verified Access endpoint.

", "locationName":"verifiedAccessEndpoint" } } @@ -42226,7 +42343,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationRequest", - "documentation":"

Options for server side encryption.

" + "documentation":"

The options for server side encryption.

" } } }, @@ -42245,7 +42362,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationResponse", - "documentation":"

Describes the options in use for server side encryption.

", + "documentation":"

The options in use for server side encryption.

", "locationName":"sseSpecification" } } @@ -42282,7 +42399,7 @@ "members":{ "VerifiedAccessGroup":{ "shape":"VerifiedAccessGroup", - "documentation":"

Details of Verified Access group.

", + "documentation":"

Details about the Verified Access group.

", "locationName":"verifiedAccessGroup" } } @@ -42351,7 +42468,7 @@ "members":{ "VerifiedAccessInstance":{ "shape":"VerifiedAccessInstance", - "documentation":"

The ID of the Verified Access instance.

", + "documentation":"

Details about the Verified Access instance.

", "locationName":"verifiedAccessInstance" } } @@ -42417,7 +42534,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationRequest", - "documentation":"

Options for server side encryption.

" + "documentation":"

The options for server side encryption.

" } } }, @@ -42426,7 +42543,7 @@ "members":{ "VerifiedAccessTrustProvider":{ "shape":"VerifiedAccessTrustProvider", - "documentation":"

The ID of the Verified Access trust provider.

", + "documentation":"

Details about the Verified Access trust provider.

", "locationName":"verifiedAccessTrustProvider" } } @@ -42963,7 +43080,7 @@ }, "SkipTunnelReplacement":{ "shape":"Boolean", - "documentation":"

Choose whether or not to trigger immediate tunnel replacement.

Valid values: True | False

" + "documentation":"

Choose whether or not to trigger immediate tunnel replacement. This is only applicable when turning on or off EnableTunnelLifecycleControl.

Valid values: True | False

" } } }, @@ -43014,7 +43131,7 @@ }, "DPDTimeoutSeconds":{ "shape":"Integer", - "documentation":"

The number of seconds after which a DPD timeout occurs.

Constraints: A value greater than or equal to 30.

Default: 30

" + "documentation":"

The number of seconds after which a DPD timeout occurs. A DPD timeout of 40 seconds means that the VPN endpoint will consider the peer dead 30 seconds after the first failed keep-alive.

Constraints: A value greater than or equal to 30.

Default: 40

" }, "DPDTimeoutAction":{ "shape":"String", @@ -44471,6 +44588,13 @@ "aws_codestar_connections_managed" ] }, + "NetworkNodesList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, "NetworkPerformance":{"type":"string"}, "NewDhcpConfiguration":{ "type":"structure", @@ -56869,7 +56993,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationResponse", - "documentation":"

Describes the options in use for server side encryption.

", + "documentation":"

The options in use for server side encryption.

", "locationName":"sseSpecification" } }, @@ -57043,7 +57167,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationResponse", - "documentation":"

Describes the options in use for server side encryption.

", + "documentation":"

The options in use for server side encryption.

", "locationName":"sseSpecification" } }, @@ -57099,7 +57223,7 @@ }, "FipsEnabled":{ "shape":"Boolean", - "documentation":"

Describes whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.

", + "documentation":"

Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.

", "locationName":"fipsEnabled" } }, @@ -57255,11 +57379,11 @@ }, "LogVersion":{ "shape":"String", - "documentation":"

The logging version to use.

Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2

" + "documentation":"

The logging version.

Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2

" }, "IncludeTrustContext":{ "shape":"Boolean", - "documentation":"

Include trust data sent by trust providers into the logs.

" + "documentation":"

Indicates whether to include trust data sent by trust providers in the logs.

" } }, "documentation":"

Options for Verified Access logs.

" @@ -57338,12 +57462,12 @@ }, "LogVersion":{ "shape":"String", - "documentation":"

Describes current setting for the logging version.

", + "documentation":"

The log version.

", "locationName":"logVersion" }, "IncludeTrustContext":{ "shape":"Boolean", - "documentation":"

Describes current setting for including trust data into the logs.

", + "documentation":"

Indicates whether trust data is included in the logs.

", "locationName":"includeTrustContext" } }, @@ -57368,16 +57492,16 @@ "members":{ "CustomerManagedKeyEnabled":{ "shape":"Boolean", - "documentation":"

Describes the use of customer managed KMS keys for server side encryption.

Valid values: True | False

", + "documentation":"

Indicates whether customer managed KMS keys are in use for server side encryption.

Valid values: True | False

", "locationName":"customerManagedKeyEnabled" }, "KmsKeyArn":{ "shape":"KmsKeyArn", - "documentation":"

Describes the ARN of the KMS key.

", + "documentation":"

The ARN of the KMS key.

", "locationName":"kmsKeyArn" } }, - "documentation":"

Describes the options in use for server side encryption.

" + "documentation":"

The options in use for server side encryption.

" }, "VerifiedAccessTrustProvider":{ "type":"structure", @@ -57439,7 +57563,7 @@ }, "SseSpecification":{ "shape":"VerifiedAccessSseSpecificationResponse", - "documentation":"

Describes the options in use for server side encryption.

", + "documentation":"

The options in use for server side encryption.

", "locationName":"sseSpecification" } }, @@ -57520,7 +57644,7 @@ }, "LastStatusChange":{ "shape":"DateTime", - "documentation":"

The date and time of the last change in status.

", + "documentation":"

The date and time of the last change in status. This field is updated when changes in IKE (Phase 1), IPSec (Phase 2), or BGP status are detected.

", "locationName":"lastStatusChange" }, "OutsideIpAddress":{ diff --git a/botocore/data/ecs/2014-11-13/service-2.json b/botocore/data/ecs/2014-11-13/service-2.json index 4ab8e6235d..173c6e8596 100644 --- a/botocore/data/ecs/2014-11-13/service-2.json +++ b/botocore/data/ecs/2014-11-13/service-2.json @@ -670,7 +670,8 @@ {"shape":"PlatformUnknownException"}, {"shape":"PlatformTaskDefinitionIncompatibilityException"}, {"shape":"AccessDeniedException"}, - {"shape":"BlockedException"} + {"shape":"BlockedException"}, + {"shape":"ConflictException"} ], "documentation":"

Starts a new task using the specified task definition.

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

To manage eventual consistency, you can do the following:

" }, @@ -1251,7 +1252,7 @@ "members":{ "message":{"shape":"String"} }, - "documentation":"

These errors are usually caused by a client action. This client action might be using an action or resource on behalf of a user that doesn't have permissions to use the action or resource,. Or, it might be specifying an identifier that isn't valid.

", + "documentation":"

These errors are usually caused by a client action. This client action might be using an action or resource on behalf of a user that doesn't have permissions to use the action or resource. Or, it might be specifying an identifier that isn't valid.

", "exception":true }, "Cluster":{ @@ -1435,6 +1436,17 @@ "type":"list", "member":{"shape":"Compatibility"} }, + "ConflictException":{ + "type":"structure", + "members":{ + "resourceIds":{ + "shape":"ResourceIds", + "documentation":"

The existing task ARNs which are already associated with the clientToken.

" + } + }, + "documentation":"

The RunTask request could not be processed due to conflicts. The provided clientToken is already in use with a different RunTask request. The resourceIds are the existing task ARNs which are already associated with the clientToken.

To fix this issue:

", + "exception":true + }, "Connectivity":{ "type":"string", "enum":[ @@ -2020,7 +2032,7 @@ }, "clientToken":{ "shape":"String", - "documentation":"

An identifier that you provide to ensure the idempotency of the request. It must be unique and is case sensitive. Up to 32 ASCII characters are allowed.

" + "documentation":"

An identifier that you provide to ensure the idempotency of the request. It must be unique and is case sensitive. Up to 36 ASCII characters in the range of 33-126 (inclusive) are allowed.

" }, "launchType":{ "shape":"LaunchType", @@ -2151,7 +2163,7 @@ }, "clientToken":{ "shape":"String", - "documentation":"

The identifier that you provide to ensure the idempotency of the request. It's case sensitive and must be unique. It can be up to 32 ASCII characters are allowed.

" + "documentation":"

An identifier that you provide to ensure the idempotency of the request. It must be unique and is case sensitive. Up to 36 ASCII characters in the range of 33-126 (inclusive) are allowed.

" }, "tags":{ "shape":"Tags", @@ -4234,7 +4246,7 @@ }, "protocol":{ "shape":"TransportProtocol", - "documentation":"

The protocol used for the port mapping. Valid values are tcp and udp. The default is tcp.

" + "documentation":"

The protocol used for the port mapping. Valid values are tcp and udp. The default is tcp. protocol is immutable in a Service Connect service. Updating this field requires a service deletion and redeployment.

" }, "name":{ "shape":"String", @@ -4242,7 +4254,7 @@ }, "appProtocol":{ "shape":"ApplicationProtocol", - "documentation":"

The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We recommend that you set this parameter to be consistent with the protocol that your application uses. If you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch.

If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific telemetry for TCP.

Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We recommend that you set this parameter to be consistent with the protocol that your application uses. If you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch.

If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific telemetry for TCP.

appProtocol is immutable in a Service Connect service. Updating this field requires a service deletion and redeployment.

Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" }, "containerPortRange":{ "shape":"String", @@ -4613,6 +4625,10 @@ }, "documentation":"

Describes the resources available for a container instance.

" }, + "ResourceIds":{ + "type":"list", + "member":{"shape":"String"} + }, "ResourceInUseException":{ "type":"structure", "members":{ @@ -4722,7 +4738,7 @@ }, "startedBy":{ "shape":"String", - "documentation":"

An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) are allowed.

If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" + "documentation":"

An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 128 letters (uppercase and lowercase), numbers, hyphens (-), and underscores (_) are allowed.

If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" }, "tags":{ "shape":"Tags", @@ -4731,6 +4747,11 @@ "taskDefinition":{ "shape":"String", "documentation":"

The family and revision (family:revision) or full ARN of the task definition to run. If a revision isn't specified, the latest ACTIVE revision is used.

When you create a policy for run-task, you can set the resource to be the latest task definition revision, or a specific revision.

The full ARN value must match the value that you specified as the Resource of the principal's permissions policy.

When you specify the policy resource as the latest task definition version (by setting the Resource in the policy to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName), then set this value to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName.

When you specify the policy resource as a specific task definition version (by setting the Resource in the policy to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1 or arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*), then set this value to arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1.

For more information, see Policy Resources for Amazon ECS in the Amazon Elastic Container Service developer Guide.

" + }, + "clientToken":{ + "shape":"String", + "documentation":"

An identifier that you provide to ensure the idempotency of the request. It must be unique and is case sensitive. Up to 64 characters are allowed. The valid characters are characters in the range of 33-126, inclusive. For more information, see Ensuring idempotency.

", + "idempotencyToken":true } } }, @@ -4739,7 +4760,7 @@ "members":{ "tasks":{ "shape":"Tasks", - "documentation":"

A full description of the tasks that were run. The tasks that were successfully placed on your cluster are described here.

" + "documentation":"

A full description of the tasks that were run. The tasks that were successfully placed on your cluster are described here.

" }, "failures":{ "shape":"Failures", diff --git a/botocore/data/emr/2009-03-31/service-2.json b/botocore/data/emr/2009-03-31/service-2.json index 9f3e12d757..a176592962 100644 --- a/botocore/data/emr/2009-03-31/service-2.json +++ b/botocore/data/emr/2009-03-31/service-2.json @@ -2166,10 +2166,7 @@ }, "GetClusterSessionCredentialsInput":{ "type":"structure", - "required":[ - "ClusterId", - "ExecutionRoleArn" - ], + "required":["ClusterId"], "members":{ "ClusterId":{ "shape":"XmlStringMaxLen256", diff --git a/botocore/data/endpoints.json b/botocore/data/endpoints.json index 1e5bf3a76a..8b0a4bf6d3 100644 --- a/botocore/data/endpoints.json +++ b/botocore/data/endpoints.json @@ -3358,7 +3358,9 @@ "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ca-central-1" : { @@ -3409,6 +3411,7 @@ "deprecated" : true, "hostname" : "codepipeline-fips.us-west-2.amazonaws.com" }, + "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { diff --git a/botocore/data/servicecatalog-appregistry/2020-06-24/endpoint-rule-set-1.json b/botocore/data/servicecatalog-appregistry/2020-06-24/endpoint-rule-set-1.json index f805660d6a..cc96433190 100644 --- a/botocore/data/servicecatalog-appregistry/2020-06-24/endpoint-rule-set-1.json +++ b/botocore/data/servicecatalog-appregistry/2020-06-24/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -256,14 +252,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -277,7 +275,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -297,7 +294,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -308,14 +304,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -326,9 +324,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/botocore/data/servicecatalog-appregistry/2020-06-24/service-2.json b/botocore/data/servicecatalog-appregistry/2020-06-24/service-2.json index e4fc56da99..c53f67e9f7 100644 --- a/botocore/data/servicecatalog-appregistry/2020-06-24/service-2.json +++ b/botocore/data/servicecatalog-appregistry/2020-06-24/service-2.json @@ -46,7 +46,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Associates a resource with an application. The resource can be specified by its ARN or name. The application can be specified by ARN, ID, or name.

" + "documentation":"

Associates a resource with an application. The resource can be specified by its ARN or name. The application can be specified by ARN, ID, or name.

Minimum permissions

You must have the following permissions to associate a resource using the OPTIONS parameter set to APPLY_APPLICATION_TAG.

You must also have these additional permissions if you don't use the AWSServiceCatalogAppRegistryFullAccess policy. For more information, see AWSServiceCatalogAppRegistryFullAccess in the AppRegistry Administrator Guide.

In addition, you must have the tagging permission defined by the Amazon Web Services service that creates the resource. For more information, see TagResources in the Resource Groups Tagging API Reference.

" }, "CreateApplication":{ "name":"CreateApplication", @@ -142,7 +142,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

Disassociates a resource from application. Both the resource and the application can be specified either by ID or name.

" + "documentation":"

Disassociates a resource from application. Both the resource and the application can be specified either by ID or name.

Minimum permissions

You must have the following permissions to remove a resource that's been associated with an application using the APPLY_APPLICATION_TAG option for AssociateResource.

You must also have the following permissions if you don't use the AWSServiceCatalogAppRegistryFullAccess policy. For more information, see AWSServiceCatalogAppRegistryFullAccess in the AppRegistry Administrator Guide.

In addition, you must have the tagging permission defined by the Amazon Web Services service that creates the resource. For more information, see UntagResources in the Resource Groups Tagging API Reference.

" }, "GetApplication":{ "name":"GetApplication", @@ -433,6 +433,10 @@ "tags":{ "shape":"Tags", "documentation":"

Key-value pairs you can use to associate with the application.

" + }, + "applicationTag":{ + "shape":"ApplicationTagDefinition", + "documentation":"

A key-value pair that identifies an associated resource.

" } }, "documentation":"

Represents a Amazon Web Services Service Catalog AppRegistry application that is the top-level node in a hierarchy of related cloud resource abstractions.

" @@ -487,6 +491,41 @@ }, "documentation":"

Summary of a Amazon Web Services Service Catalog AppRegistry application.

" }, + "ApplicationTagDefinition":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "ApplicationTagResult":{ + "type":"structure", + "members":{ + "applicationTagStatus":{ + "shape":"ApplicationTagStatus", + "documentation":"

The application tag is in the process of being applied to a resource, was successfully applied to a resource, or failed to apply to a resource.

" + }, + "errorMessage":{ + "shape":"String", + "documentation":"

The message returned if the call fails.

" + }, + "resources":{ + "shape":"ResourcesList", + "documentation":"

The resources associated with an application

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A unique pagination token for each page of results. Make the call again with the returned token to retrieve the next page of results.

" + } + }, + "documentation":"

The result of the application tag that's applied to a resource.

" + }, + "ApplicationTagStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCESS", + "FAILURE" + ] + }, "Arn":{ "type":"string", "max":1600, @@ -552,6 +591,10 @@ "documentation":"

The name or ID of the resource of which the application will be associated.

", "location":"uri", "locationName":"resource" + }, + "options":{ + "shape":"Options", + "documentation":"

Determines whether an application tag is applied or skipped.

" } } }, @@ -565,6 +608,10 @@ "resourceArn":{ "shape":"Arn", "documentation":"

The Amazon resource name (ARN) that specifies the resource.

" + }, + "options":{ + "shape":"Options", + "documentation":"

Determines whether an application tag is applied or skipped.

" } } }, @@ -572,6 +619,13 @@ "type":"integer", "min":0 }, + "AssociationOption":{ + "type":"string", + "enum":[ + "APPLY_APPLICATION_TAG", + "SKIP_APPLICATION_TAG" + ] + }, "AttributeGroup":{ "type":"structure", "members":{ @@ -623,9 +677,7 @@ }, "name":{ "shape":"Name", - "documentation":"

This field is no longer supported. We recommend you don't use the field when using ListAttributeGroupsForApplication.

The name of the attribute group.

", - "deprecated":true, - "deprecatedMessage":"This field is deprecated. We recommend not using the field when using ListAttributeGroupsForApplication." + "documentation":"

This field is no longer supported. We recommend you don't use the field when using ListAttributeGroupsForApplication.

The name of the attribute group.

" }, "createdBy":{ "shape":"CreatedBy", @@ -965,9 +1017,19 @@ "integrations":{ "shape":"Integrations", "documentation":"

The information about the integration of the application with other services, such as Resource Groups.

" + }, + "applicationTag":{ + "shape":"ApplicationTagDefinition", + "documentation":"

A key-value pair that identifies an associated resource.

" } } }, + "GetAssociatedResourceFilter":{ + "type":"list", + "member":{"shape":"ResourceItemStatus"}, + "max":4, + "min":1 + }, "GetAssociatedResourceRequest":{ "type":"structure", "required":[ @@ -993,6 +1055,25 @@ "documentation":"

The name or ID of the resource associated with the application.

", "location":"uri", "locationName":"resource" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A unique pagination token for each page of results. Make the call again with the returned token to retrieve the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "resourceTagStatus":{ + "shape":"GetAssociatedResourceFilter", + "documentation":"

States whether an application tag is applied, not applied, in the process of being applied, or skipped.

", + "location":"querystring", + "locationName":"resourceTagStatus" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return. If the parameter is omitted, it defaults to 25. The value is optional.

", + "box":true, + "location":"querystring", + "locationName":"maxResults" } } }, @@ -1002,6 +1083,14 @@ "resource":{ "shape":"Resource", "documentation":"

The resource associated with the application.

" + }, + "options":{ + "shape":"Options", + "documentation":"

Determines whether an application tag is applied or skipped.

" + }, + "applicationTagResult":{ + "shape":"ApplicationTagResult", + "documentation":"

The result of the application that's tag applied to a resource.

" } } }, @@ -1073,7 +1162,8 @@ "resourceGroup":{ "shape":"ResourceGroup", "documentation":"

The information about the resource group integration.

" - } + }, + "applicationTagResourceGroup":{"shape":"ResourceGroup"} }, "documentation":"

The information about the service integration.

" }, @@ -1301,6 +1391,10 @@ "min":1, "pattern":"[A-Za-z0-9+/=]+" }, + "Options":{ + "type":"list", + "member":{"shape":"AssociationOption"} + }, "PutConfigurationRequest":{ "type":"structure", "required":["configuration"], @@ -1319,7 +1413,7 @@ "documentation":"

The name of the resource.

" }, "arn":{ - "shape":"StackArn", + "shape":"Arn", "documentation":"

The Amazon resource name (ARN) of the resource.

" }, "associationTime":{ @@ -1390,6 +1484,10 @@ "resourceDetails":{ "shape":"ResourceDetails", "documentation":"

The details related to the resource.

" + }, + "options":{ + "shape":"Options", + "documentation":"

Determines whether an application tag is applied or skipped.

" } }, "documentation":"

The information about the resource.

" @@ -1404,6 +1502,19 @@ }, "documentation":"

The service integration information about the resource.

" }, + "ResourceItemStatus":{ + "type":"string", + "enum":[ + "SUCCESS", + "FAILED", + "IN_PROGRESS", + "SKIPPED" + ] + }, + "ResourceItemType":{ + "type":"string", + "pattern":"AWS::[a-zA-Z0-9]+::\\w+" + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -1430,6 +1541,37 @@ "type":"list", "member":{"shape":"ResourceInfo"} }, + "ResourcesList":{ + "type":"list", + "member":{"shape":"ResourcesListItem"} + }, + "ResourcesListItem":{ + "type":"structure", + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon resource name (ARN) of the resource.

" + }, + "errorMessage":{ + "shape":"ResourcesListItemErrorMessage", + "documentation":"

The message returned if the call fails.

" + }, + "status":{ + "shape":"String", + "documentation":"

The status of the list item.

" + }, + "resourceType":{ + "shape":"ResourceItemType", + "documentation":"

Provides information about the AppRegistry resource type.

" + } + }, + "documentation":"

The resource in a list of resources.

" + }, + "ResourcesListItemErrorMessage":{ + "type":"string", + "max":1024, + "min":1 + }, "ServiceQuotaExceededException":{ "type":"structure", "members":{ @@ -1439,10 +1581,6 @@ "error":{"httpStatusCode":402}, "exception":true }, - "StackArn":{ - "type":"string", - "pattern":"arn:aws[-a-z]*:cloudformation:[a-z]{2}(-gov)?-[a-z]+-\\d:\\d{12}:stack/[a-zA-Z][-A-Za-z0-9]{0,127}/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}" - }, "String":{"type":"string"}, "SyncAction":{ "type":"string", @@ -1493,7 +1631,7 @@ "type":"string", "max":128, "min":1, - "pattern":"[a-zA-Z+-=._:/]+" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)$" }, "TagKeyConfig":{ "type":"string", diff --git a/botocore/parsers.py b/botocore/parsers.py index 09e362b85a..3905757c85 100644 --- a/botocore/parsers.py +++ b/botocore/parsers.py @@ -701,26 +701,37 @@ def _do_error_parse(self, response, shape): # if the message did not contain an error code # include the response status code response_code = response.get('status_code') - # Error response may contain an x-amzn-query-error header for json - # we need to fetch the error code from this header in that case - query_error = headers.get('x-amzn-query-error', '') - query_error_components = query_error.split(';') - code = None - if len(query_error_components) == 2 and query_error_components[0]: - code = query_error_components[0] - error['Error']['Type'] = query_error_components[1] - if code is None: - code = body.get('__type', response_code and str(response_code)) + + code = body.get('__type', response_code and str(response_code)) if code is not None: # code has a couple forms as well: # * "com.aws.dynamodb.vAPI#ProvisionedThroughputExceededException" # * "ResourceNotFoundException" if '#' in code: code = code.rsplit('#', 1)[1] + if 'x-amzn-query-error' in headers: + code = self._do_query_compatible_error_parse( + code, headers, error + ) error['Error']['Code'] = code self._inject_response_metadata(error, response['headers']) return error + def _do_query_compatible_error_parse(self, code, headers, error): + """ + Error response may contain an x-amzn-query-error header to translate + errors codes from former `query` services into `json`. We use this to + do our lookup in the errorfactory for modeled errors. + """ + query_error = headers['x-amzn-query-error'] + query_error_components = query_error.split(';') + + if len(query_error_components) == 2 and query_error_components[0]: + error['Error']['QueryErrorCode'] = code + error['Error']['Type'] = query_error_components[1] + return query_error_components[0] + return code + def _inject_response_metadata(self, parsed, headers): if 'x-amzn-requestid' in headers: parsed.setdefault('ResponseMetadata', {})['RequestId'] = headers[ diff --git a/docs/source/conf.py b/docs/source/conf.py index 6192715dcc..4b409ee7ef 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -59,7 +59,7 @@ # The short X.Y version. version = '1.31.' # The full version, including alpha/beta/rc tags. -release = '1.31.84' +release = '1.31.85' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/setup.cfg b/setup.cfg index b59b215755..ce767bb76b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,7 +9,7 @@ requires_dist = urllib3>=1.25.4,<2.1; python_version>="3.10" [options.extras_require] -crt = awscrt==0.19.10 +crt = awscrt==0.19.12 [flake8] ignore = E203,E226,E501,E731,W503,W504 diff --git a/setup.py b/setup.py index cbf9525a30..2cb4d76dc6 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ def find_version(*file_paths): ] extras_require = { - 'crt': ['awscrt==0.19.10'], + 'crt': ['awscrt==0.19.12'], } setup( diff --git a/tests/functional/endpoint-rules/servicecatalog-appregistry/endpoint-tests-1.json b/tests/functional/endpoint-rules/servicecatalog-appregistry/endpoint-tests-1.json index b38c5782e7..39bcc0acd0 100644 --- a/tests/functional/endpoint-rules/servicecatalog-appregistry/endpoint-tests-1.json +++ b/tests/functional/endpoint-rules/servicecatalog-appregistry/endpoint-tests-1.json @@ -646,6 +646,17 @@ "expect": { "error": "Invalid Configuration: Missing Region" } + }, + { + "documentation": "Partition doesn't support DualStack", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } } ], "version": "1.0" diff --git a/tests/functional/test_sqs.py b/tests/functional/test_sqs.py new file mode 100644 index 0000000000..bde70c86ed --- /dev/null +++ b/tests/functional/test_sqs.py @@ -0,0 +1,48 @@ +# Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. + +import pytest + +from tests import BaseSessionTest, ClientHTTPStubber + + +class BaseSQSOperationTest(BaseSessionTest): + def setUp(self): + super().setUp() + self.region = "us-west-2" + self.client = self.session.create_client("sqs", self.region) + self.http_stubber = ClientHTTPStubber(self.client) + + +class SQSQueryCompatibleTest(BaseSQSOperationTest): + def test_query_compatible_error_parsing(self): + """When migrating SQS from the ``query`` protocol to ``json``, + we unintentionally moved from modeled errors to a general ``ClientError``. + This ensures we're not silently regressing that behavior. + """ + + error_body = ( + b'{"__type":"com.amazonaws.sqs#QueueDoesNotExist",' + b'"message":"The specified queue does not exist."}' + ) + error_headers = { + "x-amzn-query-error": "AWS.SimpleQueueService.NonExistentQueue;Sender", + } + with self.http_stubber as stub: + stub.add_response( + status=400, body=error_body, headers=error_headers + ) + with pytest.raises(self.client.exceptions.QueueDoesNotExist): + self.client.delete_queue( + QueueUrl="not-a-real-queue-botocore", + ) diff --git a/tests/unit/test_parsers.py b/tests/unit/test_parsers.py index d5f55a29e7..979a542f34 100644 --- a/tests/unit/test_parsers.py +++ b/tests/unit/test_parsers.py @@ -1133,6 +1133,9 @@ def test_response_with_query_error_for_json_protocol(self): self.assertEqual( parsed['Error']['Code'], 'AWS.SimpleQueueService.NonExistentQueue' ) + self.assertEqual( + parsed['Error']['QueryErrorCode'], "ValidationException" + ) self.assertEqual(parsed['Error']['Type'], 'Sender') def test_response_with_invalid_query_error_for_json_protocol(self): @@ -1155,6 +1158,7 @@ def test_response_with_invalid_query_error_for_json_protocol(self): self.assertIn('Error', parsed) self.assertEqual(parsed['Error']['Message'], 'this is a message') self.assertEqual(parsed['Error']['Code'], 'ValidationException') + self.assertNotIn('QueryErrorCode', parsed['Error']) self.assertNotIn('Type', parsed['Error']) def test_response_with_incomplete_query_error_for_json_protocol(self): @@ -1177,6 +1181,7 @@ def test_response_with_incomplete_query_error_for_json_protocol(self): self.assertIn('Error', parsed) self.assertEqual(parsed['Error']['Message'], 'this is a message') self.assertEqual(parsed['Error']['Code'], 'ValidationException') + self.assertNotIn('QueryErrorCode', parsed['Error']) self.assertNotIn('Type', parsed['Error']) def test_response_with_empty_query_errors_for_json_protocol(self): @@ -1199,6 +1204,7 @@ def test_response_with_empty_query_errors_for_json_protocol(self): self.assertIn('Error', parsed) self.assertEqual(parsed['Error']['Message'], 'this is a message') self.assertEqual(parsed['Error']['Code'], 'ValidationException') + self.assertNotIn('QueryErrorCode', parsed['Error']) self.assertNotIn('Type', parsed['Error']) def test_parse_error_response_for_query_protocol(self):