From b8d7bc93589d8635969b6e5aaf41a39ee7f6597c Mon Sep 17 00:00:00 2001 From: awsmobilesdk Date: Tue, 28 May 2024 18:15:02 +0000 Subject: [PATCH] feat(AWSEC2): update models to latest --- AWSEC2/AWSEC2Model.h | 295 ++++++++++++++--- AWSEC2/AWSEC2Model.m | 220 +++++++++++++ AWSEC2/AWSEC2Resources.m | 340 ++++++++++++++++---- AWSEC2/AWSEC2Service.h | 139 ++++++-- AWSEC2/AWSEC2Service.m | 69 ++++ AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m | 30 ++ AWSEC2UnitTests/AWSGeneralEC2Tests.m | 144 +++++++++ 7 files changed, 1081 insertions(+), 156 deletions(-) diff --git a/AWSEC2/AWSEC2Model.h b/AWSEC2/AWSEC2Model.h index 11f85cc8f45..7d266693b3d 100644 --- a/AWSEC2/AWSEC2Model.h +++ b/AWSEC2/AWSEC2Model.h @@ -642,6 +642,18 @@ typedef NS_ENUM(NSInteger, AWSEC2Ec2InstanceConnectEndpointState) { AWSEC2Ec2InstanceConnectEndpointStateDeleteFailed, }; +typedef NS_ENUM(NSInteger, AWSEC2EkPubKeyFormat) { + AWSEC2EkPubKeyFormatUnknown, + AWSEC2EkPubKeyFormatDer, + AWSEC2EkPubKeyFormatTpmt, +}; + +typedef NS_ENUM(NSInteger, AWSEC2EkPubKeyType) { + AWSEC2EkPubKeyTypeUnknown, + AWSEC2EkPubKeyTypeRsa2048, + AWSEC2EkPubKeyTypeEccSecP384, +}; + typedef NS_ENUM(NSInteger, AWSEC2ElasticGpuState) { AWSEC2ElasticGpuStateUnknown, AWSEC2ElasticGpuStateAttached, @@ -909,6 +921,7 @@ typedef NS_ENUM(NSInteger, AWSEC2ImageAttributeName) { AWSEC2ImageAttributeNameUefiData, AWSEC2ImageAttributeNameLastLaunchedTime, AWSEC2ImageAttributeNameImdsSupport, + AWSEC2ImageAttributeNameDeregistrationProtection, }; typedef NS_ENUM(NSInteger, AWSEC2ImageBlockPublicAccessDisabledState) { @@ -2320,6 +2333,7 @@ typedef NS_ENUM(NSInteger, AWSEC2NetworkInterfaceAttribute) { AWSEC2NetworkInterfaceAttributeGroupSet, AWSEC2NetworkInterfaceAttributeSourceDestCheck, AWSEC2NetworkInterfaceAttributeAttachment, + AWSEC2NetworkInterfaceAttributeAssociatePublicIpAddress, }; typedef NS_ENUM(NSInteger, AWSEC2NetworkInterfaceCreationType) { @@ -2442,6 +2456,12 @@ typedef NS_ENUM(NSInteger, AWSEC2PermissionGroup) { AWSEC2PermissionGroupAll, }; +typedef NS_ENUM(NSInteger, AWSEC2PhcSupport) { + AWSEC2PhcSupportUnknown, + AWSEC2PhcSupportUnsupported, + AWSEC2PhcSupportSupported, +}; + typedef NS_ENUM(NSInteger, AWSEC2PlacementGroupState) { AWSEC2PlacementGroupStateUnknown, AWSEC2PlacementGroupStatePending, @@ -4231,6 +4251,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DisableImageBlockPublicAccessResult; @class AWSEC2DisableImageDeprecationRequest; @class AWSEC2DisableImageDeprecationResult; +@class AWSEC2DisableImageDeregistrationProtectionRequest; +@class AWSEC2DisableImageDeregistrationProtectionResult; @class AWSEC2DisableImageRequest; @class AWSEC2DisableImageResult; @class AWSEC2DisableIpamOrganizationAdminAccountRequest; @@ -4320,6 +4342,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2EnableImageBlockPublicAccessResult; @class AWSEC2EnableImageDeprecationRequest; @class AWSEC2EnableImageDeprecationResult; +@class AWSEC2EnableImageDeregistrationProtectionRequest; +@class AWSEC2EnableImageDeregistrationProtectionResult; @class AWSEC2EnableImageRequest; @class AWSEC2EnableImageResult; @class AWSEC2EnableIpamOrganizationAdminAccountRequest; @@ -4417,6 +4441,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2GetImageBlockPublicAccessStateResult; @class AWSEC2GetInstanceMetadataDefaultsRequest; @class AWSEC2GetInstanceMetadataDefaultsResult; +@class AWSEC2GetInstanceTpmEkPubRequest; +@class AWSEC2GetInstanceTpmEkPubResult; @class AWSEC2GetInstanceTypesFromInstanceRequirementsRequest; @class AWSEC2GetInstanceTypesFromInstanceRequirementsResult; @class AWSEC2GetInstanceUefiDataRequest; @@ -7549,12 +7575,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable certificateS3BucketName; /** -

The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle is stored. The object key is formated as follows: role_arn/certificate_arn.

+

The key of the Amazon S3 object where the certificate, certificate chain, and encrypted private key bundle are stored. The object key is formatted as follows: role_arn/certificate_arn.

*/ @property (nonatomic, strong) NSString * _Nullable certificateS3ObjectKey; /** -

The ID of the KMS customer master key (CMK) used to encrypt the private key.

+

The ID of the KMS key used to encrypt the private key.

*/ @property (nonatomic, strong) NSString * _Nullable encryptionKmsKeyId; @@ -8811,7 +8837,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The IDs of the Spot Fleet requests.

+

The IDs of the Spot Fleet requests.

Constraint: You can specify up to 100 IDs in a single request.

*/ @property (nonatomic, strong) NSArray * _Nullable spotFleetRequestIds; @@ -11155,10 +11181,15 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

+

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Default: 65000

Valid values: 1 to 2,147,483,647

*/ @property (nonatomic, strong) NSNumber * _Nullable bgpAsn; +/** +

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Valid values: 2,147,483,648 to 4,294,967,295

+ */ +@property (nonatomic, strong) NSNumber * _Nullable bgpAsnExtended; + /**

The Amazon Resource Name (ARN) for the customer gateway certificate.

*/ @@ -11175,7 +11206,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

IPv4 address for the customer gateway device's outside interface. The address must be static.

+

IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

*/ @property (nonatomic, strong) NSString * _Nullable ipAddress; @@ -11360,12 +11391,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

+

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

*/ @property (nonatomic, strong) NSString * _Nullable errorCode; /** -

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

+

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

*/ @property (nonatomic, strong) NSString * _Nullable errorMessage; @@ -12221,7 +12252,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable launchTemplateName; /** -

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

+

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

*/ @property (nonatomic, strong) NSArray * _Nullable tagSpecifications; @@ -12272,12 +12303,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2RequestLaunchTemplateData * _Nullable launchTemplateData; /** -

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -12287,7 +12318,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable resolveAlias; /** -

The version number of the launch template version on which to base the new version. The new version inherits the same launch parameters as the source version, except for parameters that you specify in LaunchTemplateData. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

+

The version of the launch template on which to base the new version. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

If you specify this parameter, the new version inherits the launch parameters from the source version. If you specify additional launch parameters for the new version, they overwrite any corresponding launch parameters inherited from the source version.

If you omit this parameter, the new version contains only the launch parameters that you specify for the new version.

*/ @property (nonatomic, strong) NSString * _Nullable sourceVersion; @@ -15602,10 +15633,15 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

+

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

Valid values: 1 to 2,147,483,647

*/ @property (nonatomic, strong) NSString * _Nullable bgpAsn; +/** +

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

Valid values: 2,147,483,648 to 4,294,967,295

+ */ +@property (nonatomic, strong) NSString * _Nullable bgpAsnExtended; + /**

The Amazon Resource Name (ARN) for the customer gateway certificate.

*/ @@ -15622,7 +15658,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable deviceName; /** -

The IP address of the customer gateway device's outside interface.

+

IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

*/ @property (nonatomic, strong) NSString * _Nullable ipAddress; @@ -16033,7 +16069,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The IDs of the EC2 Fleets.

+

The IDs of the EC2 Fleets.

Constraints: In a single request, you can specify up to 25 instant fleet IDs and up to 100 maintain or request fleet IDs.

*/ @property (nonatomic, strong) NSArray * _Nullable fleetIds; @@ -16396,12 +16432,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -16432,12 +16468,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -20975,12 +21011,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

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

  • location - This depends on the location type. For example, if the location type is region (default), the location is the Region code (for example, us-east-2.)

  • instance-type - The instance type. For example, c5.2xlarge.

+

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

  • instance-type - The instance type. For a list of possible values, see Instance.

  • location - The location. For a list of possible identifiers, see Regions and Zones.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The location type.

+

The location type.

  • availability-zone - The Availability Zone. When you specify a location filter, it must be an Availability Zone for the current Region.

  • availability-zone-id - The AZ ID. When you specify a location filter, it must be an AZ ID for the current Region.

  • outpost - The Outpost ARN. When you specify a location filter, it must be an Outpost ARN for the current Region.

  • region - The current Region. If you specify a location filter, it must match the current Region.

*/ @property (nonatomic, assign) AWSEC2LocationType locationType; @@ -21003,7 +21039,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The instance types offered.

+

The instance types offered in the location.

*/ @property (nonatomic, strong) NSArray * _Nullable instanceTypeOfferings; @@ -21031,7 +21067,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable filters; /** -

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

+

The instance types.

*/ @property (nonatomic, strong) NSArray * _Nullable instanceTypes; @@ -21054,7 +21090,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

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

+

The instance type.

*/ @property (nonatomic, strong) NSArray * _Nullable instanceTypes; @@ -21577,12 +21613,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

+

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template ID or the launch template name, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

+

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template name or the launch template ID, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -22563,6 +22599,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2DescribeNetworkInterfaceAttributeResult : AWSModel +/** +

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; + /**

The attachment (if any) of the network interface.

*/ @@ -22676,7 +22717,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Information about one or more network interfaces.

+

Information about the network interfaces.

*/ @property (nonatomic, strong) NSArray * _Nullable networkInterfaces; @@ -24130,7 +24171,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

  • tag:<key> - The key/value combination of the tag. For example, specify "tag:Owner" for the filter name and "TeamA" for the filter value to find resources with the tag "Owner=TeamA".

  • value - The tag value.

+

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type. For a list of possible values, see TagSpecification.

  • tag:<key> - The key/value combination of the tag. For example, specify "tag:Owner" for the filter name and "TeamA" for the filter value to find resources with the tag "Owner=TeamA".

  • value - The tag value.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -24788,7 +24829,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

  • state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

  • transit-gateway-id - The ID of the transit gateway.

+

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

  • state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

  • transit-gateway-id - The ID of the transit gateway.

  • tag-key - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -26671,6 +26712,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DisableImageDeregistrationProtectionRequest : AWSRequest + + +/** +

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.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +/** +

The ID of the AMI.

+ */ +@property (nonatomic, strong) NSString * _Nullable imageId; + +@end + +/** + + */ +@interface AWSEC2DisableImageDeregistrationProtectionResult : AWSModel + + +/** +

Returns true if the request succeeds; otherwise, it returns an error.

+ */ +@property (nonatomic, strong) NSString * _Nullable returned; + +@end + /** */ @@ -28547,6 +28619,42 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2EnableImageDeregistrationProtectionRequest : AWSRequest + + +/** +

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.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +/** +

The ID of the AMI.

+ */ +@property (nonatomic, strong) NSString * _Nullable imageId; + +/** +

If true, enforces deregistration protection for 24 hours after deregistration protection is disabled.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable withCooldown; + +@end + +/** + + */ +@interface AWSEC2EnableImageDeregistrationProtectionResult : AWSModel + + +/** +

Returns true if the request succeeds; otherwise, it returns an error.

+ */ +@property (nonatomic, strong) NSString * _Nullable returned; + +@end + /** */ @@ -31166,6 +31274,62 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2GetInstanceTpmEkPubRequest : AWSRequest + + +/** +

Specify this parameter to verify whether the request will succeed, without actually making the request. If the request will succeed, the response is DryRunOperation. Otherwise, the response is UnauthorizedOperation.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +/** +

The ID of the instance for which to get the public endorsement key.

+ */ +@property (nonatomic, strong) NSString * _Nullable instanceId; + +/** +

The required public endorsement key format. Specify der for a DER-encoded public key that is compatible with OpenSSL. Specify tpmt for a TPM 2.0 format that is compatible with tpm2-tools. The returned key is base64 encoded.

+ */ +@property (nonatomic, assign) AWSEC2EkPubKeyFormat keyFormat; + +/** +

The required public endorsement key type.

+ */ +@property (nonatomic, assign) AWSEC2EkPubKeyType keyType; + +@end + +/** + + */ +@interface AWSEC2GetInstanceTpmEkPubResult : AWSModel + + +/** +

The ID of the instance.

+ */ +@property (nonatomic, strong) NSString * _Nullable instanceId; + +/** +

The public endorsement key format.

+ */ +@property (nonatomic, assign) AWSEC2EkPubKeyFormat keyFormat; + +/** +

The public endorsement key type.

+ */ +@property (nonatomic, assign) AWSEC2EkPubKeyType keyType; + +/** +

The public endorsement key material.

+ */ +@property (nonatomic, strong) NSString * _Nullable keyValue; + +@end + /** */ @@ -33411,6 +33575,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable deprecationTime; +/** +

Indicates whether deregistration protection is enabled for the AMI.

+ */ +@property (nonatomic, strong) NSString * _Nullable deregistrationProtection; + /**

The description of the AMI that was provided during image creation.

*/ @@ -33456,6 +33625,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable kernelId; +/** +

The date and time, in ISO 8601 date-time format, when the AMI was last used to launch an EC2 instance. When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

lastLaunchedTime data is available starting April 2017.

+ */ +@property (nonatomic, strong) NSString * _Nullable lastLaunchedTime; + /**

The name of the AMI that was provided during image creation.

*/ @@ -33559,6 +33733,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) AWSEC2AttributeValue * _Nullable bootMode; +/** +

Indicates whether deregistration protection is enabled for the AMI.

+ */ +@property (nonatomic, strong) AWSEC2AttributeValue * _Nullable deregistrationProtection; + /**

A description for the AMI.

*/ @@ -36474,6 +36653,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, assign) AWSEC2NitroTpmSupport nitroTpmSupport; +/** +

Indicates whether a local Precision Time Protocol (PTP) hardware clock (PHC) is supported.

+ */ +@property (nonatomic, assign) AWSEC2PhcSupport phcSupport; + /**

Describes the placement group settings for the instance type.

*/ @@ -38816,7 +39000,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The device index for the network interface attachment.

+

The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.

*/ @property (nonatomic, strong) NSNumber * _Nullable deviceIndex; @@ -39124,23 +39308,23 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

The launch template to use. You must specify either the launch template ID or launch template name in the request, but not both.

+

Describes the launch template to use.

*/ @interface AWSEC2LaunchTemplateSpecification : AWSModel /** -

The ID of the launch template.

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; /** -

The launch template version number, $Latest, or $Default.

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

If the value is $Default, Amazon EC2 uses the default version of the launch template.

Default: The default version of the launch template.

+

The launch template version number, $Latest, or $Default.

A value of $Latest uses the latest version of the launch template.

A value of $Default uses the default version of the launch template.

Default: The default version of the launch template.

*/ @property (nonatomic, strong) NSString * _Nullable version; @@ -41194,7 +41378,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2DefaultInstanceMetadataEndpointState httpEndpoint; /** -

The maximum number of hops that the metadata token can travel.

Minimum: 1

Maximum: 64

+

The maximum number of hops that the metadata token can travel. To indicate no preference, specify -1.

Possible values: Integers from 1 to 64, and -1 to indicate no preference

*/ @property (nonatomic, strong) NSNumber * _Nullable httpPutResponseHopLimit; @@ -41627,12 +41811,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -41765,6 +41949,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2ModifyNetworkInterfaceAttributeRequest : AWSRequest +/** +

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; + /**

Information about the interface attachment. If modifying the delete on termination attribute, you must specify the ID of the interface attachment.

*/ @@ -48077,7 +48266,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplatesMonitoringRequest * _Nullable monitoring; /** -

One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

+

The network interfaces for the instance.

*/ @property (nonatomic, strong) NSArray * _Nullable networkInterfaces; @@ -48097,12 +48286,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable ramDiskId; /** -

One or more security group IDs. You can create a security group using CreateSecurityGroup.

+

The IDs of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroupIds; /** -

One or more security group names. For a nondefault VPC, you must use security group IDs instead.

+

The names of the security groups. For a nondefault VPC, you must use security group IDs instead.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroups; @@ -49984,12 +50173,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable ebsOptimized; /** -

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

+

An elastic GPU to associate with the instance.

Amazon Elastic Graphics reached end of life on January 8, 2024.

*/ @property (nonatomic, strong) NSArray * _Nullable elasticGpuSpecification; /** -

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

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.

+

An elastic inference accelerator to associate with the instance.

Amazon Elastic Inference (EI) is no longer available to new customers. For more information, see Amazon Elastic Inference FAQs.

*/ @property (nonatomic, strong) NSArray * _Nullable elasticInferenceAccelerators; @@ -50054,7 +50243,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable keyName; /** -

The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.

+

The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.

*/ @property (nonatomic, strong) AWSEC2LaunchTemplateSpecification * _Nullable launchTemplate; @@ -50089,7 +50278,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2RunInstancesMonitoringEnabled * _Nullable monitoring; /** -

The network interfaces to associate with the instance. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

+

The network interfaces to associate with the instance.

*/ @property (nonatomic, strong) NSArray * _Nullable networkInterfaces; @@ -50114,17 +50303,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable ramdiskId; /** -

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface.

+

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroupIds; /** -

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface.

Default: Amazon EC2 uses the default security group.

+

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

Default: Amazon EC2 uses the default security group.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroups; /** -

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface.

+

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable subnetId; @@ -50872,7 +51061,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The maximum number of routes to return.

+

The maximum number of routes to return. If a value is not provided, the default is 1000.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxResults; @@ -51949,7 +52138,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2SpotFleetMonitoring * _Nullable monitoring; /** -

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

+

The network interfaces.

SpotFleetLaunchSpecification does not support Elastic Fabric Adapter (EFA). You must use LaunchTemplateConfig instead.

*/ @property (nonatomic, strong) NSArray * _Nullable networkInterfaces; @@ -51964,7 +52153,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable ramdiskId; /** -

The security groups.

+

The security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroups; @@ -51974,7 +52163,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable spotPrice; /** -

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

+

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable subnetId; @@ -56710,7 +56899,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Information about the volume attachments.

+

This parameter is not returned by CreateVolume.

Information about the volume attachments.

*/ @property (nonatomic, strong) NSArray * _Nullable attachments; @@ -56730,7 +56919,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -

Indicates whether the volume was created using fast snapshot restore.

+

This parameter is not returned by CreateVolume.

Indicates whether the volume was created using fast snapshot restore.

*/ @property (nonatomic, strong) NSNumber * _Nullable fastRestored; @@ -56765,7 +56954,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable snapshotId; /** -

Reserved for future use.

+

This parameter is not returned by CreateVolume.

Reserved for future use.

*/ @property (nonatomic, assign) AWSEC2SSEType sseType; diff --git a/AWSEC2/AWSEC2Model.m b/AWSEC2/AWSEC2Model.m index 7df709ff9b2..59eaef0c3d8 100644 --- a/AWSEC2/AWSEC2Model.m +++ b/AWSEC2/AWSEC2Model.m @@ -6458,6 +6458,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bgpAsn" : @"BgpAsn", + @"bgpAsnExtended" : @"BgpAsnExtended", @"certificateArn" : @"CertificateArn", @"deviceName" : @"DeviceName", @"dryRun" : @"DryRun", @@ -14978,6 +14979,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bgpAsn" : @"BgpAsn", + @"bgpAsnExtended" : @"BgpAsnExtended", @"certificateArn" : @"CertificateArn", @"customerGatewayId" : @"CustomerGatewayId", @"deviceName" : @"DeviceName", @@ -23845,6 +23847,9 @@ + (NSValueTransformer *)attributeJSONTransformer { if ([value caseInsensitiveCompare:@"imdsSupport"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameImdsSupport); } + if ([value caseInsensitiveCompare:@"deregistrationProtection"] == NSOrderedSame) { + return @(AWSEC2ImageAttributeNameDeregistrationProtection); + } return @(AWSEC2ImageAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -23872,6 +23877,8 @@ + (NSValueTransformer *)attributeJSONTransformer { return @"lastLaunchedTime"; case AWSEC2ImageAttributeNameImdsSupport: return @"imdsSupport"; + case AWSEC2ImageAttributeNameDeregistrationProtection: + return @"deregistrationProtection"; default: return nil; } @@ -25678,6 +25685,9 @@ + (NSValueTransformer *)attributeJSONTransformer { if ([value caseInsensitiveCompare:@"attachment"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceAttributeAttachment); } + if ([value caseInsensitiveCompare:@"associatePublicIpAddress"] == NSOrderedSame) { + return @(AWSEC2NetworkInterfaceAttributeAssociatePublicIpAddress); + } return @(AWSEC2NetworkInterfaceAttributeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -25689,6 +25699,8 @@ + (NSValueTransformer *)attributeJSONTransformer { return @"sourceDestCheck"; case AWSEC2NetworkInterfaceAttributeAttachment: return @"attachment"; + case AWSEC2NetworkInterfaceAttributeAssociatePublicIpAddress: + return @"associatePublicIpAddress"; default: return nil; } @@ -25705,6 +25717,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"associatePublicIpAddress" : @"AssociatePublicIpAddress", @"attachment" : @"Attachment", @"detail" : @"Description", @"groups" : @"Groups", @@ -33560,6 +33573,35 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2DisableImageDeregistrationProtectionRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"imageId" : @"ImageId", + }; +} + +@end + +@implementation AWSEC2DisableImageDeregistrationProtectionResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"returned" : @"Return", + }; +} + +@end + @implementation AWSEC2DisableImageRequest + (BOOL)supportsSecureCoding { @@ -35707,6 +35749,36 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2EnableImageDeregistrationProtectionRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"imageId" : @"ImageId", + @"withCooldown" : @"WithCooldown", + }; +} + +@end + +@implementation AWSEC2EnableImageDeregistrationProtectionResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"returned" : @"Return", + }; +} + +@end + @implementation AWSEC2EnableImageRequest + (BOOL)supportsSecureCoding { @@ -50458,6 +50530,124 @@ + (NSValueTransformer *)accountLevelJSONTransformer { @end +@implementation AWSEC2GetInstanceTpmEkPubRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"instanceId" : @"InstanceId", + @"keyFormat" : @"KeyFormat", + @"keyType" : @"KeyType", + }; +} + ++ (NSValueTransformer *)keyFormatJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"der"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyFormatDer); + } + if ([value caseInsensitiveCompare:@"tpmt"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyFormatTpmt); + } + return @(AWSEC2EkPubKeyFormatUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2EkPubKeyFormatDer: + return @"der"; + case AWSEC2EkPubKeyFormatTpmt: + return @"tpmt"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)keyTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"rsa-2048"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyTypeRsa2048); + } + if ([value caseInsensitiveCompare:@"ecc-sec-p384"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyTypeEccSecP384); + } + return @(AWSEC2EkPubKeyTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2EkPubKeyTypeRsa2048: + return @"rsa-2048"; + case AWSEC2EkPubKeyTypeEccSecP384: + return @"ecc-sec-p384"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSEC2GetInstanceTpmEkPubResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"keyFormat" : @"KeyFormat", + @"keyType" : @"KeyType", + @"keyValue" : @"KeyValue", + }; +} + ++ (NSValueTransformer *)keyFormatJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"der"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyFormatDer); + } + if ([value caseInsensitiveCompare:@"tpmt"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyFormatTpmt); + } + return @(AWSEC2EkPubKeyFormatUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2EkPubKeyFormatDer: + return @"der"; + case AWSEC2EkPubKeyFormatTpmt: + return @"tpmt"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)keyTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"rsa-2048"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyTypeRsa2048); + } + if ([value caseInsensitiveCompare:@"ecc-sec-p384"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyTypeEccSecP384); + } + return @(AWSEC2EkPubKeyTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2EkPubKeyTypeRsa2048: + return @"rsa-2048"; + case AWSEC2EkPubKeyTypeEccSecP384: + return @"ecc-sec-p384"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2GetInstanceTypesFromInstanceRequirementsRequest + (BOOL)supportsSecureCoding { @@ -52681,6 +52871,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"bootMode" : @"BootMode", @"creationDate" : @"CreationDate", @"deprecationTime" : @"DeprecationTime", + @"deregistrationProtection" : @"DeregistrationProtection", @"detail" : @"Description", @"enaSupport" : @"EnaSupport", @"hypervisor" : @"Hypervisor", @@ -52690,6 +52881,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"imageType" : @"ImageType", @"imdsSupport" : @"ImdsSupport", @"kernelId" : @"KernelId", + @"lastLaunchedTime" : @"LastLaunchedTime", @"name" : @"Name", @"ownerId" : @"OwnerId", @"platform" : @"Platform", @@ -52988,6 +53180,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDeviceMappings" : @"BlockDeviceMappings", @"bootMode" : @"BootMode", + @"deregistrationProtection" : @"DeregistrationProtection", @"detail" : @"Description", @"imageId" : @"ImageId", @"imdsSupport" : @"ImdsSupport", @@ -53010,6 +53203,10 @@ + (NSValueTransformer *)bootModeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } ++ (NSValueTransformer *)deregistrationProtectionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; +} + + (NSValueTransformer *)detailJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } @@ -64424,6 +64621,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"nitroEnclavesSupport" : @"NitroEnclavesSupport", @"nitroTpmInfo" : @"NitroTpmInfo", @"nitroTpmSupport" : @"NitroTpmSupport", + @"phcSupport" : @"PhcSupport", @"placementGroupInfo" : @"PlacementGroupInfo", @"processorInfo" : @"ProcessorInfo", @"supportedBootModes" : @"SupportedBootModes", @@ -68528,6 +68726,27 @@ + (NSValueTransformer *)nitroTpmSupportJSONTransformer { }]; } ++ (NSValueTransformer *)phcSupportJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { + return @(AWSEC2PhcSupportUnsupported); + } + if ([value caseInsensitiveCompare:@"supported"] == NSOrderedSame) { + return @(AWSEC2PhcSupportSupported); + } + return @(AWSEC2PhcSupportUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2PhcSupportUnsupported: + return @"unsupported"; + case AWSEC2PhcSupportSupported: + return @"supported"; + default: + return nil; + } + }]; +} + + (NSValueTransformer *)placementGroupInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PlacementGroupInfo class]]; } @@ -87843,6 +88062,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"associatePublicIpAddress" : @"AssociatePublicIpAddress", @"attachment" : @"Attachment", @"connectionTrackingSpecification" : @"ConnectionTrackingSpecification", @"detail" : @"Description", diff --git a/AWSEC2/AWSEC2Resources.m b/AWSEC2/AWSEC2Resources.m index 729116deadc..115de9810d2 100644 --- a/AWSEC2/AWSEC2Resources.m +++ b/AWSEC2/AWSEC2Resources.m @@ -564,7 +564,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CancelSpotFleetRequestsRequest\"},\ \"output\":{\"shape\":\"CancelSpotFleetRequestsResponse\"},\ - \"documentation\":\"

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

\"\ + \"documentation\":\"

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

Restrictions

  • You can delete up to 100 fleets in a single request. If you exceed the specified number, no fleets are deleted.

\"\ },\ \"CancelSpotInstanceRequests\":{\ \"name\":\"CancelSpotInstanceRequests\",\ @@ -724,7 +724,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateDhcpOptionsRequest\"},\ \"output\":{\"shape\":\"CreateDhcpOptionsResult\"},\ - \"documentation\":\"

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

\"\ + \"documentation\":\"

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-address-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

\"\ },\ \"CreateEgressOnlyInternetGateway\":{\ \"name\":\"CreateEgressOnlyInternetGateway\",\ @@ -874,7 +874,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateLaunchTemplateRequest\"},\ \"output\":{\"shape\":\"CreateLaunchTemplateResult\"},\ - \"documentation\":\"

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

If you want to clone an existing launch template as the basis for creating a new launch template, you can use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

\"\ },\ \"CreateLaunchTemplateVersion\":{\ \"name\":\"CreateLaunchTemplateVersion\",\ @@ -884,7 +884,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateLaunchTemplateVersionRequest\"},\ \"output\":{\"shape\":\"CreateLaunchTemplateVersionResult\"},\ - \"documentation\":\"

Creates a new version of a launch template. You can specify an existing version of launch template from which to base the new version.

Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes any changes you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

\"\ },\ \"CreateLocalGatewayRoute\":{\ \"name\":\"CreateLocalGatewayRoute\",\ @@ -1519,7 +1519,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DeleteFleetsRequest\"},\ \"output\":{\"shape\":\"DeleteFleetsResult\"},\ - \"documentation\":\"

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 instant fleets in a single request. If you exceed this number, no instant fleets are deleted and an error is returned. There is no restriction on the number of fleets of type maintain or request that can be deleted in a single request.

  • Up to 1000 instances can be terminated in a single request to delete instant fleets.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. Up to 1000 instances can be terminated in a single request to delete instant fleets. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 fleets of type instant in a single request.

  • You can delete up to 100 fleets of type maintain or request in a single request.

  • You can delete up to 125 fleets in a single request, provided you do not exceed the quota for each fleet type, as specified above.

  • If you exceed the specified number of fleets to delete, no fleets are deleted.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

\"\ },\ \"DeleteFlowLogs\":{\ \"name\":\"DeleteFlowLogs\",\ @@ -2007,7 +2007,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DeleteTransitGatewayRouteTableRequest\"},\ \"output\":{\"shape\":\"DeleteTransitGatewayRouteTableResult\"},\ - \"documentation\":\"

Deletes the specified transit gateway route table. You must disassociate the route table from any transit gateway route tables before you can delete it.

\"\ + \"documentation\":\"

Deletes the specified transit gateway route table. If there are any route tables associated with the transit gateway route table, you must first run DisassociateRouteTable before you can delete the transit gateway route table. This removes any route tables associated with the transit gateway route table.

\"\ },\ \"DeleteTransitGatewayRouteTableAnnouncement\":{\ \"name\":\"DeleteTransitGatewayRouteTableAnnouncement\",\ @@ -2661,7 +2661,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeImagesRequest\"},\ \"output\":{\"shape\":\"DescribeImagesResult\"},\ - \"documentation\":\"

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

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

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ + \"documentation\":\"

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

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

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeImportImageTasks\":{\ \"name\":\"DescribeImportImageTasks\",\ @@ -2761,7 +2761,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeInstanceTypeOfferingsRequest\"},\ \"output\":{\"shape\":\"DescribeInstanceTypeOfferingsResult\"},\ - \"documentation\":\"

Returns a list of all instance types offered. The results can be filtered by location (Region or Availability Zone). If no location is specified, the instance types offered in the current Region are returned.

\"\ + \"documentation\":\"

Lists the instance types that are offered for the specified location. If no location is specified, the default is to list the instance types that are offered in the current Region.

\"\ },\ \"DescribeInstanceTypes\":{\ \"name\":\"DescribeInstanceTypes\",\ @@ -2771,7 +2771,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeInstanceTypesRequest\"},\ \"output\":{\"shape\":\"DescribeInstanceTypesResult\"},\ - \"documentation\":\"

Describes the details of the instance types that are offered in a location. The results can be filtered by the attributes of the instance types.

\"\ + \"documentation\":\"

Describes the specified instance types. By default, all instance types for the current Region are described. Alternatively, you can filter the results.

\"\ },\ \"DescribeInstances\":{\ \"name\":\"DescribeInstances\",\ @@ -2781,7 +2781,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeInstancesRequest\"},\ \"output\":{\"shape\":\"DescribeInstancesResult\"},\ - \"documentation\":\"

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ + \"documentation\":\"

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeInternetGateways\":{\ \"name\":\"DescribeInternetGateways\",\ @@ -3081,7 +3081,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeNetworkInterfacesRequest\"},\ \"output\":{\"shape\":\"DescribeNetworkInterfacesResult\"},\ - \"documentation\":\"

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

\"\ + \"documentation\":\"

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

\"\ },\ \"DescribePlacementGroups\":{\ \"name\":\"DescribePlacementGroups\",\ @@ -3271,7 +3271,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeSnapshotsRequest\"},\ \"output\":{\"shape\":\"DescribeSnapshotsResult\"},\ - \"documentation\":\"

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

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

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

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

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

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

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

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

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

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

\"\ + \"documentation\":\"

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

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

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

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

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

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

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

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

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

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

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

\"\ },\ \"DescribeSpotDatafeedSubscription\":{\ \"name\":\"DescribeSpotDatafeedSubscription\",\ @@ -3371,7 +3371,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeTagsRequest\"},\ \"output\":{\"shape\":\"DescribeTagsResult\"},\ - \"documentation\":\"

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ + \"documentation\":\"

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeTrafficMirrorFilters\":{\ \"name\":\"DescribeTrafficMirrorFilters\",\ @@ -3591,7 +3591,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVolumesRequest\"},\ \"output\":{\"shape\":\"DescribeVolumesResult\"},\ - \"documentation\":\"

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ + \"documentation\":\"

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeVolumesModifications\":{\ \"name\":\"DescribeVolumesModifications\",\ @@ -3870,6 +3870,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DisableImageDeprecationResult\"},\ \"documentation\":\"

Cancels the deprecation of the specified AMI.

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

\"\ },\ + \"DisableImageDeregistrationProtection\":{\ + \"name\":\"DisableImageDeregistrationProtection\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DisableImageDeregistrationProtectionRequest\"},\ + \"output\":{\"shape\":\"DisableImageDeregistrationProtectionResult\"},\ + \"documentation\":\"

Disables deregistration protection for an AMI. When deregistration protection is disabled, the AMI can be deregistered.

If you chose to include a 24-hour cooldown period when you enabled deregistration protection for the AMI, then, when you disable deregistration protection, you won’t immediately be able to deregister the AMI.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

\"\ + },\ \"DisableIpamOrganizationAdminAccount\":{\ \"name\":\"DisableIpamOrganizationAdminAccount\",\ \"http\":{\ @@ -4167,6 +4177,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"EnableImageDeprecationResult\"},\ \"documentation\":\"

Enables deprecation of the specified AMI at the specified date and time.

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

\"\ },\ + \"EnableImageDeregistrationProtection\":{\ + \"name\":\"EnableImageDeregistrationProtection\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"EnableImageDeregistrationProtectionRequest\"},\ + \"output\":{\"shape\":\"EnableImageDeregistrationProtectionResult\"},\ + \"documentation\":\"

Enables deregistration protection for an AMI. When deregistration protection is enabled, the AMI can't be deregistered.

To allow the AMI to be deregistered, you must first disable deregistration protection using DisableImageDeregistrationProtection.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

\"\ + },\ \"EnableIpamOrganizationAdminAccount\":{\ \"name\":\"EnableIpamOrganizationAdminAccount\",\ \"http\":{\ @@ -4363,7 +4383,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"GetConsoleScreenshotRequest\"},\ \"output\":{\"shape\":\"GetConsoleScreenshotResult\"},\ - \"documentation\":\"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

\"\ + \"documentation\":\"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

For more information, see Instance console output in the Amazon EC2 User Guide.

\"\ },\ \"GetDefaultCreditSpecification\":{\ \"name\":\"GetDefaultCreditSpecification\",\ @@ -4445,6 +4465,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"GetInstanceMetadataDefaultsResult\"},\ \"documentation\":\"

Gets the default instance metadata service (IMDS) settings that are set at the account level in the specified Amazon Web Services
 Region.

For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ },\ + \"GetInstanceTpmEkPub\":{\ + \"name\":\"GetInstanceTpmEkPub\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetInstanceTpmEkPubRequest\"},\ + \"output\":{\"shape\":\"GetInstanceTpmEkPubResult\"},\ + \"documentation\":\"

Gets the public endorsement key associated with the Nitro Trusted Platform Module (NitroTPM) for the specified instance.

\"\ + },\ \"GetInstanceTypesFromInstanceRequirements\":{\ \"name\":\"GetInstanceTypesFromInstanceRequirements\",\ \"http\":{\ @@ -5059,7 +5089,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifyInstanceMetadataDefaultsRequest\"},\ \"output\":{\"shape\":\"ModifyInstanceMetadataDefaultsResult\"},\ - \"documentation\":\"

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. At instance launch, the value will come from the AMI, or from the launch parameter if specified. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. If an account-level setting is cleared with no-preference, then the instance launch considers the other instance metadata settings. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ },\ \"ModifyInstanceMetadataOptions\":{\ \"name\":\"ModifyInstanceMetadataOptions\",\ @@ -8593,12 +8623,12 @@ - (NSString *)definitionString { },\ \"CertificateS3ObjectKey\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle is stored. The object key is formated as follows: role_arn/certificate_arn.

\",\ + \"documentation\":\"

The key of the Amazon S3 object where the certificate, certificate chain, and encrypted private key bundle are stored. The object key is formatted as follows: role_arn/certificate_arn.

\",\ \"locationName\":\"certificateS3ObjectKey\"\ },\ \"EncryptionKmsKeyId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The ID of the KMS customer master key (CMK) used to encrypt the private key.

\",\ + \"documentation\":\"

The ID of the KMS key used to encrypt the private key.

\",\ \"locationName\":\"encryptionKmsKeyId\"\ }\ },\ @@ -10009,7 +10039,7 @@ - (NSString *)definitionString { },\ \"SpotFleetRequestIds\":{\ \"shape\":\"SpotFleetRequestIdList\",\ - \"documentation\":\"

The IDs of the Spot Fleet requests.

\",\ + \"documentation\":\"

The IDs of the Spot Fleet requests.

Constraint: You can specify up to 100 IDs in a single request.

\",\ \"locationName\":\"spotFleetRequestId\"\ },\ \"TerminateInstances\":{\ @@ -12560,7 +12590,7 @@ - (NSString *)definitionString { \"members\":{\ \"BgpAsn\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

\"\ + \"documentation\":\"

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Default: 65000

Valid values: 1 to 2,147,483,647

\"\ },\ \"PublicIp\":{\ \"shape\":\"String\",\ @@ -12585,12 +12615,16 @@ - (NSString *)definitionString { },\ \"IpAddress\":{\ \"shape\":\"String\",\ - \"documentation\":\"

IPv4 address for the customer gateway device's outside interface. The address must be static.

\"\ + \"documentation\":\"

IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

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

\",\ \"locationName\":\"dryRun\"\ + },\ + \"BgpAsnExtended\":{\ + \"shape\":\"Long\",\ + \"documentation\":\"

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Valid values: 2,147,483,648 to 4,294,967,295

\"\ }\ },\ \"documentation\":\"

Contains the parameters for CreateCustomerGateway.

\"\ @@ -12737,12 +12771,12 @@ - (NSString *)definitionString { },\ \"ErrorCode\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

\",\ + \"documentation\":\"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

\",\ \"locationName\":\"errorCode\"\ },\ \"ErrorMessage\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

\",\ + \"documentation\":\"

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

\",\ \"locationName\":\"errorMessage\"\ }\ },\ @@ -13490,7 +13524,7 @@ - (NSString *)definitionString { },\ \"TagSpecifications\":{\ \"shape\":\"TagSpecificationList\",\ - \"documentation\":\"

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

\",\ + \"documentation\":\"

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

\",\ \"locationName\":\"TagSpecification\"\ }\ }\ @@ -13524,15 +13558,15 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

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

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"SourceVersion\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The version number of the launch template version on which to base the new version. The new version inherits the same launch parameters as the source version, except for parameters that you specify in LaunchTemplateData. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

\"\ + \"documentation\":\"

The version of the launch template on which to base the new version. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

If you specify this parameter, the new version inherits the launch parameters from the source version. If you specify additional launch parameters for the new version, they overwrite any corresponding launch parameters inherited from the source version.

If you omit this parameter, the new version contains only the launch parameters that you specify for the new version.

\"\ },\ \"VersionDescription\":{\ \"shape\":\"VersionDescription\",\ @@ -16416,7 +16450,7 @@ - (NSString *)definitionString { \"members\":{\ \"BgpAsn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

\",\ + \"documentation\":\"

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

Valid values: 1 to 2,147,483,647

\",\ \"locationName\":\"bgpAsn\"\ },\ \"CustomerGatewayId\":{\ @@ -16426,7 +16460,7 @@ - (NSString *)definitionString { },\ \"IpAddress\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IP address of the customer gateway device's outside interface.

\",\ + \"documentation\":\"

IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

\",\ \"locationName\":\"ipAddress\"\ },\ \"CertificateArn\":{\ @@ -16453,6 +16487,11 @@ - (NSString *)definitionString { \"shape\":\"TagList\",\ \"documentation\":\"

Any tags assigned to the customer gateway.

\",\ \"locationName\":\"tagSet\"\ + },\ + \"BgpAsnExtended\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

Valid values: 2,147,483,648 to 4,294,967,295

\",\ + \"locationName\":\"bgpAsnExtended\"\ }\ },\ \"documentation\":\"

Describes a customer gateway.

\"\ @@ -16903,7 +16942,7 @@ - (NSString *)definitionString { },\ \"FleetIds\":{\ \"shape\":\"FleetIdSet\",\ - \"documentation\":\"

The IDs of the EC2 Fleets.

\",\ + \"documentation\":\"

The IDs of the EC2 Fleets.

Constraints: In a single request, you can specify up to 25 instant fleet IDs and up to 100 maintain or request fleet IDs.

\",\ \"locationName\":\"FleetId\"\ },\ \"TerminateInstances\":{\ @@ -17190,11 +17229,11 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

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

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ }\ }\ },\ @@ -17218,11 +17257,11 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

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

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"Versions\":{\ \"shape\":\"VersionStringList\",\ @@ -21171,11 +21210,11 @@ - (NSString *)definitionString { },\ \"LocationType\":{\ \"shape\":\"LocationType\",\ - \"documentation\":\"

The location type.

\"\ + \"documentation\":\"

The location type.

  • availability-zone - The Availability Zone. When you specify a location filter, it must be an Availability Zone for the current Region.

  • availability-zone-id - The AZ ID. When you specify a location filter, it must be an AZ ID for the current Region.

  • outpost - The Outpost ARN. When you specify a location filter, it must be an Outpost ARN for the current Region.

  • region - The current Region. If you specify a location filter, it must match the current Region.

\"\ },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

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

  • location - This depends on the location type. For example, if the location type is region (default), the location is the Region code (for example, us-east-2.)

  • instance-type - The instance type. For example, c5.2xlarge.

\",\ + \"documentation\":\"

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

  • instance-type - The instance type. For a list of possible values, see Instance.

  • location - The location. For a list of possible identifiers, see Regions and Zones.

\",\ \"locationName\":\"Filter\"\ },\ \"MaxResults\":{\ @@ -21193,7 +21232,7 @@ - (NSString *)definitionString { \"members\":{\ \"InstanceTypeOfferings\":{\ \"shape\":\"InstanceTypeOfferingsList\",\ - \"documentation\":\"

The instance types offered.

\",\ + \"documentation\":\"

The instance types offered in the location.

\",\ \"locationName\":\"instanceTypeOfferingSet\"\ },\ \"NextToken\":{\ @@ -21212,7 +21251,7 @@ - (NSString *)definitionString { },\ \"InstanceTypes\":{\ \"shape\":\"RequestInstanceTypeList\",\ - \"documentation\":\"

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

\",\ + \"documentation\":\"

The instance types.

\",\ \"locationName\":\"InstanceType\"\ },\ \"Filters\":{\ @@ -21235,7 +21274,7 @@ - (NSString *)definitionString { \"members\":{\ \"InstanceTypes\":{\ \"shape\":\"InstanceTypeInfoList\",\ - \"documentation\":\"

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

\",\ + \"documentation\":\"

The instance type.

\",\ \"locationName\":\"instanceTypeSet\"\ },\ \"NextToken\":{\ @@ -21675,11 +21714,11 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

\"\ + \"documentation\":\"

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template ID or the launch template name, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

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

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

\"\ + \"documentation\":\"

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template name or the launch template ID, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

\"\ },\ \"Versions\":{\ \"shape\":\"VersionStringList\",\ @@ -22549,6 +22588,11 @@ - (NSString *)definitionString { \"shape\":\"AttributeBooleanValue\",\ \"documentation\":\"

Indicates whether source/destination checking is enabled.

\",\ \"locationName\":\"sourceDestCheck\"\ + },\ + \"AssociatePublicIpAddress\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

\",\ + \"locationName\":\"associatePublicIpAddress\"\ }\ },\ \"documentation\":\"

Contains the output of DescribeNetworkInterfaceAttribute.

\"\ @@ -22637,7 +22681,7 @@ - (NSString *)definitionString { \"members\":{\ \"NetworkInterfaces\":{\ \"shape\":\"NetworkInterfaceList\",\ - \"documentation\":\"

Information about one or more network interfaces.

\",\ + \"documentation\":\"

Information about the network interfaces.

\",\ \"locationName\":\"networkInterfaceSet\"\ },\ \"NextToken\":{\ @@ -23959,7 +24003,7 @@ - (NSString *)definitionString { },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

  • tag:<key> - The key/value combination of the tag. For example, specify \\\"tag:Owner\\\" for the filter name and \\\"TeamA\\\" for the filter value to find resources with the tag \\\"Owner=TeamA\\\".

  • value - The tag value.

\",\ + \"documentation\":\"

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type. For a list of possible values, see TagSpecification.

  • tag:<key> - The key/value combination of the tag. For example, specify \\\"tag:Owner\\\" for the filter name and \\\"TeamA\\\" for the filter value to find resources with the tag \\\"Owner=TeamA\\\".

  • value - The tag value.

\",\ \"locationName\":\"Filter\"\ },\ \"MaxResults\":{\ @@ -24493,7 +24537,7 @@ - (NSString *)definitionString { },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

  • state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

  • transit-gateway-id - The ID of the transit gateway.

\",\ + \"documentation\":\"

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

  • state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

  • transit-gateway-id - The ID of the transit gateway.

  • tag-key - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

\",\ \"locationName\":\"Filter\"\ },\ \"MaxResults\":{\ @@ -26220,6 +26264,30 @@ - (NSString *)definitionString { }\ }\ },\ + \"DisableImageDeregistrationProtectionRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"ImageId\"],\ + \"members\":{\ + \"ImageId\":{\ + \"shape\":\"ImageId\",\ + \"documentation\":\"

The ID of the AMI.

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

\"\ + }\ + }\ + },\ + \"DisableImageDeregistrationProtectionResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Return\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Returns true if the request succeeds; otherwise, it returns an error.

\",\ + \"locationName\":\"return\"\ + }\ + }\ + },\ \"DisableImageRequest\":{\ \"type\":\"structure\",\ \"required\":[\"ImageId\"],\ @@ -27429,6 +27497,24 @@ - (NSString *)definitionString { \"locationName\":\"item\"\ }\ },\ + \"EkPubKeyFormat\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"der\",\ + \"tpmt\"\ + ]\ + },\ + \"EkPubKeyType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"rsa-2048\",\ + \"ecc-sec-p384\"\ + ]\ + },\ + \"EkPubKeyValue\":{\ + \"type\":\"string\",\ + \"sensitive\":true\ + },\ \"ElasticGpuAssociation\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -28088,6 +28174,34 @@ - (NSString *)definitionString { }\ }\ },\ + \"EnableImageDeregistrationProtectionRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"ImageId\"],\ + \"members\":{\ + \"ImageId\":{\ + \"shape\":\"ImageId\",\ + \"documentation\":\"

The ID of the AMI.

\"\ + },\ + \"WithCooldown\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

If true, enforces deregistration protection for 24 hours after deregistration protection is disabled.

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

\"\ + }\ + }\ + },\ + \"EnableImageDeregistrationProtectionResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Return\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Returns true if the request succeeds; otherwise, it returns an error.

\",\ + \"locationName\":\"return\"\ + }\ + }\ + },\ \"EnableImageRequest\":{\ \"type\":\"structure\",\ \"required\":[\"ImageId\"],\ @@ -30819,6 +30933,57 @@ - (NSString *)definitionString { }\ }\ },\ + \"GetInstanceTpmEkPubRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"KeyType\",\ + \"KeyFormat\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

The ID of the instance for which to get the public endorsement key.

\"\ + },\ + \"KeyType\":{\ + \"shape\":\"EkPubKeyType\",\ + \"documentation\":\"

The required public endorsement key type.

\"\ + },\ + \"KeyFormat\":{\ + \"shape\":\"EkPubKeyFormat\",\ + \"documentation\":\"

The required public endorsement key format. Specify der for a DER-encoded public key that is compatible with OpenSSL. Specify tpmt for a TPM 2.0 format that is compatible with tpm2-tools. The returned key is base64 encoded.

\"\ + },\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Specify this parameter to verify whether the request will succeed, without actually making the request. If the request will succeed, the response is DryRunOperation. Otherwise, the response is UnauthorizedOperation.

\"\ + }\ + }\ + },\ + \"GetInstanceTpmEkPubResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

The ID of the instance.

\",\ + \"locationName\":\"instanceId\"\ + },\ + \"KeyType\":{\ + \"shape\":\"EkPubKeyType\",\ + \"documentation\":\"

The public endorsement key type.

\",\ + \"locationName\":\"keyType\"\ + },\ + \"KeyFormat\":{\ + \"shape\":\"EkPubKeyFormat\",\ + \"documentation\":\"

The public endorsement key format.

\",\ + \"locationName\":\"keyFormat\"\ + },\ + \"KeyValue\":{\ + \"shape\":\"EkPubKeyValue\",\ + \"documentation\":\"

The public endorsement key material.

\",\ + \"locationName\":\"keyValue\"\ + }\ + }\ + },\ \"GetInstanceTypesFromInstanceRequirementsRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -33092,6 +33257,16 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"

The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This field only appears if the AMI was created using CreateImage.

\",\ \"locationName\":\"sourceInstanceId\"\ + },\ + \"DeregistrationProtection\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Indicates whether deregistration protection is enabled for the AMI.

\",\ + \"locationName\":\"deregistrationProtection\"\ + },\ + \"LastLaunchedTime\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The date and time, in ISO 8601 date-time format, when the AMI was last used to launch an EC2 instance. When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

lastLaunchedTime data is available starting April 2017.

\",\ + \"locationName\":\"lastLaunchedTime\"\ }\ },\ \"documentation\":\"

Describes an image.

\"\ @@ -33163,6 +33338,11 @@ - (NSString *)definitionString { \"shape\":\"AttributeValue\",\ \"documentation\":\"

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched from this AMI will have HttpTokens automatically set to required so that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. In addition, HttpPutResponseHopLimit is set to 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

\",\ \"locationName\":\"imdsSupport\"\ + },\ + \"DeregistrationProtection\":{\ + \"shape\":\"AttributeValue\",\ + \"documentation\":\"

Indicates whether deregistration protection is enabled for the AMI.

\",\ + \"locationName\":\"deregistrationProtection\"\ }\ },\ \"documentation\":\"

Describes an image attribute.

\"\ @@ -33181,7 +33361,8 @@ - (NSString *)definitionString { \"tpmSupport\",\ \"uefiData\",\ \"lastLaunchedTime\",\ - \"imdsSupport\"\ + \"imdsSupport\",\ + \"deregistrationProtection\"\ ]\ },\ \"ImageBlockPublicAccessDisabledState\":{\ @@ -37163,6 +37344,11 @@ - (NSString *)definitionString { \"shape\":\"NeuronInfo\",\ \"documentation\":\"

Describes the Neuron accelerator settings for the instance type.

\",\ \"locationName\":\"neuronInfo\"\ + },\ + \"PhcSupport\":{\ + \"shape\":\"PhcSupport\",\ + \"documentation\":\"

Indicates whether a local Precision Time Protocol (PTP) hardware clock (PHC) is supported.

\",\ + \"locationName\":\"phcSupport\"\ }\ },\ \"documentation\":\"

Describes the instance type.

\"\ @@ -40056,7 +40242,7 @@ - (NSString *)definitionString { },\ \"DeviceIndex\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The device index for the network interface attachment.

\"\ + \"documentation\":\"

The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.

\"\ },\ \"Groups\":{\ \"shape\":\"SecurityGroupIdStringList\",\ @@ -40379,18 +40565,18 @@ - (NSString *)definitionString { \"members\":{\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

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

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

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

The launch template version number, $Latest, or $Default.

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

If the value is $Default, Amazon EC2 uses the default version of the launch template.

Default: The default version of the launch template.

\"\ + \"documentation\":\"

The launch template version number, $Latest, or $Default.

A value of $Latest uses the latest version of the launch template.

A value of $Default uses the default version of the launch template.

Default: The default version of the launch template.

\"\ }\ },\ - \"documentation\":\"

The launch template to use. You must specify either the launch template ID or launch template name in the request, but not both.

\"\ + \"documentation\":\"

Describes the launch template to use.

\"\ },\ \"LaunchTemplateSpotMarketOptions\":{\ \"type\":\"structure\",\ @@ -42537,7 +42723,7 @@ - (NSString *)definitionString { },\ \"HttpPutResponseHopLimit\":{\ \"shape\":\"BoxedInteger\",\ - \"documentation\":\"

The maximum number of hops that the metadata token can travel.

Minimum: 1

Maximum: 64

\"\ + \"documentation\":\"

The maximum number of hops that the metadata token can travel. To indicate no preference, specify -1.

Possible values: Integers from 1 to 64, and -1 to indicate no preference

\"\ },\ \"HttpEndpoint\":{\ \"shape\":\"DefaultInstanceMetadataEndpointState\",\ @@ -42893,11 +43079,11 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

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

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"DefaultVersion\":{\ \"shape\":\"String\",\ @@ -43047,6 +43233,10 @@ - (NSString *)definitionString { \"ConnectionTrackingSpecification\":{\ \"shape\":\"ConnectionTrackingSpecificationRequest\",\ \"documentation\":\"

A connection tracking specification.

\"\ + },\ + \"AssociatePublicIpAddress\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

\"\ }\ },\ \"documentation\":\"

Contains the parameters for ModifyNetworkInterfaceAttribute.

\"\ @@ -45856,7 +46046,8 @@ - (NSString *)definitionString { \"description\",\ \"groupSet\",\ \"sourceDestCheck\",\ - \"attachment\"\ + \"attachment\",\ + \"associatePublicIpAddress\"\ ]\ },\ \"NetworkInterfaceCount\":{\ @@ -47031,6 +47222,13 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.

\"\ },\ + \"PhcSupport\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"unsupported\",\ + \"supported\"\ + ]\ + },\ \"Placement\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -49502,7 +49700,7 @@ - (NSString *)definitionString { },\ \"NetworkInterfaces\":{\ \"shape\":\"LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList\",\ - \"documentation\":\"

One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

\",\ + \"documentation\":\"

The network interfaces for the instance.

\",\ \"locationName\":\"NetworkInterface\"\ },\ \"ImageId\":{\ @@ -49558,12 +49756,12 @@ - (NSString *)definitionString { },\ \"SecurityGroupIds\":{\ \"shape\":\"SecurityGroupIdStringList\",\ - \"documentation\":\"

One or more security group IDs. You can create a security group using CreateSecurityGroup.

\",\ + \"documentation\":\"

The IDs of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"SecurityGroupId\"\ },\ \"SecurityGroups\":{\ \"shape\":\"SecurityGroupStringList\",\ - \"documentation\":\"

One or more security group names. For a nondefault VPC, you must use security group IDs instead.

\",\ + \"documentation\":\"

The names of the security groups. For a nondefault VPC, you must use security group IDs instead.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"SecurityGroup\"\ },\ \"InstanceMarketOptions\":{\ @@ -51710,17 +51908,17 @@ - (NSString *)definitionString { },\ \"SecurityGroupIds\":{\ \"shape\":\"SecurityGroupIdStringList\",\ - \"documentation\":\"

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface.

\",\ + \"documentation\":\"

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"SecurityGroupId\"\ },\ \"SecurityGroups\":{\ \"shape\":\"SecurityGroupStringList\",\ - \"documentation\":\"

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface.

Default: Amazon EC2 uses the default security group.

\",\ + \"documentation\":\"

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

Default: Amazon EC2 uses the default security group.

\",\ \"locationName\":\"SecurityGroup\"\ },\ \"SubnetId\":{\ \"shape\":\"SubnetId\",\ - \"documentation\":\"

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface.

\"\ + \"documentation\":\"

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

\"\ },\ \"UserData\":{\ \"shape\":\"RunInstancesUserData\",\ @@ -51764,7 +51962,7 @@ - (NSString *)definitionString { },\ \"NetworkInterfaces\":{\ \"shape\":\"InstanceNetworkInterfaceSpecificationList\",\ - \"documentation\":\"

The network interfaces to associate with the instance. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

\",\ + \"documentation\":\"

The network interfaces to associate with the instance.

\",\ \"locationName\":\"networkInterface\"\ },\ \"PrivateIpAddress\":{\ @@ -51774,11 +51972,11 @@ - (NSString *)definitionString { },\ \"ElasticGpuSpecification\":{\ \"shape\":\"ElasticGpuSpecifications\",\ - \"documentation\":\"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

\"\ + \"documentation\":\"

An elastic GPU to associate with the instance.

Amazon Elastic Graphics reached end of life on January 8, 2024.

\"\ },\ \"ElasticInferenceAccelerators\":{\ \"shape\":\"ElasticInferenceAccelerators\",\ - \"documentation\":\"

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

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.

\",\ + \"documentation\":\"

An elastic inference accelerator to associate with the instance.

Amazon Elastic Inference (EI) is no longer available to new customers. For more information, see Amazon Elastic Inference FAQs.

\",\ \"locationName\":\"ElasticInferenceAccelerator\"\ },\ \"TagSpecifications\":{\ @@ -51788,7 +51986,7 @@ - (NSString *)definitionString { },\ \"LaunchTemplate\":{\ \"shape\":\"LaunchTemplateSpecification\",\ - \"documentation\":\"

The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.

\"\ + \"documentation\":\"

The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.

\"\ },\ \"InstanceMarketOptions\":{\ \"shape\":\"InstanceMarketOptionsRequest\",\ @@ -52554,7 +52752,7 @@ - (NSString *)definitionString { },\ \"MaxResults\":{\ \"shape\":\"TransitGatewayMaxResults\",\ - \"documentation\":\"

The maximum number of routes to return.

\"\ + \"documentation\":\"

The maximum number of routes to return. If a value is not provided, the default is 1000.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -53743,7 +53941,7 @@ - (NSString *)definitionString { \"members\":{\ \"SecurityGroups\":{\ \"shape\":\"GroupIdentifierList\",\ - \"documentation\":\"

The security groups.

\",\ + \"documentation\":\"

The security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"groupSet\"\ },\ \"AddressingType\":{\ @@ -53793,7 +53991,7 @@ - (NSString *)definitionString { },\ \"NetworkInterfaces\":{\ \"shape\":\"InstanceNetworkInterfaceSpecificationList\",\ - \"documentation\":\"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

\",\ + \"documentation\":\"

The network interfaces.

SpotFleetLaunchSpecification does not support Elastic Fabric Adapter (EFA). You must use LaunchTemplateConfig instead.

\",\ \"locationName\":\"networkInterfaceSet\"\ },\ \"Placement\":{\ @@ -53813,7 +54011,7 @@ - (NSString *)definitionString { },\ \"SubnetId\":{\ \"shape\":\"SubnetId\",\ - \"documentation\":\"

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \\\"subnet-1234abcdeexample1, subnet-0987cdef6example2\\\".

\",\ + \"documentation\":\"

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \\\"subnet-1234abcdeexample1, subnet-0987cdef6example2\\\".

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"subnetId\"\ },\ \"UserData\":{\ @@ -59389,7 +59587,7 @@ - (NSString *)definitionString { \"members\":{\ \"Attachments\":{\ \"shape\":\"VolumeAttachmentList\",\ - \"documentation\":\"

Information about the volume attachments.

\",\ + \"documentation\":\"

This parameter is not returned by CreateVolume.

Information about the volume attachments.

\",\ \"locationName\":\"attachmentSet\"\ },\ \"AvailabilityZone\":{\ @@ -59454,7 +59652,7 @@ - (NSString *)definitionString { },\ \"FastRestored\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether the volume was created using fast snapshot restore.

\",\ + \"documentation\":\"

This parameter is not returned by CreateVolume.

Indicates whether the volume was created using fast snapshot restore.

\",\ \"locationName\":\"fastRestored\"\ },\ \"MultiAttachEnabled\":{\ @@ -59469,7 +59667,7 @@ - (NSString *)definitionString { },\ \"SseType\":{\ \"shape\":\"SSEType\",\ - \"documentation\":\"

Reserved for future use.

\",\ + \"documentation\":\"

This parameter is not returned by CreateVolume.

Reserved for future use.

\",\ \"locationName\":\"sseType\"\ }\ },\ diff --git a/AWSEC2/AWSEC2Service.h b/AWSEC2/AWSEC2Service.h index c180b3aaaf2..3ead062f3d8 100644 --- a/AWSEC2/AWSEC2Service.h +++ b/AWSEC2/AWSEC2Service.h @@ -1388,7 +1388,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)cancelReservedInstancesListing:(AWSEC2CancelReservedInstancesListingRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CancelReservedInstancesListingResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

+

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

Restrictions

  • You can delete up to 100 fleets in a single request. If you exceed the specified number, no fleets are deleted.

@param request A container for the necessary parameters to execute the CancelSpotFleetRequests service method. @@ -1400,7 +1400,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)cancelSpotFleetRequests:(AWSEC2CancelSpotFleetRequestsRequest *)request; /** -

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

+

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

Restrictions

  • You can delete up to 100 fleets in a single request. If you exceed the specified number, no fleets are deleted.

@param request A container for the necessary parameters to execute the CancelSpotFleetRequests service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1788,7 +1788,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createDefaultVpc:(AWSEC2CreateDefaultVpcRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateDefaultVpcResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

+

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-address-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

@param request A container for the necessary parameters to execute the CreateDhcpOptions service method. @@ -1800,7 +1800,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createDhcpOptions:(AWSEC2CreateDhcpOptionsRequest *)request; /** -

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

+

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-address-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

@param request A container for the necessary parameters to execute the CreateDhcpOptions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2163,7 +2163,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createKeyPair:(AWSEC2CreateKeyPairRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2KeyPair * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

If you want to clone an existing launch template as the basis for creating a new launch template, you can use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

+

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplate service method. @@ -2175,7 +2175,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createLaunchTemplate:(AWSEC2CreateLaunchTemplateRequest *)request; /** -

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

If you want to clone an existing launch template as the basis for creating a new launch template, you can use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

+

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplate service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2188,7 +2188,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createLaunchTemplate:(AWSEC2CreateLaunchTemplateRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateLaunchTemplateResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a new version of a launch template. You can specify an existing version of launch template from which to base the new version.

Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes any changes you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

+

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplateVersion service method. @@ -2200,7 +2200,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createLaunchTemplateVersion:(AWSEC2CreateLaunchTemplateVersionRequest *)request; /** -

Creates a new version of a launch template. You can specify an existing version of launch template from which to base the new version.

Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes any changes you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

+

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplateVersion service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3773,7 +3773,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteEgressOnlyInternetGateway:(AWSEC2DeleteEgressOnlyInternetGatewayRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteEgressOnlyInternetGatewayResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 instant fleets in a single request. If you exceed this number, no instant fleets are deleted and an error is returned. There is no restriction on the number of fleets of type maintain or request that can be deleted in a single request.

  • Up to 1000 instances can be terminated in a single request to delete instant fleets.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

+

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. Up to 1000 instances can be terminated in a single request to delete instant fleets. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 fleets of type instant in a single request.

  • You can delete up to 100 fleets of type maintain or request in a single request.

  • You can delete up to 125 fleets in a single request, provided you do not exceed the quota for each fleet type, as specified above.

  • If you exceed the specified number of fleets to delete, no fleets are deleted.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DeleteFleets service method. @@ -3785,7 +3785,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteFleets:(AWSEC2DeleteFleetsRequest *)request; /** -

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 instant fleets in a single request. If you exceed this number, no instant fleets are deleted and an error is returned. There is no restriction on the number of fleets of type maintain or request that can be deleted in a single request.

  • Up to 1000 instances can be terminated in a single request to delete instant fleets.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

+

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. Up to 1000 instances can be terminated in a single request to delete instant fleets. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 fleets of type instant in a single request.

  • You can delete up to 100 fleets of type maintain or request in a single request.

  • You can delete up to 125 fleets in a single request, provided you do not exceed the quota for each fleet type, as specified above.

  • If you exceed the specified number of fleets to delete, no fleets are deleted.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DeleteFleets service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4987,7 +4987,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteTransitGatewayRoute:(AWSEC2DeleteTransitGatewayRouteRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteTransitGatewayRouteResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes the specified transit gateway route table. You must disassociate the route table from any transit gateway route tables before you can delete it.

+

Deletes the specified transit gateway route table. If there are any route tables associated with the transit gateway route table, you must first run DisassociateRouteTable before you can delete the transit gateway route table. This removes any route tables associated with the transit gateway route table.

@param request A container for the necessary parameters to execute the DeleteTransitGatewayRouteTable service method. @@ -4999,7 +4999,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteTransitGatewayRouteTable:(AWSEC2DeleteTransitGatewayRouteTableRequest *)request; /** -

Deletes the specified transit gateway route table. You must disassociate the route table from any transit gateway route tables before you can delete it.

+

Deletes the specified transit gateway route table. If there are any route tables associated with the transit gateway route table, you must first run DisassociateRouteTable before you can delete the transit gateway route table. This removes any route tables associated with the transit gateway route table.

@param request A container for the necessary parameters to execute the DeleteTransitGatewayRouteTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6619,7 +6619,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeImageAttribute:(AWSEC2DescribeImageAttributeRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ImageAttribute * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

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

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

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

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeImages service method. @@ -6631,7 +6631,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeImages:(AWSEC2DescribeImagesRequest *)request; /** -

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

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

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

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

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeImages service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6869,7 +6869,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeInstanceTopology:(AWSEC2DescribeInstanceTopologyRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstanceTopologyResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns a list of all instance types offered. The results can be filtered by location (Region or Availability Zone). If no location is specified, the instance types offered in the current Region are returned.

+

Lists the instance types that are offered for the specified location. If no location is specified, the default is to list the instance types that are offered in the current Region.

@param request A container for the necessary parameters to execute the DescribeInstanceTypeOfferings service method. @@ -6881,7 +6881,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeInstanceTypeOfferings:(AWSEC2DescribeInstanceTypeOfferingsRequest *)request; /** -

Returns a list of all instance types offered. The results can be filtered by location (Region or Availability Zone). If no location is specified, the instance types offered in the current Region are returned.

+

Lists the instance types that are offered for the specified location. If no location is specified, the default is to list the instance types that are offered in the current Region.

@param request A container for the necessary parameters to execute the DescribeInstanceTypeOfferings service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6894,7 +6894,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeInstanceTypeOfferings:(AWSEC2DescribeInstanceTypeOfferingsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstanceTypeOfferingsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the details of the instance types that are offered in a location. The results can be filtered by the attributes of the instance types.

+

Describes the specified instance types. By default, all instance types for the current Region are described. Alternatively, you can filter the results.

@param request A container for the necessary parameters to execute the DescribeInstanceTypes service method. @@ -6906,7 +6906,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeInstanceTypes:(AWSEC2DescribeInstanceTypesRequest *)request; /** -

Describes the details of the instance types that are offered in a location. The results can be filtered by the attributes of the instance types.

+

Describes the specified instance types. By default, all instance types for the current Region are described. Alternatively, you can filter the results.

@param request A container for the necessary parameters to execute the DescribeInstanceTypes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6919,7 +6919,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeInstanceTypes:(AWSEC2DescribeInstanceTypesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstanceTypesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeInstances service method. @@ -6931,7 +6931,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeInstances:(AWSEC2DescribeInstancesRequest *)request; /** -

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7669,7 +7669,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeNetworkInterfacePermissions:(AWSEC2DescribeNetworkInterfacePermissionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeNetworkInterfacePermissionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

+

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

@param request A container for the necessary parameters to execute the DescribeNetworkInterfaces service method. @@ -7681,7 +7681,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeNetworkInterfaces:(AWSEC2DescribeNetworkInterfacesRequest *)request; /** -

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

+

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

@param request A container for the necessary parameters to execute the DescribeNetworkInterfaces service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8144,7 +8144,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSnapshotTierStatus:(AWSEC2DescribeSnapshotTierStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSnapshotTierStatusResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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

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

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

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

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

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

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

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

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

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

+

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

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

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

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

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

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

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

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

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

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

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

@param request A container for the necessary parameters to execute the DescribeSnapshots service method. @@ -8156,7 +8156,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeSnapshots:(AWSEC2DescribeSnapshotsRequest *)request; /** -

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

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

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

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

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

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

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

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

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

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

+

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

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

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

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

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

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

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

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

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

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

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

@param request A container for the necessary parameters to execute the DescribeSnapshots service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8394,7 +8394,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSubnets:(AWSEC2DescribeSubnetsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSubnetsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeTags service method. @@ -8406,7 +8406,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeTags:(AWSEC2DescribeTagsRequest *)request; /** -

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeTags service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8944,7 +8944,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVolumeStatus:(AWSEC2DescribeVolumeStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVolumeStatusResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeVolumes service method. @@ -8956,7 +8956,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeVolumes:(AWSEC2DescribeVolumesRequest *)request; /** -

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeVolumes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9659,6 +9659,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)disableImageDeprecation:(AWSEC2DisableImageDeprecationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableImageDeprecationResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Disables deregistration protection for an AMI. When deregistration protection is disabled, the AMI can be deregistered.

If you chose to include a 24-hour cooldown period when you enabled deregistration protection for the AMI, then, when you disable deregistration protection, you won’t immediately be able to deregister the AMI.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DisableImageDeregistrationProtection service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DisableImageDeregistrationProtectionResult`. + + @see AWSEC2DisableImageDeregistrationProtectionRequest + @see AWSEC2DisableImageDeregistrationProtectionResult + */ +- (AWSTask *)disableImageDeregistrationProtection:(AWSEC2DisableImageDeregistrationProtectionRequest *)request; + +/** +

Disables deregistration protection for an AMI. When deregistration protection is disabled, the AMI can be deregistered.

If you chose to include a 24-hour cooldown period when you enabled deregistration protection for the AMI, then, when you disable deregistration protection, you won’t immediately be able to deregister the AMI.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DisableImageDeregistrationProtection service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSEC2DisableImageDeregistrationProtectionRequest + @see AWSEC2DisableImageDeregistrationProtectionResult + */ +- (void)disableImageDeregistrationProtection:(AWSEC2DisableImageDeregistrationProtectionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableImageDeregistrationProtectionResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Disable the IPAM account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.

@@ -10400,6 +10425,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)enableImageDeprecation:(AWSEC2EnableImageDeprecationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableImageDeprecationResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Enables deregistration protection for an AMI. When deregistration protection is enabled, the AMI can't be deregistered.

To allow the AMI to be deregistered, you must first disable deregistration protection using DisableImageDeregistrationProtection.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the EnableImageDeregistrationProtection service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2EnableImageDeregistrationProtectionResult`. + + @see AWSEC2EnableImageDeregistrationProtectionRequest + @see AWSEC2EnableImageDeregistrationProtectionResult + */ +- (AWSTask *)enableImageDeregistrationProtection:(AWSEC2EnableImageDeregistrationProtectionRequest *)request; + +/** +

Enables deregistration protection for an AMI. When deregistration protection is enabled, the AMI can't be deregistered.

To allow the AMI to be deregistered, you must first disable deregistration protection using DisableImageDeregistrationProtection.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the EnableImageDeregistrationProtection service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSEC2EnableImageDeregistrationProtectionRequest + @see AWSEC2EnableImageDeregistrationProtectionResult + */ +- (void)enableImageDeregistrationProtection:(AWSEC2EnableImageDeregistrationProtectionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableImageDeregistrationProtectionResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Enable an Organizations member account as the IPAM admin account. You cannot select the Organizations management account as the IPAM admin account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.

@@ -10870,7 +10920,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)getConsoleOutput:(AWSEC2GetConsoleOutputRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetConsoleOutputResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

+

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

For more information, see Instance console output in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the GetConsoleScreenshot service method. @@ -10882,7 +10932,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)getConsoleScreenshot:(AWSEC2GetConsoleScreenshotRequest *)request; /** -

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

+

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

For more information, see Instance console output in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the GetConsoleScreenshot service method. @param completionHandler The completion handler to call when the load request is complete. @@ -11094,6 +11144,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)getInstanceMetadataDefaults:(AWSEC2GetInstanceMetadataDefaultsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetInstanceMetadataDefaultsResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Gets the public endorsement key associated with the Nitro Trusted Platform Module (NitroTPM) for the specified instance.

+ + @param request A container for the necessary parameters to execute the GetInstanceTpmEkPub service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2GetInstanceTpmEkPubResult`. + + @see AWSEC2GetInstanceTpmEkPubRequest + @see AWSEC2GetInstanceTpmEkPubResult + */ +- (AWSTask *)getInstanceTpmEkPub:(AWSEC2GetInstanceTpmEkPubRequest *)request; + +/** +

Gets the public endorsement key associated with the Nitro Trusted Platform Module (NitroTPM) for the specified instance.

+ + @param request A container for the necessary parameters to execute the GetInstanceTpmEkPub service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSEC2GetInstanceTpmEkPubRequest + @see AWSEC2GetInstanceTpmEkPubResult + */ +- (void)getInstanceTpmEkPub:(AWSEC2GetInstanceTpmEkPubRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetInstanceTpmEkPubResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Returns a list of instance types with the specified instance attributes. You can use the response to preview the instance types without launching instances. Note that the response does not consider capacity.

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

For more information, see Preview instance types with specified attributes, Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide, and Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

@@ -12608,7 +12683,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifyInstanceMaintenanceOptions:(AWSEC2ModifyInstanceMaintenanceOptionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyInstanceMaintenanceOptionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. At instance launch, the value will come from the AMI, or from the launch parameter if specified. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

+

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. If an account-level setting is cleared with no-preference, then the instance launch considers the other instance metadata settings. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the ModifyInstanceMetadataDefaults service method. @@ -12620,7 +12695,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifyInstanceMetadataDefaults:(AWSEC2ModifyInstanceMetadataDefaultsRequest *)request; /** -

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. At instance launch, the value will come from the AMI, or from the launch parameter if specified. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

+

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. If an account-level setting is cleared with no-preference, then the instance launch considers the other instance metadata settings. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the ModifyInstanceMetadataDefaults service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSEC2/AWSEC2Service.m b/AWSEC2/AWSEC2Service.m index 4a47c3e971e..df19ce58a96 100644 --- a/AWSEC2/AWSEC2Service.m +++ b/AWSEC2/AWSEC2Service.m @@ -9050,6 +9050,29 @@ - (void)disableImageDeprecation:(AWSEC2DisableImageDeprecationRequest *)request }]; } +- (AWSTask *)disableImageDeregistrationProtection:(AWSEC2DisableImageDeregistrationProtectionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DisableImageDeregistrationProtection" + outputClass:[AWSEC2DisableImageDeregistrationProtectionResult class]]; +} + +- (void)disableImageDeregistrationProtection:(AWSEC2DisableImageDeregistrationProtectionRequest *)request + completionHandler:(void (^)(AWSEC2DisableImageDeregistrationProtectionResult *response, NSError *error))completionHandler { + [[self disableImageDeregistrationProtection:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DisableImageDeregistrationProtectionResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)disableIpamOrganizationAdminAccount:(AWSEC2DisableIpamOrganizationAdminAccountRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -9737,6 +9760,29 @@ - (void)enableImageDeprecation:(AWSEC2EnableImageDeprecationRequest *)request }]; } +- (AWSTask *)enableImageDeregistrationProtection:(AWSEC2EnableImageDeregistrationProtectionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"EnableImageDeregistrationProtection" + outputClass:[AWSEC2EnableImageDeregistrationProtectionResult class]]; +} + +- (void)enableImageDeregistrationProtection:(AWSEC2EnableImageDeregistrationProtectionRequest *)request + completionHandler:(void (^)(AWSEC2EnableImageDeregistrationProtectionResult *response, NSError *error))completionHandler { + [[self enableImageDeregistrationProtection:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2EnableImageDeregistrationProtectionResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)enableIpamOrganizationAdminAccount:(AWSEC2EnableIpamOrganizationAdminAccountRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -10379,6 +10425,29 @@ - (void)getInstanceMetadataDefaults:(AWSEC2GetInstanceMetadataDefaultsRequest *) }]; } +- (AWSTask *)getInstanceTpmEkPub:(AWSEC2GetInstanceTpmEkPubRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"GetInstanceTpmEkPub" + outputClass:[AWSEC2GetInstanceTpmEkPubResult class]]; +} + +- (void)getInstanceTpmEkPub:(AWSEC2GetInstanceTpmEkPubRequest *)request + completionHandler:(void (^)(AWSEC2GetInstanceTpmEkPubResult *response, NSError *error))completionHandler { + [[self getInstanceTpmEkPub:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2GetInstanceTpmEkPubResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getInstanceTypesFromInstanceRequirements:(AWSEC2GetInstanceTypesFromInstanceRequirementsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m index 8f3c3225646..1d16aa849fd 100644 --- a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m +++ b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m @@ -891,6 +891,8 @@ - (void) test_AWSEC2DisableImageBlockPublicAccessRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableImageBlockPublicAccessResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableImageDeprecationRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableImageDeprecationResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DisableImageDeregistrationProtectionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DisableImageDeregistrationProtectionResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableImageRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableImageResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableIpamOrganizationAdminAccountRequest API_AVAILABLE(ios(11)); @@ -980,6 +982,8 @@ - (void) test_AWSEC2EnableImageBlockPublicAccessRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableImageBlockPublicAccessResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableImageDeprecationRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableImageDeprecationResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnableImageDeregistrationProtectionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnableImageDeregistrationProtectionResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableImageRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableImageResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableIpamOrganizationAdminAccountRequest API_AVAILABLE(ios(11)); @@ -1077,6 +1081,8 @@ - (void) test_AWSEC2GetImageBlockPublicAccessStateRequest API_AVAILABLE(ios(11)) - (void) test_AWSEC2GetImageBlockPublicAccessStateResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceMetadataDefaultsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceMetadataDefaultsResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetInstanceTpmEkPubRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetInstanceTpmEkPubResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceUefiDataRequest API_AVAILABLE(ios(11)); @@ -5430,6 +5436,14 @@ - (void) test_AWSEC2DisableImageDeprecationResult { [self validateSecureCodingForClass:[AWSEC2DisableImageDeprecationResult class]]; } +- (void) test_AWSEC2DisableImageDeregistrationProtectionRequest { + [self validateSecureCodingForClass:[AWSEC2DisableImageDeregistrationProtectionRequest class]]; +} + +- (void) test_AWSEC2DisableImageDeregistrationProtectionResult { + [self validateSecureCodingForClass:[AWSEC2DisableImageDeregistrationProtectionResult class]]; +} + - (void) test_AWSEC2DisableImageRequest { [self validateSecureCodingForClass:[AWSEC2DisableImageRequest class]]; } @@ -5786,6 +5800,14 @@ - (void) test_AWSEC2EnableImageDeprecationResult { [self validateSecureCodingForClass:[AWSEC2EnableImageDeprecationResult class]]; } +- (void) test_AWSEC2EnableImageDeregistrationProtectionRequest { + [self validateSecureCodingForClass:[AWSEC2EnableImageDeregistrationProtectionRequest class]]; +} + +- (void) test_AWSEC2EnableImageDeregistrationProtectionResult { + [self validateSecureCodingForClass:[AWSEC2EnableImageDeregistrationProtectionResult class]]; +} + - (void) test_AWSEC2EnableImageRequest { [self validateSecureCodingForClass:[AWSEC2EnableImageRequest class]]; } @@ -6174,6 +6196,14 @@ - (void) test_AWSEC2GetInstanceMetadataDefaultsResult { [self validateSecureCodingForClass:[AWSEC2GetInstanceMetadataDefaultsResult class]]; } +- (void) test_AWSEC2GetInstanceTpmEkPubRequest { + [self validateSecureCodingForClass:[AWSEC2GetInstanceTpmEkPubRequest class]]; +} + +- (void) test_AWSEC2GetInstanceTpmEkPubResult { + [self validateSecureCodingForClass:[AWSEC2GetInstanceTpmEkPubResult class]]; +} + - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsRequest { [self validateSecureCodingForClass:[AWSEC2GetInstanceTypesFromInstanceRequirementsRequest class]]; } diff --git a/AWSEC2UnitTests/AWSGeneralEC2Tests.m b/AWSEC2UnitTests/AWSGeneralEC2Tests.m index e46d0000af7..bdc74016961 100644 --- a/AWSEC2UnitTests/AWSGeneralEC2Tests.m +++ b/AWSEC2UnitTests/AWSGeneralEC2Tests.m @@ -18411,6 +18411,54 @@ - (void)testDisableImageDeprecationCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testDisableImageDeregistrationProtection { + NSString *key = @"testDisableImageDeregistrationProtection"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSEC2 EC2ForKey:key] disableImageDeregistrationProtection:[AWSEC2DisableImageDeregistrationProtectionRequest new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + +- (void)testDisableImageDeregistrationProtectionCompletionHandler { + NSString *key = @"testDisableImageDeregistrationProtection"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSEC2 EC2ForKey:key] disableImageDeregistrationProtection:[AWSEC2DisableImageDeregistrationProtectionRequest new] completionHandler:^(AWSEC2DisableImageDeregistrationProtectionResult* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + - (void)testDisableIpamOrganizationAdminAccount { NSString *key = @"testDisableIpamOrganizationAdminAccount"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -19848,6 +19896,54 @@ - (void)testEnableImageDeprecationCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testEnableImageDeregistrationProtection { + NSString *key = @"testEnableImageDeregistrationProtection"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSEC2 EC2ForKey:key] enableImageDeregistrationProtection:[AWSEC2EnableImageDeregistrationProtectionRequest new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + +- (void)testEnableImageDeregistrationProtectionCompletionHandler { + NSString *key = @"testEnableImageDeregistrationProtection"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSEC2 EC2ForKey:key] enableImageDeregistrationProtection:[AWSEC2EnableImageDeregistrationProtectionRequest new] completionHandler:^(AWSEC2EnableImageDeregistrationProtectionResult* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + - (void)testEnableIpamOrganizationAdminAccount { NSString *key = @"testEnableIpamOrganizationAdminAccount"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -21190,6 +21286,54 @@ - (void)testGetInstanceMetadataDefaultsCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testGetInstanceTpmEkPub { + NSString *key = @"testGetInstanceTpmEkPub"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSEC2 EC2ForKey:key] getInstanceTpmEkPub:[AWSEC2GetInstanceTpmEkPubRequest new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + +- (void)testGetInstanceTpmEkPubCompletionHandler { + NSString *key = @"testGetInstanceTpmEkPub"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSEC2 EC2ForKey:key] getInstanceTpmEkPub:[AWSEC2GetInstanceTpmEkPubRequest new] completionHandler:^(AWSEC2GetInstanceTpmEkPubResult* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + - (void)testGetInstanceTypesFromInstanceRequirements { NSString *key = @"testGetInstanceTypesFromInstanceRequirements"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil];