From 83cf2e68ba94c086cd84cd274f86b37464446773 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Fri, 22 Apr 2022 11:30:00 -0700 Subject: [PATCH] Release v1.43.45 (2022-04-22) (#4371) Release v1.43.45 (2022-04-22) === ### Service Client Updates * `service/chime-sdk-meetings`: Updates service API and documentation * `service/ec2`: Updates service API, documentation, and waiters * Adds support for waiters that automatically poll for a deleted NAT Gateway until it reaches the deleted state. --- CHANGELOG.md | 8 + aws/version.go | 2 +- .../chime-sdk-meetings/2021-07-15/api-2.json | 86 +++++- .../chime-sdk-meetings/2021-07-15/docs-2.json | 16 + models/apis/ec2/2016-11-15/api-2.json | 6 +- models/apis/ec2/2016-11-15/docs-2.json | 31 +- models/apis/ec2/2016-11-15/waiters-2.json | 18 ++ service/chimesdkmeetings/api.go | 286 ++++++++++++++++-- service/chimesdkmeetings/errors.go | 14 + service/ec2/api.go | 55 +++- service/ec2/ec2iface/interface.go | 3 + service/ec2/waiters.go | 51 ++++ 12 files changed, 514 insertions(+), 62 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3766ffff3a..4b29f005b1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +Release v1.43.45 (2022-04-22) +=== + +### Service Client Updates +* `service/chime-sdk-meetings`: Updates service API and documentation +* `service/ec2`: Updates service API, documentation, and waiters + * Adds support for waiters that automatically poll for a deleted NAT Gateway until it reaches the deleted state. + Release v1.43.44 (2022-04-21) === diff --git a/aws/version.go b/aws/version.go index b51e918c511..49893b39413 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.43.44" +const SDKVersion = "1.43.45" diff --git a/models/apis/chime-sdk-meetings/2021-07-15/api-2.json b/models/apis/chime-sdk-meetings/2021-07-15/api-2.json index bace9cbc5c4..626c6d49438 100644 --- a/models/apis/chime-sdk-meetings/2021-07-15/api-2.json +++ b/models/apis/chime-sdk-meetings/2021-07-15/api-2.json @@ -21,11 +21,14 @@ "output":{"shape":"BatchCreateAttendeeResponse"}, "errors":[ {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, + {"shape":"UnprocessableEntityException"}, + {"shape":"LimitExceededException"}, {"shape":"ServiceUnavailableException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"LimitExceededException"} + {"shape":"ServiceFailureException"}, + {"shape":"ThrottlingException"} ] }, "CreateAttendee":{ @@ -39,11 +42,13 @@ "errors":[ {"shape":"BadRequestException"}, {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, {"shape":"UnprocessableEntityException"}, + {"shape":"LimitExceededException"}, {"shape":"ServiceUnavailableException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"} + {"shape":"ServiceFailureException"}, + {"shape":"ThrottlingException"} ] }, "CreateMeeting":{ @@ -56,8 +61,11 @@ "output":{"shape":"CreateMeetingResponse"}, "errors":[ {"shape":"BadRequestException"}, - {"shape":"ServiceUnavailableException"}, + {"shape":"ForbiddenException"}, {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ServiceUnavailableException"}, {"shape":"LimitExceededException"} ] }, @@ -71,8 +79,11 @@ "output":{"shape":"CreateMeetingWithAttendeesResponse"}, "errors":[ {"shape":"BadRequestException"}, - {"shape":"ServiceUnavailableException"}, + {"shape":"ForbiddenException"}, {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ServiceUnavailableException"}, {"shape":"LimitExceededException"} ] }, @@ -85,8 +96,13 @@ }, "input":{"shape":"DeleteAttendeeRequest"}, "errors":[ + {"shape":"BadRequestException"}, {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ThrottlingException"} ] }, "DeleteMeeting":{ @@ -99,7 +115,12 @@ "input":{"shape":"DeleteMeetingRequest"}, "errors":[ {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"} + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ThrottlingException"} ] }, "GetAttendee":{ @@ -112,8 +133,12 @@ "output":{"shape":"GetAttendeeResponse"}, "errors":[ {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"} + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ThrottlingException"} ] }, "GetMeeting":{ @@ -127,7 +152,11 @@ "errors":[ {"shape":"NotFoundException"}, {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"} + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ThrottlingException"} ] }, "ListAttendees":{ @@ -141,8 +170,12 @@ "output":{"shape":"ListAttendeesResponse"}, "errors":[ {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"} + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ThrottlingException"} ] }, "StartMeetingTranscription":{ @@ -160,7 +193,9 @@ {"shape":"UnauthorizedException"}, {"shape":"LimitExceededException"}, {"shape":"UnprocessableEntityException"}, - {"shape":"ServiceUnavailableException"} + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} ] }, "StopMeetingTranscription":{ @@ -177,7 +212,9 @@ {"shape":"BadRequestException"}, {"shape":"UnauthorizedException"}, {"shape":"UnprocessableEntityException"}, - {"shape":"ServiceUnavailableException"} + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} ] } }, @@ -604,6 +641,17 @@ "min":1 }, "RetryAfterSeconds":{"type":"string"}, + "ServiceFailureException":{ + "type":"structure", + "members":{ + "Code":{"shape":"String"}, + "Message":{"shape":"String"}, + "RequestId":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, "ServiceUnavailableException":{ "type":"structure", "members":{ @@ -650,6 +698,16 @@ "type":"string", "max":4096 }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Code":{"shape":"String"}, + "Message":{"shape":"String"}, + "RequestId":{"shape":"String"} + }, + "error":{"httpStatusCode":429}, + "exception":true + }, "TranscribeContentIdentificationType":{ "type":"string", "enum":["PII"] diff --git a/models/apis/chime-sdk-meetings/2021-07-15/docs-2.json b/models/apis/chime-sdk-meetings/2021-07-15/docs-2.json index ecebab52c7a..01be2a88949 100644 --- a/models/apis/chime-sdk-meetings/2021-07-15/docs-2.json +++ b/models/apis/chime-sdk-meetings/2021-07-15/docs-2.json @@ -310,6 +310,11 @@ "ServiceUnavailableException$RetryAfterSeconds": "

The number of seconds the caller should wait before retrying.

" } }, + "ServiceFailureException": { + "base": "

The service encountered an unexpected error.

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

The service is currently unavailable.

", "refs": { @@ -355,9 +360,15 @@ "NotFoundException$Code": null, "NotFoundException$Message": null, "NotFoundException$RequestId": "

The request id associated with the call responsible for the exception.

", + "ServiceFailureException$Code": null, + "ServiceFailureException$Message": null, + "ServiceFailureException$RequestId": null, "ServiceUnavailableException$Code": null, "ServiceUnavailableException$Message": null, "ServiceUnavailableException$RequestId": "

The request id associated with the call responsible for the exception.

", + "ThrottlingException$Code": null, + "ThrottlingException$Message": null, + "ThrottlingException$RequestId": null, "UnauthorizedException$Code": null, "UnauthorizedException$Message": null, "UnauthorizedException$RequestId": "

The request id associated with the call responsible for the exception.

", @@ -366,6 +377,11 @@ "UnprocessableEntityException$RequestId": "

The request id associated with the call responsible for the exception.

" } }, + "ThrottlingException": { + "base": "

The number of customer requests exceeds the request rate limit.

", + "refs": { + } + }, "TranscribeContentIdentificationType": { "base": null, "refs": { diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 4f293d69a65..26c6b12f5a3 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -33530,7 +33530,7 @@ "locationName":"SecurityGroup" }, "SubnetId":{"shape":"SubnetId"}, - "UserData":{"shape":"String"}, + "UserData":{"shape":"RunInstancesUserData"}, "AdditionalInfo":{ "shape":"String", "locationName":"additionalInfo" @@ -33593,6 +33593,10 @@ "MaintenanceOptions":{"shape":"InstanceMaintenanceOptionsRequest"} } }, + "RunInstancesUserData":{ + "type":"string", + "sensitive":true + }, "RunScheduledInstancesRequest":{ "type":"structure", "required":[ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 3d03a10dcbf..ccfae13b22c 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -488,8 +488,8 @@ "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.

", - "RequestSpotInstances": "

Creates a Spot Instance request.

For more information, see Spot Instance requests 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 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.

", + "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.

", "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.

", "ResetFpgaImageAttribute": "

Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value. You can only reset the load permission attribute.

", @@ -7942,7 +7942,7 @@ "DescribeInstanceStatusRequest$Filters": "

The filters.

", "DescribeInstanceTypeOfferingsRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", "DescribeInstanceTypesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeInstancesRequest$Filters": "

The filters.

", + "DescribeInstancesRequest$Filters": "

The filters.

", "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", "DescribeIpamPoolsRequest$Filters": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", "DescribeIpamScopesRequest$Filters": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", @@ -7983,7 +7983,7 @@ "DescribeSecurityGroupsRequest$Filters": "

The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

", "DescribeSnapshotTierStatusRequest$Filters": "

The filters.

", "DescribeSnapshotsRequest$Filters": "

The filters.

", - "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", + "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", "DescribeSpotPriceHistoryRequest$Filters": "

One or more filters.

", "DescribeStoreImageTasksRequest$Filters": "

The filters.

", "DescribeSubnetsRequest$Filters": "

One or more filters.

", @@ -9016,7 +9016,7 @@ "LaunchTemplatePrivateDnsNameOptions$HostnameType": "

The type of hostname to assign to an instance.

", "LaunchTemplatePrivateDnsNameOptionsRequest$HostnameType": "

The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.

", "ModifyPrivateDnsNameOptionsRequest$PrivateDnsHostnameType": "

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.

", - "ModifySubnetAttributeRequest$PrivateDnsHostnameTypeOnLaunch": "

The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.

", + "ModifySubnetAttributeRequest$PrivateDnsHostnameTypeOnLaunch": "

The type of hostname to assign to instances in the subnet at launch. For IPv4-only and dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 only subnets, an instance DNS name must be based on the instance ID (resource-name).

", "PrivateDnsNameOptionsOnLaunch$HostnameType": "

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.

", "PrivateDnsNameOptionsRequest$HostnameType": "

The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID.

", "PrivateDnsNameOptionsResponse$HostnameType": "

The type of hostname to assign to an instance.

" @@ -10136,11 +10136,11 @@ "InstanceTypeInfo$InstanceType": "

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

", "InstanceTypeList$member": null, "InstanceTypeOffering$InstanceType": "

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

", - "LaunchSpecification$InstanceType": "

The instance type.

", + "LaunchSpecification$InstanceType": "

The instance type. Only one instance type can be specified.

", "LaunchTemplateOverrides$InstanceType": "

The instance type.

", "RequestInstanceTypeList$member": null, "RequestLaunchTemplateData$InstanceType": "

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

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

", - "RequestSpotLaunchSpecification$InstanceType": "

The instance type.

", + "RequestSpotLaunchSpecification$InstanceType": "

The instance type. Only one instance type can be specified.

", "ReservationFleetInstanceSpecification$InstanceType": "

The instance type for which the Capacity Reservation Fleet reserves capacity.

", "ReservedInstances$InstanceType": "

The instance type on which the Reserved Instance can be used.

", "ReservedInstancesConfiguration$InstanceType": "

The instance type for the modified Reserved Instances.

", @@ -15427,6 +15427,12 @@ "refs": { } }, + "RunInstancesUserData": { + "base": null, + "refs": { + "RunInstancesRequest$UserData": "

The user data script to make available to the instance. For more information, see Run commands on your Linux instance at launch and Run commands on your Windows instance at launch. If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.

" + } + }, "RunScheduledInstancesRequest": { "base": "

Contains the parameters for RunScheduledInstances.

", "refs": { @@ -16078,7 +16084,7 @@ "SpotInstanceState": { "base": null, "refs": { - "SpotInstanceRequest$State": "

The state of the Spot Instance request. Spot status information helps track your Spot Instance requests. For more information, see Spot status in the Amazon EC2 User Guide for Linux Instances.

" + "SpotInstanceRequest$State": "

The state of the Spot Instance request. Spot request status information helps track your Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide for Linux Instances.

" } }, "SpotInstanceStateFault": { @@ -17201,7 +17207,7 @@ "ImportInstanceVolumeDetailItem$Status": "

The status of the import of this particular disk image.

", "ImportInstanceVolumeDetailItem$StatusMessage": "

The status information or errors related to the disk image.

", "ImportKeyPairRequest$KeyName": "

A unique name for the key pair.

", - "ImportKeyPairResult$KeyFingerprint": "

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

", + "ImportKeyPairResult$KeyFingerprint": "", "ImportKeyPairResult$KeyName": "

The key pair name that you provided.

", "ImportKeyPairResult$KeyPairId": "

The ID of the resulting key pair.

", "ImportSnapshotRequest$ClientToken": "

Token to enable idempotency for VM import requests.

", @@ -17342,11 +17348,11 @@ "Ipv6PrefixSpecificationResponse$Ipv6Prefix": "

One or more IPv6 delegated prefixes assigned to the network interface.

", "Ipv6Range$CidrIpv6": "

The IPv6 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv6 address, use the /128 prefix length.

", "Ipv6Range$Description": "

A description for the security group rule that references this IPv6 address range.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", - "KeyPair$KeyFingerprint": "

The SHA-1 digest of the DER encoded private key.

", + "KeyPair$KeyFingerprint": "", "KeyPair$KeyName": "

The name of the key pair.

", "KeyPair$KeyPairId": "

The ID of the key pair.

", "KeyPairInfo$KeyPairId": "

The ID of the key pair.

", - "KeyPairInfo$KeyFingerprint": "

If you used CreateKeyPair to create the key pair:

If you used ImportKeyPair to provide Amazon Web Services the public key:

", + "KeyPairInfo$KeyFingerprint": "

If you used CreateKeyPair to create the key pair:

If you used ImportKeyPair to provide Amazon Web Services the public key:

", "KeyPairInfo$KeyName": "

The name of the key pair.

", "LastError$Message": "

The error message for the VPC endpoint error.

", "LastError$Code": "

The error code for the VPC endpoint error.

", @@ -17751,7 +17757,6 @@ "RouteTableAssociation$SubnetId": "

The ID of the subnet. A subnet ID is not returned for an implicit association.

", "RouteTableAssociation$GatewayId": "

The ID of the internet gateway or virtual private gateway.

", "RouteTableAssociationState$StatusMessage": "

The status message, if applicable.

", - "RunInstancesRequest$UserData": "

The user data script to make available to the instance. For more information, see Run commands on your Linux instance at launch and Run commands on your Windows instance at launch. If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.

", "RunInstancesRequest$AdditionalInfo": "

Reserved.

", "RunInstancesRequest$ClientToken": "

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

For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", "RunInstancesRequest$PrivateIpAddress": "

[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

You cannot specify this option and the network interfaces option in the same request.

", @@ -17886,7 +17891,7 @@ "SpotInstanceRequest$SpotPrice": "

The maximum price per hour that you are willing to pay for a Spot Instance.

", "SpotInstanceStateFault$Code": "

The reason code for the Spot Instance state change.

", "SpotInstanceStateFault$Message": "

The message for the Spot Instance state change.

", - "SpotInstanceStatus$Code": "

The status code. For a list of status codes, see Spot status codes in the Amazon EC2 User Guide for Linux Instances.

", + "SpotInstanceStatus$Code": "

The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide for Linux Instances.

", "SpotInstanceStatus$Message": "

The description for the status code.

", "SpotMarketOptions$MaxPrice": "

The maximum hourly price you're willing to pay for the Spot Instances. The default is the On-Demand price.

", "SpotOptions$MaxTotalPrice": "

The maximum amount per hour for Spot Instances that you're willing to pay.

", diff --git a/models/apis/ec2/2016-11-15/waiters-2.json b/models/apis/ec2/2016-11-15/waiters-2.json index 75d0696523d..43f560b8134 100755 --- a/models/apis/ec2/2016-11-15/waiters-2.json +++ b/models/apis/ec2/2016-11-15/waiters-2.json @@ -353,6 +353,24 @@ } ] }, + "NatGatewayDeleted": { + "operation": "DescribeNatGateways", + "delay": 15, + "maxAttempts": 40, + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "NatGateways[].State", + "expected": "deleted" + }, + { + "state": "success", + "matcher": "error", + "expected": "NatGatewayNotFound" + } + ] + }, "NetworkInterfaceAvailable": { "operation": "DescribeNetworkInterfaces", "delay": 20, diff --git a/service/chimesdkmeetings/api.go b/service/chimesdkmeetings/api.go index 071d75ebfe7..a08ac31211f 100644 --- a/service/chimesdkmeetings/api.go +++ b/service/chimesdkmeetings/api.go @@ -71,21 +71,31 @@ func (c *ChimeSDKMeetings) BatchCreateAttendeeRequest(input *BatchCreateAttendee // * BadRequestException // The input parameters don't match the service's restrictions. // -// * UnauthorizedException -// The user isn't authorized to request a resource. -// -// * ServiceUnavailableException -// The service is currently unavailable. +// * ForbiddenException +// The client is permanently forbidden from making the request. // // * NotFoundException // One or more of the resources in the request does not exist in the system. // -// * ForbiddenException -// The client is permanently forbidden from making the request. +// * UnauthorizedException +// The user isn't authorized to request a resource. +// +// * UnprocessableEntityException +// The request was well-formed but was unable to be followed due to semantic +// errors. // // * LimitExceededException // The request exceeds the resource limit. // +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ServiceFailureException +// The service encountered an unexpected error. +// +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/BatchCreateAttendee func (c *ChimeSDKMeetings) BatchCreateAttendee(input *BatchCreateAttendeeInput) (*BatchCreateAttendeeOutput, error) { req, out := c.BatchCreateAttendeeRequest(input) @@ -170,6 +180,9 @@ func (c *ChimeSDKMeetings) CreateAttendeeRequest(input *CreateAttendeeInput) (re // * ForbiddenException // The client is permanently forbidden from making the request. // +// * NotFoundException +// One or more of the resources in the request does not exist in the system. +// // * UnauthorizedException // The user isn't authorized to request a resource. // @@ -177,14 +190,17 @@ func (c *ChimeSDKMeetings) CreateAttendeeRequest(input *CreateAttendeeInput) (re // The request was well-formed but was unable to be followed due to semantic // errors. // +// * LimitExceededException +// The request exceeds the resource limit. +// // * ServiceUnavailableException // The service is currently unavailable. // -// * NotFoundException -// One or more of the resources in the request does not exist in the system. +// * ServiceFailureException +// The service encountered an unexpected error. // -// * LimitExceededException -// The request exceeds the resource limit. +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. // // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/CreateAttendee func (c *ChimeSDKMeetings) CreateAttendee(input *CreateAttendeeInput) (*CreateAttendeeOutput, error) { @@ -270,12 +286,21 @@ func (c *ChimeSDKMeetings) CreateMeetingRequest(input *CreateMeetingInput) (req // * BadRequestException // The input parameters don't match the service's restrictions. // -// * ServiceUnavailableException -// The service is currently unavailable. +// * ForbiddenException +// The client is permanently forbidden from making the request. // // * UnauthorizedException // The user isn't authorized to request a resource. // +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. +// +// * ServiceFailureException +// The service encountered an unexpected error. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// // * LimitExceededException // The request exceeds the resource limit. // @@ -363,12 +388,21 @@ func (c *ChimeSDKMeetings) CreateMeetingWithAttendeesRequest(input *CreateMeetin // * BadRequestException // The input parameters don't match the service's restrictions. // -// * ServiceUnavailableException -// The service is currently unavailable. +// * ForbiddenException +// The client is permanently forbidden from making the request. // // * UnauthorizedException // The user isn't authorized to request a resource. // +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. +// +// * ServiceFailureException +// The service encountered an unexpected error. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// // * LimitExceededException // The request exceeds the resource limit. // @@ -453,12 +487,27 @@ func (c *ChimeSDKMeetings) DeleteAttendeeRequest(input *DeleteAttendeeInput) (re // API operation DeleteAttendee for usage and error information. // // Returned Error Types: +// * BadRequestException +// The input parameters don't match the service's restrictions. +// // * ForbiddenException // The client is permanently forbidden from making the request. // // * NotFoundException // One or more of the resources in the request does not exist in the system. // +// * UnauthorizedException +// The user isn't authorized to request a resource. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ServiceFailureException +// The service encountered an unexpected error. +// +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/DeleteAttendee func (c *ChimeSDKMeetings) DeleteAttendee(input *DeleteAttendeeInput) (*DeleteAttendeeOutput, error) { req, out := c.DeleteAttendeeRequest(input) @@ -546,6 +595,21 @@ func (c *ChimeSDKMeetings) DeleteMeetingRequest(input *DeleteMeetingInput) (req // * ForbiddenException // The client is permanently forbidden from making the request. // +// * UnauthorizedException +// The user isn't authorized to request a resource. +// +// * NotFoundException +// One or more of the resources in the request does not exist in the system. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ServiceFailureException +// The service encountered an unexpected error. +// +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/DeleteMeeting func (c *ChimeSDKMeetings) DeleteMeeting(input *DeleteMeetingInput) (*DeleteMeetingOutput, error) { req, out := c.DeleteMeetingRequest(input) @@ -628,11 +692,23 @@ func (c *ChimeSDKMeetings) GetAttendeeRequest(input *GetAttendeeInput) (req *req // * BadRequestException // The input parameters don't match the service's restrictions. // +// * ForbiddenException +// The client is permanently forbidden from making the request. +// // * NotFoundException // One or more of the resources in the request does not exist in the system. // -// * ForbiddenException -// The client is permanently forbidden from making the request. +// * UnauthorizedException +// The user isn't authorized to request a resource. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ServiceFailureException +// The service encountered an unexpected error. +// +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. // // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/GetAttendee func (c *ChimeSDKMeetings) GetAttendee(input *GetAttendeeInput) (*GetAttendeeOutput, error) { @@ -722,6 +798,18 @@ func (c *ChimeSDKMeetings) GetMeetingRequest(input *GetMeetingInput) (req *reque // * ForbiddenException // The client is permanently forbidden from making the request. // +// * UnauthorizedException +// The user isn't authorized to request a resource. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ServiceFailureException +// The service encountered an unexpected error. +// +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/GetMeeting func (c *ChimeSDKMeetings) GetMeeting(input *GetMeetingInput) (*GetMeetingOutput, error) { req, out := c.GetMeetingRequest(input) @@ -809,11 +897,23 @@ func (c *ChimeSDKMeetings) ListAttendeesRequest(input *ListAttendeesInput) (req // * BadRequestException // The input parameters don't match the service's restrictions. // +// * ForbiddenException +// The client is permanently forbidden from making the request. +// // * NotFoundException // One or more of the resources in the request does not exist in the system. // -// * ForbiddenException -// The client is permanently forbidden from making the request. +// * UnauthorizedException +// The user isn't authorized to request a resource. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ServiceFailureException +// The service encountered an unexpected error. +// +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. // // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/ListAttendees func (c *ChimeSDKMeetings) ListAttendees(input *ListAttendeesInput) (*ListAttendeesOutput, error) { @@ -963,9 +1063,15 @@ func (c *ChimeSDKMeetings) StartMeetingTranscriptionRequest(input *StartMeetingT // The request was well-formed but was unable to be followed due to semantic // errors. // +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. +// // * ServiceUnavailableException // The service is currently unavailable. // +// * ServiceFailureException +// The service encountered an unexpected error. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/StartMeetingTranscription func (c *ChimeSDKMeetings) StartMeetingTranscription(input *StartMeetingTranscriptionInput) (*StartMeetingTranscriptionOutput, error) { req, out := c.StartMeetingTranscriptionRequest(input) @@ -1059,9 +1165,15 @@ func (c *ChimeSDKMeetings) StopMeetingTranscriptionRequest(input *StopMeetingTra // The request was well-formed but was unable to be followed due to semantic // errors. // +// * ThrottlingException +// The number of customer requests exceeds the request rate limit. +// // * ServiceUnavailableException // The service is currently unavailable. // +// * ServiceFailureException +// The service encountered an unexpected error. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-meetings-2021-07-15/StopMeetingTranscription func (c *ChimeSDKMeetings) StopMeetingTranscription(input *StopMeetingTranscriptionInput) (*StopMeetingTranscriptionOutput, error) { req, out := c.StopMeetingTranscriptionRequest(input) @@ -3239,6 +3351,74 @@ func (s *NotificationsConfiguration) SetSqsQueueArn(v string) *NotificationsConf return s } +// The service encountered an unexpected error. +type ServiceFailureException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"Code" type:"string"` + + Message_ *string `locationName:"Message" type:"string"` + + RequestId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceFailureException) 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 ServiceFailureException) GoString() string { + return s.String() +} + +func newErrorServiceFailureException(v protocol.ResponseMetadata) error { + return &ServiceFailureException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceFailureException) Code() string { + return "ServiceFailureException" +} + +// Message returns the exception's message. +func (s *ServiceFailureException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceFailureException) OrigErr() error { + return nil +} + +func (s *ServiceFailureException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceFailureException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceFailureException) RequestID() string { + return s.RespMetadata.RequestID +} + // The service is currently unavailable. type ServiceUnavailableException struct { _ struct{} `type:"structure"` @@ -3473,6 +3653,74 @@ func (s StopMeetingTranscriptionOutput) GoString() string { return s.String() } +// The number of customer requests exceeds the request rate limit. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"Code" type:"string"` + + Message_ *string `locationName:"Message" type:"string"` + + RequestId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) 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 ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + // The configuration for the current transcription operation. Must contain EngineTranscribeSettings // or EngineTranscribeMedicalSettings. type TranscriptionConfiguration struct { diff --git a/service/chimesdkmeetings/errors.go b/service/chimesdkmeetings/errors.go index b4c449b09bf..f5563b8b287 100644 --- a/service/chimesdkmeetings/errors.go +++ b/service/chimesdkmeetings/errors.go @@ -32,12 +32,24 @@ const ( // One or more of the resources in the request does not exist in the system. ErrCodeNotFoundException = "NotFoundException" + // ErrCodeServiceFailureException for service response error code + // "ServiceFailureException". + // + // The service encountered an unexpected error. + ErrCodeServiceFailureException = "ServiceFailureException" + // ErrCodeServiceUnavailableException for service response error code // "ServiceUnavailableException". // // The service is currently unavailable. ErrCodeServiceUnavailableException = "ServiceUnavailableException" + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The number of customer requests exceeds the request rate limit. + ErrCodeThrottlingException = "ThrottlingException" + // ErrCodeUnauthorizedException for service response error code // "UnauthorizedException". // @@ -57,7 +69,9 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ForbiddenException": newErrorForbiddenException, "LimitExceededException": newErrorLimitExceededException, "NotFoundException": newErrorNotFoundException, + "ServiceFailureException": newErrorServiceFailureException, "ServiceUnavailableException": newErrorServiceUnavailableException, + "ThrottlingException": newErrorThrottlingException, "UnauthorizedException": newErrorUnauthorizedException, "UnprocessableEntityException": newErrorUnprocessableEntityException, } diff --git a/service/ec2/api.go b/service/ec2/api.go index 85508634ca8..aac78db5214 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -45629,6 +45629,11 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques // 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. // +// 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. +// // 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. @@ -45706,6 +45711,11 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req // For more information, see Spot Instance requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) // 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? (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. +// // 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. @@ -63378,7 +63388,11 @@ func (s *CreateKeyPairInput) SetTagSpecifications(v []*TagSpecification) *Create type CreateKeyPairOutput struct { _ struct{} `type:"structure"` - // The SHA-1 digest of the DER encoded private key. + // * For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER + // encoded private key. + // + // * For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 + // digest, which is the default for OpenSSH, starting with OpenSSH 6.8. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"` // An unencrypted PEM encoded RSA or ED25519 private key. @@ -84191,6 +84205,9 @@ type DescribeInstancesInput struct { // // * block-device-mapping.volume-id - The volume ID of the EBS volume. // + // * capacity-reservation-id - The ID of the Capacity Reservation into which + // the instance was launched. + // // * client-token - The idempotency token you provided when you launched // the instance. // @@ -91428,7 +91445,7 @@ type DescribeSpotInstanceRequestsInput struct { // * state - The state of the Spot Instance request (open | active | closed // | cancelled | failed). Spot request status information can help you track // your Amazon EC2 Spot Instance requests. For more information, see Spot - // request status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // request status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-request-status.html) // in the Amazon EC2 User Guide for Linux Instances. // // * status-code - The short code describing the most recent evaluation of @@ -112750,7 +112767,11 @@ func (s *ImportKeyPairInput) SetTagSpecifications(v []*TagSpecification) *Import type ImportKeyPairOutput struct { _ struct{} `type:"structure"` - // The MD5 public key fingerprint as specified in section 4 of RFC 4716. + // * For RSA key pairs, the key fingerprint is the MD5 public key fingerprint + // as specified in section 4 of RFC 4716. + // + // * For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 + // digest, which is the default for OpenSSH, starting with OpenSSH 6.8 (http://www.openssh.com/txt/release-6.8). KeyFingerprint *string `locationName:"keyFingerprint" type:"string"` // The key pair name that you provided. @@ -119603,7 +119624,7 @@ type LaunchSpecification struct { // The ID of the AMI. ImageId *string `locationName:"imageId" type:"string"` - // The instance type. + // The instance type. Only one instance type can be specified. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` // The ID of the kernel. @@ -128488,11 +128509,11 @@ type ModifySubnetAttributeInput struct { // in the specified subnet should be assigned a public IPv4 address. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"` - // The type of hostnames to assign to instances in the subnet at launch. For - // IPv4 only subnets, an instance DNS name must be based on the instance IPv4 - // address. For IPv6 only subnets, an instance DNS name must be based on the - // instance ID. For dual-stack subnets, you can specify whether DNS names use - // the instance IPv4 address or the instance ID. + // The type of hostname to assign to instances in the subnet at launch. For + // IPv4-only and dual-stack (IPv4 and IPv6) subnets, an instance DNS name can + // be based on the instance IPv4 address (ip-name) or the instance ID (resource-name). + // For IPv6 only subnets, an instance DNS name must be based on the instance + // ID (resource-name). PrivateDnsHostnameTypeOnLaunch *string `type:"string" enum:"HostnameType"` // The ID of the subnet. @@ -141059,7 +141080,7 @@ type RequestSpotLaunchSpecification struct { // The ID of the AMI. ImageId *string `locationName:"imageId" type:"string"` - // The instance type. + // The instance type. Only one instance type can be specified. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` // The ID of the kernel. @@ -145089,7 +145110,11 @@ type RunInstancesInput struct { // If you are using a command line tool, base64-encoding is performed for you, // and you can load the text from a file. Otherwise, you must provide base64-encoded // text. User data is limited to 16 KB. - UserData *string `type:"string"` + // + // UserData is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by RunInstancesInput's + // String and GoString methods. + UserData *string `type:"string" sensitive:"true"` } // String returns the string representation. @@ -150089,8 +150114,9 @@ type SpotInstanceRequest struct { // The maximum price per hour that you are willing to pay for a Spot Instance. SpotPrice *string `locationName:"spotPrice" type:"string"` - // The state of the Spot Instance request. Spot status information helps track - // your Spot Instance requests. For more information, see Spot status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // The state of the Spot Instance request. Spot request status information helps + // track your Spot Instance requests. For more information, see Spot request + // status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-request-status.html) // in the Amazon EC2 User Guide for Linux Instances. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"` @@ -150297,7 +150323,8 @@ func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault { type SpotInstanceStatus struct { _ struct{} `type:"structure"` - // The status code. For a list of status codes, see Spot status codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) + // The status code. For a list of status codes, see Spot request status codes + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-request-status.html#spot-instance-request-status-understand) // in the Amazon EC2 User Guide for Linux Instances. Code *string `locationName:"code" type:"string"` diff --git a/service/ec2/ec2iface/interface.go b/service/ec2/ec2iface/interface.go index b82ce5c0463..62a3447cbdf 100644 --- a/service/ec2/ec2iface/interface.go +++ b/service/ec2/ec2iface/interface.go @@ -2553,6 +2553,9 @@ type EC2API interface { WaitUntilNatGatewayAvailable(*ec2.DescribeNatGatewaysInput) error WaitUntilNatGatewayAvailableWithContext(aws.Context, *ec2.DescribeNatGatewaysInput, ...request.WaiterOption) error + WaitUntilNatGatewayDeleted(*ec2.DescribeNatGatewaysInput) error + WaitUntilNatGatewayDeletedWithContext(aws.Context, *ec2.DescribeNatGatewaysInput, ...request.WaiterOption) error + WaitUntilNetworkInterfaceAvailable(*ec2.DescribeNetworkInterfacesInput) error WaitUntilNetworkInterfaceAvailableWithContext(aws.Context, *ec2.DescribeNetworkInterfacesInput, ...request.WaiterOption) error diff --git a/service/ec2/waiters.go b/service/ec2/waiters.go index b58f6a0d14e..a10de4f3f13 100644 --- a/service/ec2/waiters.go +++ b/service/ec2/waiters.go @@ -906,6 +906,57 @@ func (c *EC2) WaitUntilNatGatewayAvailableWithContext(ctx aws.Context, input *De return w.WaitWithContext(ctx) } +// WaitUntilNatGatewayDeleted uses the Amazon EC2 API operation +// DescribeNatGateways to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *EC2) WaitUntilNatGatewayDeleted(input *DescribeNatGatewaysInput) error { + return c.WaitUntilNatGatewayDeletedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilNatGatewayDeletedWithContext is an extended version of WaitUntilNatGatewayDeleted. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *EC2) WaitUntilNatGatewayDeletedWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilNatGatewayDeleted", + MaxAttempts: 40, + Delay: request.ConstantWaiterDelay(15 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "NatGateways[].State", + Expected: "deleted", + }, + { + State: request.SuccessWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "NatGatewayNotFound", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeNatGatewaysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeNatGatewaysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + // WaitUntilNetworkInterfaceAvailable uses the Amazon EC2 API operation // DescribeNetworkInterfaces to wait for a condition to be met before returning. // If the condition is not met within the max attempt window, an error will