From c7ee2fc3c6c1db2344c1b6a69f02d9caabbed0f7 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Team <46607340+awsmobilesdk@users.noreply.github.com> Date: Sun, 30 Aug 2020 10:40:07 -0700 Subject: [PATCH 1/9] feat(AWSEC2): update models to latest (#2976) --- AWSEC2/AWSEC2Model.h | 876 ++++++++++++++-- AWSEC2/AWSEC2Model.m | 1450 +++++++++++++++++++++++++- AWSEC2/AWSEC2Resources.m | 910 ++++++++++++++-- AWSEC2/AWSEC2Service.h | 305 +++++- AWSEC2/AWSEC2Service.m | 207 ++++ AWSEC2UnitTests/AWSGeneralEC2Tests.m | 432 ++++++++ 6 files changed, 3971 insertions(+), 209 deletions(-) diff --git a/AWSEC2/AWSEC2Model.h b/AWSEC2/AWSEC2Model.h index b9252252e00..b8dbc36053a 100644 --- a/AWSEC2/AWSEC2Model.h +++ b/AWSEC2/AWSEC2Model.h @@ -195,7 +195,6 @@ typedef NS_ENUM(NSInteger, AWSEC2CapacityReservationInstancePlatform) { AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard, AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb, AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise, - AWSEC2CapacityReservationInstancePlatformWindowsBYOL, }; typedef NS_ENUM(NSInteger, AWSEC2CapacityReservationPreference) { @@ -219,6 +218,14 @@ typedef NS_ENUM(NSInteger, AWSEC2CapacityReservationTenancy) { AWSEC2CapacityReservationTenancyDedicated, }; +typedef NS_ENUM(NSInteger, AWSEC2CarrierGatewayState) { + AWSEC2CarrierGatewayStateUnknown, + AWSEC2CarrierGatewayStatePending, + AWSEC2CarrierGatewayStateAvailable, + AWSEC2CarrierGatewayStateDeleting, + AWSEC2CarrierGatewayStateDeleted, +}; + typedef NS_ENUM(NSInteger, AWSEC2ClientCertificateRevocationListStatusCode) { AWSEC2ClientCertificateRevocationListStatusCodeUnknown, AWSEC2ClientCertificateRevocationListStatusCodePending, @@ -839,6 +846,14 @@ typedef NS_ENUM(NSInteger, AWSEC2InstanceType) { AWSEC2InstanceTypeC5A_12xlarge, AWSEC2InstanceTypeC5A_16xlarge, AWSEC2InstanceTypeC5A_24xlarge, + AWSEC2InstanceTypeC5Ad_large, + AWSEC2InstanceTypeC5Ad_xlarge, + AWSEC2InstanceTypeC5Ad_2xlarge, + AWSEC2InstanceTypeC5Ad_4xlarge, + AWSEC2InstanceTypeC5Ad_8xlarge, + AWSEC2InstanceTypeC5Ad_12xlarge, + AWSEC2InstanceTypeC5Ad_16xlarge, + AWSEC2InstanceTypeC5Ad_24xlarge, AWSEC2InstanceTypeC5D_large, AWSEC2InstanceTypeC5D_xlarge, AWSEC2InstanceTypeC5D_2xlarge, @@ -1653,6 +1668,14 @@ typedef NS_ENUM(NSInteger, AWSEC2TransitGatewayMulticastDomainState) { AWSEC2TransitGatewayMulticastDomainStateDeleted, }; +typedef NS_ENUM(NSInteger, AWSEC2TransitGatewayPrefixListReferenceState) { + AWSEC2TransitGatewayPrefixListReferenceStateUnknown, + AWSEC2TransitGatewayPrefixListReferenceStatePending, + AWSEC2TransitGatewayPrefixListReferenceStateAvailable, + AWSEC2TransitGatewayPrefixListReferenceStateModifying, + AWSEC2TransitGatewayPrefixListReferenceStateDeleting, +}; + typedef NS_ENUM(NSInteger, AWSEC2TransitGatewayPropagationState) { AWSEC2TransitGatewayPropagationStateUnknown, AWSEC2TransitGatewayPropagationStateEnabling, @@ -1699,6 +1722,12 @@ typedef NS_ENUM(NSInteger, AWSEC2TransportProtocol) { AWSEC2TransportProtocolUdp, }; +typedef NS_ENUM(NSInteger, AWSEC2TunnelInsideIpVersion) { + AWSEC2TunnelInsideIpVersionUnknown, + AWSEC2TunnelInsideIpVersionIpv4, + AWSEC2TunnelInsideIpVersionIpv6, +}; + typedef NS_ENUM(NSInteger, AWSEC2UnlimitedSupportedInstanceFamily) { AWSEC2UnlimitedSupportedInstanceFamilyUnknown, AWSEC2UnlimitedSupportedInstanceFamilyT2, @@ -1776,6 +1805,7 @@ typedef NS_ENUM(NSInteger, AWSEC2VolumeType) { AWSEC2VolumeTypeUnknown, AWSEC2VolumeTypeStandard, AWSEC2VolumeTypeIO1, + AWSEC2VolumeTypeIo2, AWSEC2VolumeTypeGp2, AWSEC2VolumeTypeSc1, AWSEC2VolumeTypeSt1, @@ -1956,6 +1986,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2CapacityReservationSpecificationResponse; @class AWSEC2CapacityReservationTarget; @class AWSEC2CapacityReservationTargetResponse; +@class AWSEC2CarrierGateway; @class AWSEC2CertificateAuthentication; @class AWSEC2CertificateAuthenticationRequest; @class AWSEC2CidrAuthorizationContext; @@ -1993,6 +2024,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2CpuOptionsRequest; @class AWSEC2CreateCapacityReservationRequest; @class AWSEC2CreateCapacityReservationResult; +@class AWSEC2CreateCarrierGatewayRequest; +@class AWSEC2CreateCarrierGatewayResult; @class AWSEC2CreateClientVpnEndpointRequest; @class AWSEC2CreateClientVpnEndpointResult; @class AWSEC2CreateClientVpnRouteRequest; @@ -2071,6 +2104,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2CreateTransitGatewayMulticastDomainResult; @class AWSEC2CreateTransitGatewayPeeringAttachmentRequest; @class AWSEC2CreateTransitGatewayPeeringAttachmentResult; +@class AWSEC2CreateTransitGatewayPrefixListReferenceRequest; +@class AWSEC2CreateTransitGatewayPrefixListReferenceResult; @class AWSEC2CreateTransitGatewayRequest; @class AWSEC2CreateTransitGatewayResult; @class AWSEC2CreateTransitGatewayRouteRequest; @@ -2101,6 +2136,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2CreditSpecification; @class AWSEC2CreditSpecificationRequest; @class AWSEC2CustomerGateway; +@class AWSEC2DeleteCarrierGatewayRequest; +@class AWSEC2DeleteCarrierGatewayResult; @class AWSEC2DeleteClientVpnEndpointRequest; @class AWSEC2DeleteClientVpnEndpointResult; @class AWSEC2DeleteClientVpnRouteRequest; @@ -2162,6 +2199,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DeleteTransitGatewayMulticastDomainResult; @class AWSEC2DeleteTransitGatewayPeeringAttachmentRequest; @class AWSEC2DeleteTransitGatewayPeeringAttachmentResult; +@class AWSEC2DeleteTransitGatewayPrefixListReferenceRequest; +@class AWSEC2DeleteTransitGatewayPrefixListReferenceResult; @class AWSEC2DeleteTransitGatewayRequest; @class AWSEC2DeleteTransitGatewayResult; @class AWSEC2DeleteTransitGatewayRouteRequest; @@ -2207,6 +2246,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DescribeByoipCidrsResult; @class AWSEC2DescribeCapacityReservationsRequest; @class AWSEC2DescribeCapacityReservationsResult; +@class AWSEC2DescribeCarrierGatewaysRequest; +@class AWSEC2DescribeCarrierGatewaysResult; @class AWSEC2DescribeClassicLinkInstancesRequest; @class AWSEC2DescribeClassicLinkInstancesResult; @class AWSEC2DescribeClientVpnAuthorizationRulesRequest; @@ -2564,6 +2605,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2GetTransitGatewayAttachmentPropagationsResult; @class AWSEC2GetTransitGatewayMulticastDomainAssociationsRequest; @class AWSEC2GetTransitGatewayMulticastDomainAssociationsResult; +@class AWSEC2GetTransitGatewayPrefixListReferencesRequest; +@class AWSEC2GetTransitGatewayPrefixListReferencesResult; @class AWSEC2GetTransitGatewayRouteTableAssociationsRequest; @class AWSEC2GetTransitGatewayRouteTableAssociationsResult; @class AWSEC2GetTransitGatewayRouteTablePropagationsRequest; @@ -2758,6 +2801,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2ModifyTrafficMirrorFilterRuleResult; @class AWSEC2ModifyTrafficMirrorSessionRequest; @class AWSEC2ModifyTrafficMirrorSessionResult; +@class AWSEC2ModifyTransitGatewayOptions; +@class AWSEC2ModifyTransitGatewayPrefixListReferenceRequest; +@class AWSEC2ModifyTransitGatewayPrefixListReferenceResult; +@class AWSEC2ModifyTransitGatewayRequest; +@class AWSEC2ModifyTransitGatewayResult; @class AWSEC2ModifyTransitGatewayVpcAttachmentRequest; @class AWSEC2ModifyTransitGatewayVpcAttachmentRequestOptions; @class AWSEC2ModifyTransitGatewayVpcAttachmentResult; @@ -2777,6 +2825,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2ModifyVpcPeeringConnectionOptionsResult; @class AWSEC2ModifyVpcTenancyRequest; @class AWSEC2ModifyVpcTenancyResult; +@class AWSEC2ModifyVpnConnectionOptionsRequest; +@class AWSEC2ModifyVpnConnectionOptionsResult; @class AWSEC2ModifyVpnConnectionRequest; @class AWSEC2ModifyVpnConnectionResult; @class AWSEC2ModifyVpnTunnelCertificateRequest; @@ -3036,6 +3086,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2TransitGatewayMulticastRegisteredGroupSources; @class AWSEC2TransitGatewayOptions; @class AWSEC2TransitGatewayPeeringAttachment; +@class AWSEC2TransitGatewayPrefixListAttachment; +@class AWSEC2TransitGatewayPrefixListReference; @class AWSEC2TransitGatewayPropagation; @class AWSEC2TransitGatewayRequestOptions; @class AWSEC2TransitGatewayRoute; @@ -3343,7 +3395,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -
Describes an Elastic IP address.
+Describes an Elastic IP address, or a carrier IP address.
*/ @interface AWSEC2Address : AWSModel @@ -3358,6 +3410,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable associationId; +/** +The carrier IP address associated. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance).
+ */ +@property (nonatomic, strong) NSString * _Nullable carrierIp; + /**The customer-owned IP address.
*/ @@ -3379,7 +3436,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable instanceId; /** -The name of the location from which the IP address is advertised.
+The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses.
*/ @property (nonatomic, strong) NSString * _Nullable networkBorderGroup; @@ -3473,7 +3530,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -The location from which the IP address is advertised. Use this parameter to limit the address to this location.
A network border group is a unique set of Availability Zones or Local Zones from where AWS advertises IP addresses and limits the addresses to the group. IP addresses cannot move between network border groups.
Use DescribeAvailabilityZones to view the network border groups.
You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination
error. For more information, see Error Codes.
A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.
Use DescribeAvailabilityZones to view the network border groups.
You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination
error. For more information, see Error Codes.
The carrier IP address. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance).
+ */ +@property (nonatomic, strong) NSString * _Nullable carrierIp; + /**The customer-owned IP address.
*/ @@ -3511,7 +3573,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2DomainType domain; /** -The location from which the IP address is advertised.
+The set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses.
*/ @property (nonatomic, strong) NSString * _Nullable networkBorderGroup; @@ -4085,7 +4147,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable ipv6CidrBlock; /** -The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CiDR block to this location.
You must set AmazonProvidedIpv6CidrBlock
to true
to use this parameter.
You can have one IPv6 CIDR block association per network border group.
+The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CIDR block to this location.
You must set AmazonProvidedIpv6CidrBlock
to true
to use this parameter.
You can have one IPv6 CIDR block association per network border group.
*/ @property (nonatomic, strong) NSString * _Nullable ipv6CidrBlockNetworkBorderGroup; @@ -4563,38 +4625,38 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -Describes a Zone.
+Describes Availability Zones, Local Zones, and Wavelength Zones.
*/ @interface AWSEC2AvailabilityZone : AWSModel /** -For Availability Zones, this parameter has the same value as the Region name.
For Local Zones, the name of the associated group, for example us-west-2-lax-1
.
For Availability Zones, this parameter has the same value as the Region name.
For Local Zones, the name of the associated group, for example us-west-2-lax-1
.
For Wavelength Zones, the name of the associated group, for example us-east-1-wl1-bos-wlz-1
.
Any messages about the Zone.
+Any messages about the Availability Zone, Local Zone, or Wavelength Zone.
*/ @property (nonatomic, strong) NSArrayThe name of the location from which the address is advertised.
+The name of the network border group.
*/ @property (nonatomic, strong) NSString * _Nullable networkBorderGroup; /** - For Availability Zones, this parameter always has the value of opt-in-not-required
.
For Local Zones, this parameter is the opt in status. The possible values are opted-in
, and not-opted-in
.
For Availability Zones, this parameter always has the value of opt-in-not-required
.
For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible values are opted-in
, and not-opted-in
.
The ID of the zone that handles some of the Local Zone control plane operations, such as API calls.
+The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane operations, such as API calls.
*/ @property (nonatomic, strong) NSString * _Nullable parentZoneId; /** -The name of the zone that handles some of the Local Zone control plane operations, such as API calls.
+The name of the zone that handles some of the Local Zone or Wavelength Zone control plane operations, such as API calls.
*/ @property (nonatomic, strong) NSString * _Nullable parentZoneName; @@ -4604,35 +4666,35 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable regionName; /** -The state of the Zone.
+The state of the Availability Zone, Local Zone, or Wavelength Zone.
*/ @property (nonatomic, assign) AWSEC2AvailabilityZoneState state; /** -The ID of the Zone.
+The ID of the Availability Zone, Local Zone, or Wavelength Zone.
*/ @property (nonatomic, strong) NSString * _Nullable zoneId; /** -The name of the Zone.
+The name of the Availability Zone, Local Zone, or Wavelength Zone.
*/ @property (nonatomic, strong) NSString * _Nullable zoneName; /** -The type of zone. The valid values are availability-zone
and local-zone
.
The type of zone. The valid values are availability-zone
, local-zone
, and wavelength-zone
.
Describes a message about a Zone.
+Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.
*/ @interface AWSEC2AvailabilityZoneMessage : AWSModel /** -The message about the Zone.
+The message about the Availability Zone, Local Zone, or Wavelength Zone.
*/ @property (nonatomic, strong) NSString * _Nullable message; @@ -5365,6 +5427,39 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +Describes a carrier gateway.
+ */ +@interface AWSEC2CarrierGateway : AWSModel + + +/** +The ID of the carrier gateway.
+ */ +@property (nonatomic, strong) NSString * _Nullable carrierGatewayId; + +/** +The AWS account ID of the owner of the carrier gateway.
+ */ +@property (nonatomic, strong) NSString * _Nullable ownerId; + +/** +The state of the carrier gateway.
+ */ +@property (nonatomic, assign) AWSEC2CarrierGatewayState state; + +/** +The tags assigned to the carrier gateway.
+ */ +@property (nonatomic, strong) NSArrayThe ID of the VPC associated with the carrier gateway.
+ */ +@property (nonatomic, strong) NSString * _Nullable vpcId; + +@end + /**Information about the client certificate used for authentication.
*/ @@ -6433,6 +6528,47 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2CreateCarrierGatewayRequest : AWSRequest + + +/** +Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.
+ */ +@property (nonatomic, strong) NSString * _Nullable clientToken; + +/** +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
.
The tags to associate with the carrier gateway.
+ */ +@property (nonatomic, strong) NSArrayThe ID of the VPC to associate with the carrier gateway.
+ */ +@property (nonatomic, strong) NSString * _Nullable vpcId; + +@end + +/** + + */ +@interface AWSEC2CreateCarrierGatewayResult : AWSModel + + +/** +Information about the carrier gateway.
+ */ +@property (nonatomic, strong) AWSEC2CarrierGateway * _Nullable carrierGateway; + +@end + /** */ @@ -7859,6 +7995,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2CreateRouteRequest : AWSRequest +/** +The ID of the carrier gateway.
You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
+ */ +@property (nonatomic, strong) NSString * _Nullable carrierGatewayId; + /**The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18
, we modify it to 100.68.0.0/18
.
Indicates whether to drop traffic that matches this route.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable blackhole; + +/** +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
.
The ID of the prefix list that is used for destination matches.
+ */ +@property (nonatomic, strong) NSString * _Nullable prefixListId; + +/** +The ID of the attachment to which traffic is routed.
+ */ +@property (nonatomic, strong) NSString * _Nullable transitGatewayAttachmentId; + +/** +The ID of the transit gateway route table.
+ */ +@property (nonatomic, strong) NSString * _Nullable transitGatewayRouteTableId; + +@end + +/** + + */ +@interface AWSEC2CreateTransitGatewayPrefixListReferenceResult : AWSModel + + +/** +Information about the prefix list reference.
+ */ +@property (nonatomic, strong) AWSEC2TransitGatewayPrefixListReference * _Nullable transitGatewayPrefixListReference; + +@end + /** */ @@ -8817,12 +9004,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -Specifies whether the volume should be encrypted. The effect of setting the encryption state to true
depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by Default in the Amazon Elastic Compute Cloud User Guide.
Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported Instance Types.
+Specifies whether the volume should be encrypted. The effect of setting the encryption state to true
depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon Elastic Compute Cloud User Guide.
Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.
*/ @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
+The number of I/O operations per second (IOPS) to provision for an io1
or io2
volume, with a maximum ratio of 50 IOPS/GiB for io1
, and 500 IOPS/GiB for io2
. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.
This parameter is valid only for Provisioned IOPS SSD (io1
and io2
) volumes.
The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.
Constraints: 1-16,384 for gp2
, 4-16,384 for io1
, 500-16,384 for st1
, 500-16,384 for sc1
, and 1-1,024 for standard
. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
+The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.
Constraints: 1-16,384 for gp2
, 4-16,384 for io1
and io2
, 500-16,384 for st1
, 500-16,384 for sc1
, and 1-1,024 for standard
. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
*/ @property (nonatomic, strong) NSNumber * _Nullable size; @@ -8857,7 +9044,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArrayThe volume type. This can be gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
Default: gp2
The volume type. This can be gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
Default: gp2
The ID of the carrier gateway.
+ */ +@property (nonatomic, strong) NSString * _Nullable carrierGatewayId; + +/** +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
.
Information about the carrier gateway.
+ */ +@property (nonatomic, strong) AWSEC2CarrierGateway * _Nullable carrierGateway; + +@end + /** */ @@ -10478,6 +10696,42 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DeleteTransitGatewayPrefixListReferenceRequest : 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
.
The ID of the prefix list.
+ */ +@property (nonatomic, strong) NSString * _Nullable prefixListId; + +/** +The ID of the route table.
+ */ +@property (nonatomic, strong) NSString * _Nullable transitGatewayRouteTableId; + +@end + +/** + + */ +@interface AWSEC2DeleteTransitGatewayPrefixListReferenceResult : AWSModel + + +/** +Information about the deleted prefix list reference.
+ */ +@property (nonatomic, strong) AWSEC2TransitGatewayPrefixListReference * _Nullable transitGatewayPrefixListReference; + +@end + /** */ @@ -11054,7 +11308,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -One or more filters. Filter names and values are case-sensitive.
allocation-id
- [EC2-VPC] The allocation ID for the address.
association-id
- [EC2-VPC] The association ID for the address.
domain
- Indicates whether the address is for use in EC2-Classic (standard
) or in a VPC (vpc
).
instance-id
- The ID of the instance the address is associated with, if any.
network-border-group
- The location from where the IP address is advertised.
network-interface-id
- [EC2-VPC] The ID of the network interface that the address is associated with, if any.
network-interface-owner-id
- The AWS account ID of the owner.
private-ip-address
- [EC2-VPC] The private IP address associated with the Elastic IP address.
public-ip
- The Elastic IP address.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
One or more filters. Filter names and values are case-sensitive.
allocation-id
- [EC2-VPC] The allocation ID for the address.
association-id
- [EC2-VPC] The association ID for the address.
domain
- Indicates whether the address is for use in EC2-Classic (standard
) or in a VPC (vpc
).
instance-id
- The ID of the instance the address is associated with, if any.
network-border-group
- A unique set of Availability Zones, Local Zones, or Wavelength Zones from where AWS advertises IP addresses.
network-interface-id
- [EC2-VPC] The ID of the network interface that the address is associated with, if any.
network-interface-owner-id
- The AWS account ID of the owner.
private-ip-address
- [EC2-VPC] The private IP address associated with the Elastic IP address.
public-ip
- The Elastic IP address, or the carrier IP address.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
Include all Availability Zones and Local Zones regardless of your opt in status.
If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.
+Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your opt-in status.
If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.
*/ @property (nonatomic, strong) NSNumber * _Nullable allAvailabilityZones; @@ -11126,17 +11380,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -The filters.
group-name
- For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1
).
message
- The Zone message.
opt-in-status
- The opt in status (opted-in
, and not-opted-in
| opt-in-not-required
).
The ID of the zone that handles some of the Local Zone control plane operations, such as API calls.
region-name
- The name of the Region for the Zone (for example, us-east-1
).
state
- The state of the Availability Zone or Local Zone (available
| information
| impaired
| unavailable
).
zone-id
- The ID of the Availability Zone (for example, use1-az1
) or the Local Zone (for example, use usw2-lax1-az1
).
zone-type
- The type of zone, for example, local-zone
.
zone-name
- The name of the Availability Zone (for example, us-east-1a
) or the Local Zone (for example, use us-west-2-lax-1a
).
zone-type
- The type of zone, for example, local-zone
.
The filters.
group-name
- For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1
) For Wavelength Zones, use the name of the group associated with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1
).
message
- The Zone message.
opt-in-status
- The opt-in status (opted-in
, and not-opted-in
| opt-in-not-required
).
parent-zoneID
- The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.
parent-zoneName
- The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.
region-name
- The name of the Region for the Zone (for example, us-east-1
).
state
- The state of the Availability Zone, the Local Zone, or the Wavelength Zone (available
| information
| impaired
| unavailable
).
zone-id
- The ID of the Availability Zone (for example, use1-az1
), the Local Zone (for example, usw2-lax1-az1
), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1
).
zone-type
- The type of zone, for example, local-zone
.
zone-name
- The name of the Availability Zone (for example, us-east-1a
), the Local Zone (for example, us-west-2-lax-1a
), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1
).
zone-type
- The type of zone, for example, local-zone
.
The IDs of the Zones.
+The IDs of the Availability Zones, Local Zones, and Wavelength Zones.
*/ @property (nonatomic, strong) NSArrayThe names of the Zones.
+The names of the Availability Zones, Local Zones, and Wavelength Zones.
*/ @property (nonatomic, strong) NSArrayInformation about the Zones.
+Information about the Availability Zones, Local Zones, and Wavelength Zones.
*/ @property (nonatomic, strong) NSArrayOne or more carrier gateway IDs.
+ */ +@property (nonatomic, strong) NSArrayChecks 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
.
One or more filters.
carrier-gateway-id
- The ID of the carrier gateway.
state
- The state of the carrier gateway (pending
| failed
| available
| deleting
| deleted
).
owner-id
- The AWS account ID of the owner of the carrier 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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
vpc-id
- The ID of the VPC associated with the carrier gateway.
The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSEC2DescribeCarrierGatewaysResult : AWSModel + + +/** +Information about the carrier gateway.
+ */ +@property (nonatomic, strong) NSArrayThe token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The filters.
architecture
- The image architecture (i386
| x86_64
| arm64
).
block-device-mapping.delete-on-termination
- A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.
block-device-mapping.device-name
- The device name specified in the block device mapping (for example, /dev/sdh
or xvdh
).
block-device-mapping.snapshot-id
- The ID of the snapshot used for the EBS volume.
block-device-mapping.volume-size
- The volume size of the EBS volume, in GiB.
block-device-mapping.volume-type
- The volume type of the EBS volume (gp2
| io1
| st1
| sc1
| standard
).
block-device-mapping.encrypted
- A Boolean that indicates whether the EBS volume is encrypted.
description
- The description of the image (provided during image creation).
ena-support
- A Boolean that indicates whether enhanced networking with ENA is enabled.
hypervisor
- The hypervisor type (ovm
| xen
).
image-id
- The ID of the image.
image-type
- The image type (machine
| kernel
| ramdisk
).
is-public
- A Boolean that indicates whether the image is public.
kernel-id
- The kernel ID.
manifest-location
- The location of the image manifest.
name
- The name of the AMI (provided during image creation).
owner-alias
- The owner alias, from an Amazon-maintained list (amazon
| aws-marketplace
). This is not the user-configured AWS account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.
owner-id
- The AWS account ID of the owner. We recommend that you use the related parameter instead of this filter.
platform
- The platform. To only list Windows-based AMIs, use windows
.
product-code
- The product code.
product-code.type
- The type of the product code (devpay
| marketplace
).
ramdisk-id
- The RAM disk ID.
root-device-name
- The device name of the root device volume (for example, /dev/sda1
).
root-device-type
- The type of the root device volume (ebs
| instance-store
).
state
- The state of the image (available
| pending
| failed
).
state-reason-code
- The reason code for the state change.
state-reason-message
- The message for the state change.
sriov-net-support
- A value of simple
indicates that enhanced networking with the Intel 82599 VF interface is enabled.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
virtualization-type
- The virtualization type (paravirtual
| hvm
).
The filters.
architecture
- The image architecture (i386
| x86_64
| arm64
).
block-device-mapping.delete-on-termination
- A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.
block-device-mapping.device-name
- The device name specified in the block device mapping (for example, /dev/sdh
or xvdh
).
block-device-mapping.snapshot-id
- The ID of the snapshot used for the EBS volume.
block-device-mapping.volume-size
- The volume size of the EBS volume, in GiB.
block-device-mapping.volume-type
- The volume type of the EBS volume (gp2
| io1
| io2
| st1
| sc1
| standard
).
block-device-mapping.encrypted
- A Boolean that indicates whether the EBS volume is encrypted.
description
- The description of the image (provided during image creation).
ena-support
- A Boolean that indicates whether enhanced networking with ENA is enabled.
hypervisor
- The hypervisor type (ovm
| xen
).
image-id
- The ID of the image.
image-type
- The image type (machine
| kernel
| ramdisk
).
is-public
- A Boolean that indicates whether the image is public.
kernel-id
- The kernel ID.
manifest-location
- The location of the image manifest.
name
- The name of the AMI (provided during image creation).
owner-alias
- The owner alias, from an Amazon-maintained list (amazon
| aws-marketplace
). This is not the user-configured AWS account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.
owner-id
- The AWS account ID of the owner. We recommend that you use the related parameter instead of this filter.
platform
- The platform. To only list Windows-based AMIs, use windows
.
product-code
- The product code.
product-code.type
- The type of the product code (devpay
| marketplace
).
ramdisk-id
- The RAM disk ID.
root-device-name
- The device name of the root device volume (for example, /dev/sda1
).
root-device-type
- The type of the root device volume (ebs
| instance-store
).
state
- The state of the image (available
| pending
| failed
).
state-reason-code
- The reason code for the state change.
state-reason-message
- The message for the state change.
sriov-net-support
- A value of simple
indicates that enhanced networking with the Intel 82599 VF interface is enabled.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
virtualization-type
- The virtualization type (paravirtual
| hvm
).
One or more filters.
availability-zone-group
- The Availability Zone group.
create-time
- The time stamp when the Spot Instance request was created.
fault-code
- The fault code related to the request.
fault-message
- The fault message related to the request.
instance-id
- The ID of the instance that fulfilled the request.
launch-group
- The Spot Instance launch group.
launch.block-device-mapping.delete-on-termination
- Indicates whether the EBS volume is deleted on instance termination.
launch.block-device-mapping.device-name
- The device name for the volume in the block device mapping (for example, /dev/sdh
or xvdh
).
launch.block-device-mapping.snapshot-id
- The ID of the snapshot for the EBS volume.
launch.block-device-mapping.volume-size
- The size of the EBS volume, in GiB.
launch.block-device-mapping.volume-type
- The type of EBS volume: gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic.
launch.group-id
- The ID of the security group for the instance.
launch.group-name
- The name of the security group for the instance.
launch.image-id
- The ID of the AMI.
launch.instance-type
- The type of instance (for example, m3.medium
).
launch.kernel-id
- The kernel ID.
launch.key-name
- The name of the key pair the instance launched with.
launch.monitoring-enabled
- Whether detailed monitoring is enabled for the Spot Instance.
launch.ramdisk-id
- The RAM disk ID.
launched-availability-zone
- The Availability Zone in which the request is launched.
network-interface.addresses.primary
- Indicates whether the IP address is the primary private IP address.
network-interface.delete-on-termination
- Indicates whether the network interface is deleted when the instance is terminated.
network-interface.description
- A description of the network interface.
network-interface.device-index
- The index of the device for the network interface attachment on the instance.
network-interface.group-id
- The ID of the security group associated with the network interface.
network-interface.network-interface-id
- The ID of the network interface.
network-interface.private-ip-address
- The primary private IP address of the network interface.
network-interface.subnet-id
- The ID of the subnet for the instance.
product-description
- The product description associated with the instance (Linux/UNIX
| Windows
).
spot-instance-request-id
- The Spot Instance request ID.
spot-price
- The maximum hourly price for any Spot Instance launched to fulfill the request.
state
- The state of the Spot Instance request (open
| active
| closed
| cancelled
| failed
). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide for Linux Instances.
status-code
- The short code describing the most recent evaluation of your Spot Instance request.
status-message
- The message explaining the status of the Spot Instance request.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
type
- The type of Spot Instance request (one-time
| persistent
).
valid-from
- The start date of the request.
valid-until
- The end date of the request.
One or more filters.
availability-zone-group
- The Availability Zone group.
create-time
- The time stamp when the Spot Instance request was created.
fault-code
- The fault code related to the request.
fault-message
- The fault message related to the request.
instance-id
- The ID of the instance that fulfilled the request.
launch-group
- The Spot Instance launch group.
launch.block-device-mapping.delete-on-termination
- Indicates whether the EBS volume is deleted on instance termination.
launch.block-device-mapping.device-name
- The device name for the volume in the block device mapping (for example, /dev/sdh
or xvdh
).
launch.block-device-mapping.snapshot-id
- The ID of the snapshot for the EBS volume.
launch.block-device-mapping.volume-size
- The size of the EBS volume, in GiB.
launch.block-device-mapping.volume-type
- The type of EBS volume: gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic.
launch.group-id
- The ID of the security group for the instance.
launch.group-name
- The name of the security group for the instance.
launch.image-id
- The ID of the AMI.
launch.instance-type
- The type of instance (for example, m3.medium
).
launch.kernel-id
- The kernel ID.
launch.key-name
- The name of the key pair the instance launched with.
launch.monitoring-enabled
- Whether detailed monitoring is enabled for the Spot Instance.
launch.ramdisk-id
- The RAM disk ID.
launched-availability-zone
- The Availability Zone in which the request is launched.
network-interface.addresses.primary
- Indicates whether the IP address is the primary private IP address.
network-interface.delete-on-termination
- Indicates whether the network interface is deleted when the instance is terminated.
network-interface.description
- A description of the network interface.
network-interface.device-index
- The index of the device for the network interface attachment on the instance.
network-interface.group-id
- The ID of the security group associated with the network interface.
network-interface.network-interface-id
- The ID of the network interface.
network-interface.private-ip-address
- The primary private IP address of the network interface.
network-interface.subnet-id
- The ID of the subnet for the instance.
product-description
- The product description associated with the instance (Linux/UNIX
| Windows
).
spot-instance-request-id
- The Spot Instance request ID.
spot-price
- The maximum hourly price for any Spot Instance launched to fulfill the request.
state
- The state of the Spot Instance request (open
| active
| closed
| cancelled
| failed
). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide for Linux Instances.
status-code
- The short code describing the most recent evaluation of your Spot Instance request.
status-message
- The message explaining the status of the Spot Instance request.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
type
- The type of Spot Instance request (one-time
| persistent
).
valid-from
- The start date of the request.
valid-until
- The end date of the request.
One or more filters. The possible values are:
association.state
- The state of the association (associating
| associated
| disassociating
).
association.transit-gateway-route-table-id
- The ID of the route table for the transit gateway.
resource-id
- The ID of the resource.
resource-owner-id
- The ID of the AWS account that owns the resource.
resource-type
- The resource type (vpc
| vpn
).
state
- The state of the attachment (available
| deleted
| deleting
| failed
| modifying
| pendingAcceptance
| pending
| rollingBack
| rejected
| rejecting
).
transit-gateway-attachment-id
- The ID of the attachment.
transit-gateway-id
- The ID of the transit gateway.
transit-gateway-owner-id
- The ID of the AWS account that owns the transit gateway.
One or more filters. The possible values are:
association.state
- The state of the association (associating
| associated
| disassociating
).
association.transit-gateway-route-table-id
- The ID of the route table for the transit gateway.
resource-id
- The ID of the resource.
resource-owner-id
- The ID of the AWS account that owns the resource.
resource-type
- The resource type (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
state
- The state of the attachment (available
| deleted
| deleting
| failed
| modifying
| pendingAcceptance
| pending
| rollingBack
| rejected
| rejecting
).
transit-gateway-attachment-id
- The ID of the attachment.
transit-gateway-id
- The ID of the transit gateway.
transit-gateway-owner-id
- The ID of the AWS account that owns the transit gateway.
The filters.
modification-state
- The current modification state (modifying | optimizing | completed | failed).
original-iops
- The original IOPS rate of the volume.
original-size
- The original size of the volume, in GiB.
original-volume-type
- The original volume type of the volume (standard | io1 | gp2 | sc1 | st1).
originalMultiAttachEnabled
- Indicates whether Multi-Attach support was enabled (true | false).
start-time
- The modification start time.
target-iops
- The target IOPS rate of the volume.
target-size
- The target size of the volume, in GiB.
target-volume-type
- The target volume type of the volume (standard | io1 | gp2 | sc1 | st1).
targetMultiAttachEnabled
- Indicates whether Multi-Attach support is to be enabled (true | false).
volume-id
- The ID of the volume.
The filters.
modification-state
- The current modification state (modifying | optimizing | completed | failed).
original-iops
- The original IOPS rate of the volume.
original-size
- The original size of the volume, in GiB.
original-volume-type
- The original volume type of the volume (standard | io1 | io2 | gp2 | sc1 | st1).
originalMultiAttachEnabled
- Indicates whether Multi-Attach support was enabled (true | false).
start-time
- The modification start time.
target-iops
- The target IOPS rate of the volume.
target-size
- The target size of the volume, in GiB.
target-volume-type
- The target volume type of the volume (standard | io1 | io2 | gp2 | sc1 | st1).
targetMultiAttachEnabled
- Indicates whether Multi-Attach support is to be enabled (true | false).
volume-id
- The ID of the volume.
The filters.
attachment.attach-time
- The time stamp when the attachment initiated.
attachment.delete-on-termination
- Whether the volume is deleted on instance termination.
attachment.device
- The device name specified in the block device mapping (for example, /dev/sda1
).
attachment.instance-id
- The ID of the instance the volume is attached to.
attachment.status
- The attachment state (attaching
| attached
| detaching
).
availability-zone
- The Availability Zone in which the volume was created.
create-time
- The time stamp when the volume was created.
encrypted
- Indicates whether the volume is encrypted (true
| false
)
multi-attach-enabled
- Indicates whether the volume is enabled for Multi-Attach (true
| false
)
fast-restored
- Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (true
| false
).
size
- The size of the volume, in GiB.
snapshot-id
- The snapshot from which the volume was created.
status
- The status of the volume (creating
| available
| in-use
| deleting
| deleted
| error
).
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
volume-id
- The volume ID.
volume-type
- The Amazon EBS volume type. This can be gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
The filters.
attachment.attach-time
- The time stamp when the attachment initiated.
attachment.delete-on-termination
- Whether the volume is deleted on instance termination.
attachment.device
- The device name specified in the block device mapping (for example, /dev/sda1
).
attachment.instance-id
- The ID of the instance the volume is attached to.
attachment.status
- The attachment state (attaching
| attached
| detaching
).
availability-zone
- The Availability Zone in which the volume was created.
create-time
- The time stamp when the volume was created.
encrypted
- Indicates whether the volume is encrypted (true
| false
)
multi-attach-enabled
- Indicates whether the volume is enabled for Multi-Attach (true
| false
)
fast-restored
- Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (true
| false
).
size
- The size of the volume, in GiB.
snapshot-id
- The snapshot from which the volume was created.
status
- The state of the volume (creating
| available
| in-use
| deleting
| deleted
| error
).
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
volume-id
- The volume ID.
volume-type
- The Amazon EBS volume type. This can be gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
The number of I/O operations per second (IOPS) that the volume supports. For io1
volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.
Constraints: Range is 100-16,000 IOPS for gp2
volumes and 100 to 64,000IOPS for io1
volumes in most Regions. Maximum io1
IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Condition: This parameter is required for requests to create io1
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The number of I/O operations per second (IOPS) that the volume supports. For io1
and io2
volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.
Constraints: Range is 100-16,000 IOPS for gp2
volumes and 100 to 64,000 IOPS for io1
and io2
volumes in most Regions. Maximum io1
and io2
IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Condition: This parameter is required for requests to create io1
and io2
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The size of the volume, in GiB.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
Constraints: 1-16384 for General Purpose SSD (gp2
), 4-16384 for Provisioned IOPS SSD (io1
), 500-16384 for Throughput Optimized HDD (st1
), 500-16384 for Cold HDD (sc1
), and 1-1024 for Magnetic (standard
) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
The size of the volume, in GiB.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
Constraints: 1-16384 for General Purpose SSD (gp2
), 4-16384 for Provisioned IOPS SSD (io1
and io2
), 500-16384 for Throughput Optimized HDD (st1
), 500-16384 for Cold HDD (sc1
), and 1-1024 for Magnetic (standard
) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
The volume type. If you set the type to io1
, you must also specify the Iops parameter. If you set the type to gp2
, st1
, sc1
, or standard
, you must omit the Iops parameter.
Default: gp2
The volume type. If you set the type to io1
or io2
, you must also specify the Iops parameter. If you set the type to gp2
, st1
, sc1
, or standard
, you must omit the Iops parameter.
Default: gp2
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
.
One or more filters. The possible values are:
attachment.resource-id
- The ID of the resource for the attachment.
attachment.resource-type
- The type of resource for the attachment (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
attachment.transit-gateway-attachment-id
- The ID of the attachment.
is-blackhole
- Whether traffic matching the route is blocked (true
| false
).
prefix-list-id
- The ID of the prefix list.
prefix-list-owner-id
- The ID of the owner of the prefix list.
state
- The state of the prefix list reference (pending
| available
| modifying
| deleting
).
The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +/** +The ID of the transit gateway route table.
+ */ +@property (nonatomic, strong) NSString * _Nullable transitGatewayRouteTableId; + +@end + +/** + + */ +@interface AWSEC2GetTransitGatewayPrefixListReferencesResult : AWSModel + + +/** +The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
Information about the prefix list references.
+ */ +@property (nonatomic, strong) NSArrayOne or more filters. The possible values are:
resource-id
- The ID of the resource.
resource-type
- The resource type (vpc
| vpn
).
transit-gateway-attachment-id
- The ID of the attachment.
One or more filters. The possible values are:
resource-id
- The ID of the resource.
resource-type
- The resource type (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
transit-gateway-attachment-id
- The ID of the attachment.
One or more filters. The possible values are:
resource-id
- The ID of the resource.
resource-type
- The resource type (vpc
| vpn
).
transit-gateway-attachment-id
- The ID of the attachment.
One or more filters. The possible values are:
resource-id
- The ID of the resource.
resource-type
- The resource type (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
transit-gateway-attachment-id
- The ID of the attachment.
The public IPv4 address assigned to the instance, if applicable.
+The public IPv4 address, or the Carrier IP address assigned to the instance, if applicable.
A Carrier IP address only applies to an instance launched in a subnet associated with a Wavelength Zone.
*/ @property (nonatomic, strong) NSString * _Nullable publicIpAddress; @@ -22372,6 +22728,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2InstanceNetworkInterfaceAssociation : AWSModel +/** +The carrier IP address associated with the network interface.
+ */ +@property (nonatomic, strong) NSString * _Nullable carrierIp; + /**The ID of the owner of the Elastic IP address.
*/ @@ -22428,6 +22789,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2InstanceNetworkInterfaceSpecification : AWSModel +/** +Indicates whether to assign a carrier IP address to the network interface.
You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP addresses in the AWS Wavelength Developer Guide.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable associateCarrierIpAddress; + /**Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true
.
The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.
+The number of I/O operations per second (IOPS) to provision for an io1
or io2
volume, with a maximum ratio of 50 IOPS/GiB for io1
, and 500 IOPS/GiB for io2
. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
This parameter is valid only for Provisioned IOPS SSD (io1
and io2
) volumes.
Indicates whether to associate a Carrier IP address with eth0 for a new network interface.
Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see Carrier IP addresses in the AWS Wavelength Developer Guide.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable associateCarrierIpAddress; + /**Indicates whether to associate a public IPv4 address with eth0 for a new network interface.
*/ @@ -23844,6 +24215,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2LaunchTemplateInstanceNetworkInterfaceSpecificationRequest : AWSModel +/** +Associates a Carrier IP address with eth0 for a new network interface.
Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see Carrier IP addresses in the AWS Wavelength Developer Guide.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable associateCarrierIpAddress; + /**Associates a public IPv4 address with eth0 for a new network interface.
*/ @@ -24702,12 +25078,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -The name of the Availability Zone Group.
+The name of the Availability Zone group, Local Zone group, or Wavelength Zone group.
*/ @property (nonatomic, strong) NSString * _Nullable groupName; /** -Indicates whether to enable or disable membership. The valid values are opted-in
. You must contact AWS Support to disable an Availability Zone group.
Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The only valid value is opted-in
. You must contact AWS Support to opt out of a Local Zone group, or Wavelength Zone group.
The transit gateway options.
+ */ +@interface AWSEC2ModifyTransitGatewayOptions : AWSModel + + +/** +The ID of the default association route table.
+ */ +@property (nonatomic, strong) NSString * _Nullable associationDefaultRouteTableId; + +/** +Enable or disable automatic acceptance of attachment requests.
+ */ +@property (nonatomic, assign) AWSEC2AutoAcceptSharedAttachmentsValue autoAcceptSharedAttachments; + +/** +Enable or disable automatic association with the default association route table.
+ */ +@property (nonatomic, assign) AWSEC2DefaultRouteTableAssociationValue defaultRouteTableAssociation; + +/** +Enable or disable automatic propagation of routes to the default propagation route table.
+ */ +@property (nonatomic, assign) AWSEC2DefaultRouteTablePropagationValue defaultRouteTablePropagation; + +/** +Enable or disable DNS support.
+ */ +@property (nonatomic, assign) AWSEC2DnsSupportValue dnsSupport; + +/** +The ID of the default propagation route table.
+ */ +@property (nonatomic, strong) NSString * _Nullable propagationDefaultRouteTableId; + +/** +Enable or disable Equal Cost Multipath Protocol support.
+ */ +@property (nonatomic, assign) AWSEC2VpnEcmpSupportValue vpnEcmpSupport; + +@end + +/** + + */ +@interface AWSEC2ModifyTransitGatewayPrefixListReferenceRequest : AWSRequest + + +/** +Indicates whether to drop traffic that matches this route.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable blackhole; + +/** +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
.
The ID of the prefix list.
+ */ +@property (nonatomic, strong) NSString * _Nullable prefixListId; + +/** +The ID of the attachment to which traffic is routed.
+ */ +@property (nonatomic, strong) NSString * _Nullable transitGatewayAttachmentId; + +/** +The ID of the transit gateway route table.
+ */ +@property (nonatomic, strong) NSString * _Nullable transitGatewayRouteTableId; + +@end + +/** + + */ +@interface AWSEC2ModifyTransitGatewayPrefixListReferenceResult : AWSModel + + +/** +Information about the prefix list reference.
+ */ +@property (nonatomic, strong) AWSEC2TransitGatewayPrefixListReference * _Nullable transitGatewayPrefixListReference; + +@end + +/** + + */ +@interface AWSEC2ModifyTransitGatewayRequest : AWSRequest + + +/** +The description for the transit gateway.
+ */ +@property (nonatomic, strong) NSString * _Nullable detail; + +/** +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
.
The options to modify.
+ */ +@property (nonatomic, strong) AWSEC2ModifyTransitGatewayOptions * _Nullable options; + +/** +The ID of the transit gateway.
+ */ +@property (nonatomic, strong) NSString * _Nullable transitGatewayId; + +@end + +/** + + */ +@interface AWSEC2ModifyTransitGatewayResult : AWSModel + + +/** +Describes a transit gateway.
+ */ +@property (nonatomic, strong) AWSEC2TransitGateway * _Nullable transitGateway; + +@end + /** */ @@ -26064,7 +26570,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -The target IOPS rate of the volume.
This is only valid for Provisioned IOPS SSD (io1
) volumes. For more information, see Provisioned IOPS SSD (io1) Volumes.
Default: If no IOPS value is specified, the existing value is retained.
+The target IOPS rate of the volume.
This is only valid for Provisioned IOPS SSD (io1
and io2
) volumes. For moreinformation, see Provisioned IOPS SSD (io1 and io2) volumes.
Default: If no IOPS value is specified, the existing value is retained.
*/ @property (nonatomic, strong) NSNumber * _Nullable iops; @@ -26418,6 +26924,57 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2ModifyVpnConnectionOptionsRequest : 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
.
The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: 0.0.0.0/0
The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: ::/0
The IPv4 CIDR on the AWS side of the VPN connection.
Default: 0.0.0.0/0
The IPv6 CIDR on the AWS side of the VPN connection.
Default: ::/0
The ID of the Site-to-Site VPN VPN connection.
+ */ +@property (nonatomic, strong) NSString * _Nullable vpnConnectionId; + +@end + +/** + + */ +@interface AWSEC2ModifyVpnConnectionOptionsResult : AWSModel + + +/** +Describes a VPN connection.
+ */ +@property (nonatomic, strong) AWSEC2VpnConnection * _Nullable vpnConnection; + +@end + /** */ @@ -26547,6 +27104,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2ModifyVpnTunnelOptionsSpecification : AWSModel +/** +The action to take after DPD timeout occurs. Specify restart
to restart the IKE initiation. Specify clear
to end the IKE session.
Valid Values: clear
| none
| restart
Default: clear
The number of seconds after which a DPD timeout occurs.
Constraints: A value between 0 and 30.
Default: 30
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: 2
| 14
| 15
| 16
| 17
| 18
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: 2
| 14
| 15
| 16
| 17
| 18
| 19
| 20
| 21
| 22
| 23
| 24
One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: AES128
| AES256
One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: SHA1
| SHA2-256
One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: 2
| 5
| 14
| 15
| 16
| 17
| 18
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: 2
| 5
| 14
| 15
| 16
| 17
| 18
| 19
| 20
| 21
| 22
| 23
| 24
One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: AES128
| AES256
One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: SHA1
| SHA2-256
One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.
Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are reserved and cannot be used:
169.254.0.0/30
169.254.1.0/30
169.254.2.0/30
169.254.3.0/30
169.254.4.0/30
169.254.5.0/30
169.254.169.252/30
The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start
for AWS to initiate the IKE negotiation.
Valid Values: add
| start
Default: add
The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.
Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are reserved and cannot be used:
169.254.0.0/30
169.254.1.0/30
169.254.2.0/30
169.254.3.0/30
169.254.4.0/30
169.254.5.0/30
169.254.169.252/30
The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.
Constraints: A size /126 CIDR block from the local fd00::/8
range.
Describes association information for an Elastic IP address (IPv4 only).
+Describes association information for an Elastic IP address (IPv4 only), or a Carrier IP address (for a network interface which resides in a subnet in a Wavelength Zone).
*/ @interface AWSEC2NetworkInterfaceAssociation : AWSModel @@ -27099,6 +27671,16 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable associationId; +/** +The carrier IP address associated with the network interface.
This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.
+ */ +@property (nonatomic, strong) NSString * _Nullable carrierIp; + +/** +The customer-owned IP address associated with the network interface.
+ */ +@property (nonatomic, strong) NSString * _Nullable customerOwnedIp; + /**The ID of the Elastic IP address owner.
*/ @@ -27110,7 +27692,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable publicDnsName; /** -The address of the Elastic IP address bound to the network interface.
+The address of the Elastic IP address or Carrier IP address bound to the network interface.
*/ @property (nonatomic, strong) NSString * _Nullable publicIp; @@ -28841,7 +29423,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -The location that the IP address is released from.
If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
error. For more information, see Error Codes.
You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination
error. For more information, see Error Codes.
The set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses.
If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
error. For more information, see Error Codes.
You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination
error. For more information, see Error Codes.
[IPv4 traffic only] The ID of a carrier gateway.
+ */ +@property (nonatomic, strong) NSString * _Nullable carrierGatewayId; + /**The IPv4 CIDR address block used for the destination match. The value that you provide must match the CIDR of an existing route in the table.
*/ @@ -30574,6 +31161,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2Route : AWSModel +/** +The ID of the carrier gateway.
+ */ +@property (nonatomic, strong) NSString * _Nullable carrierGatewayId; + /**The IPv4 CIDR block used for the destination match.
*/ @@ -31294,7 +31886,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about gp2
baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Constraint: Range is 100-20000 IOPS for io1
volumes and 100-10000 IOPS for gp2
volumes.
Condition: This parameter is required for requests to create io1
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The number of I/O operations per second (IOPS) to provision for an io1
or io2
volume, with a maximum ratio of 50 IOPS/GiB for io1
, and 500 IOPS/GiB for io2
. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
This parameter is valid only for Provisioned IOPS SSD (io1
and io2
) volumes.
The volume type. gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, Throughput Optimized HDD for st1
, Cold HDD for sc1
, or standard
for Magnetic.
Default: gp2
The volume type. gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, Throughput Optimized HDD for st1
, Cold HDD for sc1
, or standard
for Magnetic.
Default: gp2
One or more filters. The possible values are:
attachment.transit-gateway-attachment-id
- The id of the transit gateway attachment.
attachment.resource-id
- The resource id of the transit gateway attachment.
attachment.resource-type
- The attachment resource type (vpc
| vpn
).
route-search.exact-match
- The exact match of the specified filter.
route-search.longest-prefix-match
- The longest prefix that matches the route.
route-search.subnet-of-match
- The routes with a subnet that match the specified CIDR filter.
route-search.supernet-of-match
- The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.
state
- The state of the route (active
| blackhole
).
type
- The type of route (propagated
| static
).
One or more filters. The possible values are:
attachment.transit-gateway-attachment-id
- The id of the transit gateway attachment.
attachment.resource-id
- The resource id of the transit gateway attachment.
attachment.resource-type
- The attachment resource type (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
prefix-list-id
- The ID of the prefix list.
route-search.exact-match
- The exact match of the specified filter.
route-search.longest-prefix-match
- The longest prefix that matches the route.
route-search.subnet-of-match
- The routes with a subnet that match the specified CIDR filter.
route-search.supernet-of-match
- The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.
state
- The state of the route (active
| blackhole
).
type
- The type of route (propagated
| static
).
Describes a transit gateway prefix list attachment.
+ */ +@interface AWSEC2TransitGatewayPrefixListAttachment : AWSModel + + +/** +The ID of the resource.
+ */ +@property (nonatomic, strong) NSString * _Nullable resourceId; + +/** +The resource type.
+ */ +@property (nonatomic, assign) AWSEC2TransitGatewayAttachmentResourceType resourceType; + +/** +The ID of the attachment.
+ */ +@property (nonatomic, strong) NSString * _Nullable transitGatewayAttachmentId; + +@end + +/** +Describes a prefix list reference.
+ */ +@interface AWSEC2TransitGatewayPrefixListReference : AWSModel + + +/** +Indicates whether traffic that matches this route is dropped.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable blackhole; + +/** +The ID of the prefix list.
+ */ +@property (nonatomic, strong) NSString * _Nullable prefixListId; + +/** +The ID of the prefix list owner.
+ */ +@property (nonatomic, strong) NSString * _Nullable prefixListOwnerId; + +/** +The state of the prefix list reference.
+ */ +@property (nonatomic, assign) AWSEC2TransitGatewayPrefixListReferenceState state; + +/** +Information about the transit gateway attachment.
+ */ +@property (nonatomic, strong) AWSEC2TransitGatewayPrefixListAttachment * _Nullable transitGatewayAttachment; + +/** +The ID of the transit gateway route table.
+ */ +@property (nonatomic, strong) NSString * _Nullable transitGatewayRouteTableId; + +@end + /**Describes route propagation.
*/ @@ -34507,6 +35160,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable destinationCidrBlock; +/** +The ID of the prefix list used for destination matches.
+ */ +@property (nonatomic, strong) NSString * _Nullable prefixListId; + /**The state of the route.
*/ @@ -34723,6 +35381,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2TunnelOption : AWSModel +/** +The action to take after a DPD timeout occurs.
+ */ +@property (nonatomic, strong) NSString * _Nullable dpdTimeoutAction; + /**The number of seconds after which a DPD timeout occurs.
*/ @@ -34799,10 +35462,20 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable replayWindowSize; /** -The range of inside IP addresses for the tunnel.
+The action to take when the establishing the VPN tunnels for a VPN connection.
+ */ +@property (nonatomic, strong) NSString * _Nullable startupAction; + +/** +The range of inside IPv4 addresses for the tunnel.
*/ @property (nonatomic, strong) NSString * _Nullable tunnelInsideCidr; +/** +The range of inside IPv6 addresses for the tunnel.
+ */ +@property (nonatomic, strong) NSString * _Nullable tunnelInsideIpv6Cidr; + @end /** @@ -35271,7 +35944,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable fastRestored; /** -The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Constraints: Range is 100-16,000 IOPS for gp2
volumes and 100 to 64,000IOPS for io1
volumes, in most Regions. The maximum IOPS for io1
of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS.
Condition: This parameter is required for requests to create io1
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.
Constraints: Range is 100-16,000 IOPS for gp2
volumes and 100 to 64,000 IOPS for io1
and io2
volumes, in most Regions. The maximum IOPS for io1
and io2
of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS.
Condition: This parameter is required for requests to create io1
and io2
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The volume type. This can be gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
The volume type. This can be gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
The ID of the set of DHCP options you've associated with the VPC (or default
if the default options are associated with the VPC).
The ID of the set of DHCP options you've associated with the VPC.
*/ @property (nonatomic, strong) NSString * _Nullable dhcpOptionsId; @@ -35908,7 +36581,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable ipv6Pool; /** -The name of the location from which we advertise the IPV6 CIDR block.
+The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses, for example, us-east-1-wl1-bos-wlz-1
.
The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
+ */ +@property (nonatomic, strong) NSString * _Nullable localIpv4NetworkCidr; + +/** +The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
+ */ +@property (nonatomic, strong) NSString * _Nullable localIpv6NetworkCidr; + +/** +The IPv4 CIDR on the AWS side of the VPN connection.
+ */ +@property (nonatomic, strong) NSString * _Nullable remoteIpv4NetworkCidr; + +/** +The IPv6 CIDR on the AWS side of the VPN connection.
+ */ +@property (nonatomic, strong) NSString * _Nullable remoteIpv6NetworkCidr; + /**Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.
*/ @property (nonatomic, strong) NSNumber * _Nullable staticRoutesOnly; +/** +Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.
+ */ +@property (nonatomic, assign) AWSEC2TunnelInsideIpVersion tunnelInsideIpVersion; + /**Indicates the VPN tunnel options.
*/ @@ -36138,11 +36836,36 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable enableAcceleration; +/** +The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: 0.0.0.0/0
The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: ::/0
The IPv4 CIDR on the AWS side of the VPN connection.
Default: 0.0.0.0/0
The IPv6 CIDR on the AWS side of the VPN connection.
Default: ::/0
Indicate whether the VPN connection uses static routes only. If you are creating a VPN connection for a device that does not support BGP, you must specify true
. Use CreateVpnConnectionRoute to create a static route.
Default: false
Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
Default: ipv4
The tunnel options for the VPN connection.
*/ @@ -36222,6 +36945,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2VpnTunnelOptionsSpecification : AWSModel +/** +The action to take after DPD timeout occurs. Specify restart
to restart the IKE initiation. Specify clear
to end the IKE session.
Valid Values: clear
| none
| restart
Default: clear
The number of seconds after which a DPD timeout occurs.
Constraints: A value between 0 and 30.
Default: 30
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: 2
| 14
| 15
| 16
| 17
| 18
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: 2
| 14
| 15
| 16
| 17
| 18
| 19
| 20
| 21
| 22
| 23
| 24
One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: AES128
| AES256
One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: SHA1
| SHA2-256
One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: 2
| 5
| 14
| 15
| 16
| 17
| 18
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: 2
| 5
| 14
| 15
| 16
| 17
| 18
| 19
| 20
| 21
| 22
| 23
| 24
One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: AES128
| AES256
One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: SHA1
| SHA2-256
One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.
Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are reserved and cannot be used:
169.254.0.0/30
169.254.1.0/30
169.254.2.0/30
169.254.3.0/30
169.254.4.0/30
169.254.5.0/30
169.254.169.252/30
The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start
for AWS to initiate the IKE negotiation.
Valid Values: add
| start
Default: add
The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.
Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are reserved and cannot be used:
169.254.0.0/30
169.254.1.0/30
169.254.2.0/30
169.254.3.0/30
169.254.4.0/30
169.254.5.0/30
169.254.169.252/30
The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.
Constraints: A size /126 CIDR block from the local fd00::/8
range.
Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.
You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.
[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.
An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.
For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.
You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.
[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.
An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.
For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).
\"\ },\ \"AllocateHosts\":{\ \"name\":\"AllocateHosts\",\ @@ -188,7 +188,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AssociateAddressRequest\"},\ \"output\":{\"shape\":\"AssociateAddressResult\"},\ - \"documentation\":\"Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.
An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.
[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.
You cannot associate an Elastic IP address with an interface in a different network border group.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.
Associates an Elastic IP address, or carrier IP address (for instances that are in subnets in Wavelength Zones) with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.
An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.
[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.
[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication carrier to the instance or network interface.
You cannot associate an Elastic IP address with an interface in a different network border group.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.
Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.
Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
After you attach an EBS volume, you must make it available. For more information, see Making an EBS Volume Available For Use.
If a volume has an AWS Marketplace product code:
The volume can be attached only to a stopped instance.
AWS Marketplace product codes are copied from the volume to the instance.
You must be subscribed to the product.
The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.
For more information, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.
Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
After you attach an EBS volume, you must make it available. For more information, see Making an EBS volume available for use.
If a volume has an AWS Marketplace product code:
The volume can be attached only to a stopped instance.
AWS Marketplace product codes are copied from the volume to the instance.
You must be subscribed to the product.
The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.
For more information, see Attaching Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"AttachVpnGateway\":{\ \"name\":\"AttachVpnGateway\",\ @@ -472,7 +472,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CopySnapshotRequest\"},\ \"output\":{\"shape\":\"CopySnapshotResult\"},\ - \"documentation\":\"Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same Region or from one Region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).
Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a different CMK.
To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.
Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.
For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same Region or from one Region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).
Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a different CMK.
To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.
Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.
For more information, see Copying an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"CreateCapacityReservation\":{\ \"name\":\"CreateCapacityReservation\",\ @@ -484,6 +484,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"CreateCapacityReservationResult\"},\ \"documentation\":\"Creates a new Capacity Reservation with the specified attributes.
Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. This gives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. By creating Capacity Reservations, you ensure that you always have access to Amazon EC2 capacity when you need it, for as long as you need it. For more information, see Capacity Reservations in the Amazon Elastic Compute Cloud User Guide.
Your request to create a Capacity Reservation could fail if Amazon EC2 does not have sufficient capacity to fulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try again at a later time, try in a different Availability Zone, or request a smaller capacity reservation. If your application is flexible across instance types and sizes, try to create a Capacity Reservation with different instance attributes.
Your request could also fail if the requested quantity exceeds your On-Demand Instance limit for the selected instance type. If your request fails due to limit constraints, increase your On-Demand Instance limit for the required instance type and try again. For more information about increasing your instance limits, see Amazon EC2 Service Limits in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ + \"CreateCarrierGateway\":{\ + \"name\":\"CreateCarrierGateway\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"CreateCarrierGatewayRequest\"},\ + \"output\":{\"shape\":\"CreateCarrierGatewayResult\"},\ + \"documentation\":\"Creates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the AWS Wavelength Developer Guide.
\"\ + },\ \"CreateClientVpnEndpoint\":{\ \"name\":\"CreateClientVpnEndpoint\",\ \"http\":{\ @@ -512,7 +522,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateCustomerGatewayRequest\"},\ \"output\":{\"shape\":\"CreateCustomerGatewayResult\"},\ - \"documentation\":\"Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).
For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).
Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1
Region, and 9059, which is reserved in the eu-west-1
Region.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. Identical requests return information about the existing customer gateway and do not create new customer gateways.
Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).
For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).
Amazon EC2 supports all 4-byte ASN numbers in the range of 1 - 2147483647, with the exception of the following:
7224 - reserved in the us-east-1
Region
9059 - reserved in the eu-west-1
Region
17943 - reserved in the ap-southeast-1
Region
10124 - reserved in the ap-northeast-1
Region
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. Identical requests return information about the existing customer gateway and do not create new customer gateways.
Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.
When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.
You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending
.
To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.
Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.
You can tag your snapshots during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.
When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.
You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending
.
To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.
Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.
You can tag your snapshots during creation. For more information, see Tagging your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"CreateSnapshots\":{\ \"name\":\"CreateSnapshots\",\ @@ -892,6 +902,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"CreateTransitGatewayPeeringAttachmentResult\"},\ \"documentation\":\"Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter). The transit gateways must be in different Regions. The peer transit gateway can be in your account or a different AWS account.
After you create the peering attachment, the owner of the accepter transit gateway must accept the attachment request.
\"\ },\ + \"CreateTransitGatewayPrefixListReference\":{\ + \"name\":\"CreateTransitGatewayPrefixListReference\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"CreateTransitGatewayPrefixListReferenceRequest\"},\ + \"output\":{\"shape\":\"CreateTransitGatewayPrefixListReferenceResult\"},\ + \"documentation\":\"Creates a reference (route) to a prefix list in a specified transit gateway route table.
\"\ + },\ \"CreateTransitGatewayRoute\":{\ \"name\":\"CreateTransitGatewayRoute\",\ \"http\":{\ @@ -930,7 +950,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateVolumeRequest\"},\ \"output\":{\"shape\":\"Volume\"},\ - \"documentation\":\"Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.
You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.
You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.
You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.
You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can tag your volumes during creation. For more information, see Tagging your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Creating an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"CreateVpc\":{\ \"name\":\"CreateVpc\",\ @@ -990,7 +1010,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateVpnConnectionRequest\"},\ \"output\":{\"shape\":\"CreateVpnConnectionResult\"},\ - \"documentation\":\"Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The supported connection type is ipsec.1
.
The response includes information that you need to give to your network administrator to configure your customer gateway.
We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.
If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
\"\ + \"documentation\":\"Creates a VPN connection between an existing virtual private gateway or transit gateway and a customer gateway. The supported connection type is ipsec.1
.
The response includes information that you need to give to your network administrator to configure your customer gateway.
We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway device.
If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
\"\ },\ \"CreateVpnConnectionRoute\":{\ \"name\":\"CreateVpnConnectionRoute\",\ @@ -1011,6 +1031,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"CreateVpnGatewayResult\"},\ \"documentation\":\"Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
\"\ },\ + \"DeleteCarrierGateway\":{\ + \"name\":\"DeleteCarrierGateway\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DeleteCarrierGatewayRequest\"},\ + \"output\":{\"shape\":\"DeleteCarrierGatewayResult\"},\ + \"documentation\":\"Deletes a carrier gateway.
If you do not delete the route that contains the carrier gateway as the Target, the route is a blackhole route. For information about how to delete a route, see DeleteRoute.
Deletes the specified snapshot.
When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.
You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.
For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Deletes the specified snapshot.
When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.
You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.
For more information, see Deleting an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"DeleteSpotDatafeedSubscription\":{\ \"name\":\"DeleteSpotDatafeedSubscription\",\ @@ -1356,6 +1386,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DeleteTransitGatewayPeeringAttachmentResult\"},\ \"documentation\":\"Deletes a transit gateway peering attachment.
\"\ },\ + \"DeleteTransitGatewayPrefixListReference\":{\ + \"name\":\"DeleteTransitGatewayPrefixListReference\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DeleteTransitGatewayPrefixListReferenceRequest\"},\ + \"output\":{\"shape\":\"DeleteTransitGatewayPrefixListReferenceResult\"},\ + \"documentation\":\"Deletes a reference (route) to a prefix list in a specified transit gateway route table.
\"\ + },\ \"DeleteTransitGatewayRoute\":{\ \"name\":\"DeleteTransitGatewayRoute\",\ \"http\":{\ @@ -1393,7 +1433,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"DeleteVolumeRequest\"},\ - \"documentation\":\"Deletes the specified EBS volume. The volume must be in the available
state (not attached to an instance).
The volume can remain in the deleting
state for several minutes.
For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Deletes the specified EBS volume. The volume must be in the available
state (not attached to an instance).
The volume can remain in the deleting
state for several minutes.
For more information, see Deleting an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"DeleteVpc\":{\ \"name\":\"DeleteVpc\",\ @@ -1558,7 +1598,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeAvailabilityZonesRequest\"},\ \"output\":{\"shape\":\"DescribeAvailabilityZonesResult\"},\ - \"documentation\":\"Describes the Availability Zones and Local Zones that are available to you. If there is an event impacting an Availability Zone or Local Zone, you can use this request to view the state and any provided messages for that Availability Zone or Local Zone.
For more information about Availability Zones and Local Zones, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.
For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions, Zones and Outposts in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"DescribeBundleTasks\":{\ \"name\":\"DescribeBundleTasks\",\ @@ -1590,6 +1630,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DescribeCapacityReservationsResult\"},\ \"documentation\":\"Describes one or more of your Capacity Reservations. The results describe only the Capacity Reservations in the AWS Region that you're currently using.
\"\ },\ + \"DescribeCarrierGateways\":{\ + \"name\":\"DescribeCarrierGateways\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DescribeCarrierGatewaysRequest\"},\ + \"output\":{\"shape\":\"DescribeCarrierGatewaysResult\"},\ + \"documentation\":\"Describes one or more of your carrier gateways.
\"\ + },\ \"DescribeClassicLinkInstances\":{\ \"name\":\"DescribeClassicLinkInstances\",\ \"http\":{\ @@ -2508,7 +2558,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVolumeStatusRequest\"},\ \"output\":{\"shape\":\"DescribeVolumeStatusResult\"},\ - \"documentation\":\"Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.
The DescribeVolumeStatus
operation provides the following information about the specified volumes:
Status: Reflects the current status of the volume. The possible values are ok
, impaired
, warning
, or insufficient-data
. If all checks pass, the overall status of the volume is ok
. If the check fails, the overall status is impaired
. If the status is insufficient-data
, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the Status of Your Volumes in the Amazon Elastic Compute Cloud User Guide.
Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired
status, then the volume event might be potential-data-inconsistency
. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.
Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired
and the volume event shows potential-data-inconsistency
, then the action shows enable-volume-io
. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.
Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error
state (for example, when a volume is incapable of accepting I/O.)
Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.
The DescribeVolumeStatus
operation provides the following information about the specified volumes:
Status: Reflects the current status of the volume. The possible values are ok
, impaired
, warning
, or insufficient-data
. If all checks pass, the overall status of the volume is ok
. If the check fails, the overall status is impaired
. If the status is insufficient-data
, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the status of your volumes in the Amazon Elastic Compute Cloud User Guide.
Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired
status, then the volume event might be potential-data-inconsistency
. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.
Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired
and the volume event shows potential-data-inconsistency
, then the action shows enable-volume-io
. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.
Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error
state (for example, when a volume is incapable of accepting I/O.)
Describes the most recent volume modification request for the specified EBS volumes.
If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.
You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring Volume Modifications in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Describes the most recent volume modification request for the specified EBS volumes.
If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.
You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring volume modifications in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"DescribeVpcAttribute\":{\ \"name\":\"DescribeVpcAttribute\",\ @@ -2696,7 +2746,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DetachVolumeRequest\"},\ \"output\":{\"shape\":\"VolumeAttachment\"},\ - \"documentation\":\"Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy
state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.
When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.
For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy
state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.
When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.
For more information, see Detaching an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"DetachVpnGateway\":{\ \"name\":\"DetachVpnGateway\",\ @@ -2852,7 +2902,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"EnableEbsEncryptionByDefaultRequest\"},\ \"output\":{\"shape\":\"EnableEbsEncryptionByDefaultResult\"},\ - \"documentation\":\"Enables EBS encryption by default for your account in the current Region.
After you enable encryption by default, the EBS volumes that you create are are always encrypted, either using the default CMK or the CMK that you specified when you created each volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
Enabling encryption by default has no effect on the encryption status of your existing volumes.
After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported Instance Types.
\"\ + \"documentation\":\"Enables EBS encryption by default for your account in the current Region.
After you enable encryption by default, the EBS volumes that you create are are always encrypted, either using the default CMK or the CMK that you specified when you created each volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
Enabling encryption by default has no effect on the encryption status of your existing volumes.
After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.
\"\ },\ \"EnableFastSnapshotRestores\":{\ \"name\":\"EnableFastSnapshotRestores\",\ @@ -2862,7 +2912,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"EnableFastSnapshotRestoresRequest\"},\ \"output\":{\"shape\":\"EnableFastSnapshotRestoresResult\"},\ - \"documentation\":\"Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.
You get the full benefit of fast snapshot restores after they enter the enabled
state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.
For more information, see Amazon EBS Fast Snapshot Restore in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.
You get the full benefit of fast snapshot restores after they enter the enabled
state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.
For more information, see Amazon EBS fast snapshot restore in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"EnableTransitGatewayRouteTablePropagation\":{\ \"name\":\"EnableTransitGatewayRouteTablePropagation\",\ @@ -3122,6 +3172,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"GetTransitGatewayMulticastDomainAssociationsResult\"},\ \"documentation\":\"Gets information about the associations for the transit gateway multicast domain.
\"\ },\ + \"GetTransitGatewayPrefixListReferences\":{\ + \"name\":\"GetTransitGatewayPrefixListReferences\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetTransitGatewayPrefixListReferencesRequest\"},\ + \"output\":{\"shape\":\"GetTransitGatewayPrefixListReferencesResult\"},\ + \"documentation\":\"Gets information about the prefix list references in a specified transit gateway route table.
\"\ + },\ \"GetTransitGatewayRouteTableAssociations\":{\ \"name\":\"GetTransitGatewayRouteTableAssociations\",\ \"http\":{\ @@ -3210,7 +3270,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifyAvailabilityZoneGroupRequest\"},\ \"output\":{\"shape\":\"ModifyAvailabilityZoneGroupResult\"},\ - \"documentation\":\"Enables or disables an Availability Zone group for your account.
Use DescribeAvailabilityZones to view the value for GroupName
.
Changes the opt-in status of the Local Zone and Wavelength Zone group for your account.
Use DescribeAvailabilityZones to view the value for GroupName
.
Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.
Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.
For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.
Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.
For more information about modifying snapshot permissions, see Sharing snapshots in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"ModifySpotFleetRequest\":{\ \"name\":\"ModifySpotFleetRequest\",\ @@ -3465,6 +3525,26 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"ModifyTrafficMirrorSessionResult\"},\ \"documentation\":\"Modifies a Traffic Mirror session.
\"\ },\ + \"ModifyTransitGateway\":{\ + \"name\":\"ModifyTransitGateway\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ModifyTransitGatewayRequest\"},\ + \"output\":{\"shape\":\"ModifyTransitGatewayResult\"},\ + \"documentation\":\"Modifies the specified transit gateway. When you modify a transit gateway, the modified options are applied to new transit gateway attachments only. Your existing transit gateway attachments are not modified.
\"\ + },\ + \"ModifyTransitGatewayPrefixListReference\":{\ + \"name\":\"ModifyTransitGatewayPrefixListReference\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ModifyTransitGatewayPrefixListReferenceRequest\"},\ + \"output\":{\"shape\":\"ModifyTransitGatewayPrefixListReferenceResult\"},\ + \"documentation\":\"Modifies a reference (route) to a prefix list in a specified transit gateway route table.
\"\ + },\ \"ModifyTransitGatewayVpcAttachment\":{\ \"name\":\"ModifyTransitGatewayVpcAttachment\",\ \"http\":{\ @@ -3483,7 +3563,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifyVolumeRequest\"},\ \"output\":{\"shape\":\"ModifyVolumeResult\"},\ - \"documentation\":\"You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.
When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System.
You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring Volume Modifications.
With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux and Modifying the Size, IOPS, or Type of an EBS Volume on Windows.
If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.
\"\ + \"documentation\":\"You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the size, IOPS, or type of an EBS volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the size, IOPS, or type of an EBS volume on Windows.
When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux file system. For information about extending a Windows file system, see Extending a Windows file system.
You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring volume modifications.
With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the size, IOPS, or type of an EBS volume on Linux and Modifying the size, IOPS, or type of an EBS volume on Windows.
If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.
\"\ },\ \"ModifyVolumeAttribute\":{\ \"name\":\"ModifyVolumeAttribute\",\ @@ -3573,6 +3653,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"ModifyVpnConnectionResult\"},\ \"documentation\":\"Modifies the customer gateway or the target gateway of an AWS Site-to-Site VPN connection. To modify the target gateway, the following migration options are available:
An existing virtual private gateway to a new virtual private gateway
An existing virtual private gateway to a transit gateway
An existing transit gateway to a new transit gateway
An existing transit gateway to a virtual private gateway
Before you perform the migration to the new gateway, you must configure the new gateway. Use CreateVpnGateway to create a virtual private gateway, or CreateTransitGateway to create a transit gateway.
This step is required when you migrate from a virtual private gateway with static routes to a transit gateway.
You must delete the static routes before you migrate to the new gateway.
Keep a copy of the static route before you delete it. You will need to add back these routes to the transit gateway after the VPN connection migration is complete.
After you migrate to the new gateway, you might need to modify your VPC route table. Use CreateRoute and DeleteRoute to make the changes described in VPN Gateway Target Modification Required VPC Route Table Updates in the AWS Site-to-Site VPN User Guide.
When the new gateway is a transit gateway, modify the transit gateway route table to allow traffic between the VPC and the AWS Site-to-Site VPN connection. Use CreateTransitGatewayRoute to add the routes.
If you deleted VPN static routes, you must add the static routes to the transit gateway route table.
After you perform this operation, the AWS VPN endpoint's IP addresses on the AWS side and the tunnel options remain intact. Your AWS Site-to-Site VPN connection will be temporarily unavailable for a brief period while we provision the new endpoints.
\"\ },\ + \"ModifyVpnConnectionOptions\":{\ + \"name\":\"ModifyVpnConnectionOptions\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ModifyVpnConnectionOptionsRequest\"},\ + \"output\":{\"shape\":\"ModifyVpnConnectionOptionsResult\"},\ + \"documentation\":\"Modifies the connection options for your Site-to-Site VPN VPN connection.
When you modify the VPN connection options, the VPN endpoint IP addresses on the AWS side do not change, and the tunnel options do not change. Your VPN connection will be temporarily unavailable for a brief period while the VPN connection is updated.
\"\ + },\ \"ModifyVpnTunnelCertificate\":{\ \"name\":\"ModifyVpnTunnelCertificate\",\ \"http\":{\ @@ -3902,7 +3992,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"ResetSnapshotAttributeRequest\"},\ - \"documentation\":\"Resets permission settings for the specified snapshot.
For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.
\"\ + \"documentation\":\"Resets permission settings for the specified snapshot.
For more information about modifying snapshot permissions, see Sharing snapshots in the Amazon Elastic Compute Cloud User Guide.
\"\ },\ \"RestoreAddressToClassic\":{\ \"name\":\"RestoreAddressToClassic\",\ @@ -4432,7 +4522,7 @@ - (NSString *)definitionString { },\ \"NetworkBorderGroup\":{\ \"shape\":\"String\",\ - \"documentation\":\"The name of the location from which the IP address is advertised.
\",\ + \"documentation\":\"The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses.
\",\ \"locationName\":\"networkBorderGroup\"\ },\ \"CustomerOwnedIp\":{\ @@ -4444,9 +4534,14 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"The ID of the customer-owned address pool.
\",\ \"locationName\":\"customerOwnedIpv4Pool\"\ + },\ + \"CarrierIp\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The carrier IP address associated. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance).
\",\ + \"locationName\":\"carrierIp\"\ }\ },\ - \"documentation\":\"Describes an Elastic IP address.
\"\ + \"documentation\":\"Describes an Elastic IP address, or a carrier IP address.
\"\ },\ \"AddressList\":{\ \"type\":\"list\",\ @@ -4503,7 +4598,7 @@ - (NSString *)definitionString { },\ \"NetworkBorderGroup\":{\ \"shape\":\"String\",\ - \"documentation\":\"The location from which the IP address is advertised. Use this parameter to limit the address to this location.
A network border group is a unique set of Availability Zones or Local Zones from where AWS advertises IP addresses and limits the addresses to the group. IP addresses cannot move between network border groups.
Use DescribeAvailabilityZones to view the network border groups.
You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination
error. For more information, see Error Codes.
A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.
Use DescribeAvailabilityZones to view the network border groups.
You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination
error. For more information, see Error Codes.
The location from which the IP address is advertised.
\",\ + \"documentation\":\"The set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses.
\",\ \"locationName\":\"networkBorderGroup\"\ },\ \"Domain\":{\ @@ -4553,6 +4648,11 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"The ID of the customer-owned address pool.
\",\ \"locationName\":\"customerOwnedIpv4Pool\"\ + },\ + \"CarrierIp\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The carrier IP address. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance).
\",\ + \"locationName\":\"carrierIp\"\ }\ }\ },\ @@ -5120,7 +5220,7 @@ - (NSString *)definitionString { },\ \"Ipv6CidrBlockNetworkBorderGroup\":{\ \"shape\":\"String\",\ - \"documentation\":\"The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CiDR block to this location.
You must set AmazonProvidedIpv6CidrBlock
to true
to use this parameter.
You can have one IPv6 CIDR block association per network border group.
\"\ + \"documentation\":\"The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CIDR block to this location.
You must set AmazonProvidedIpv6CidrBlock
to true
to use this parameter.
You can have one IPv6 CIDR block association per network border group.
\"\ },\ \"Ipv6Pool\":{\ \"shape\":\"Ipv6PoolEc2Id\",\ @@ -5618,17 +5718,17 @@ - (NSString *)definitionString { \"members\":{\ \"State\":{\ \"shape\":\"AvailabilityZoneState\",\ - \"documentation\":\"The state of the Zone.
\",\ + \"documentation\":\"The state of the Availability Zone, Local Zone, or Wavelength Zone.
\",\ \"locationName\":\"zoneState\"\ },\ \"OptInStatus\":{\ \"shape\":\"AvailabilityZoneOptInStatus\",\ - \"documentation\":\" For Availability Zones, this parameter always has the value of opt-in-not-required
.
For Local Zones, this parameter is the opt in status. The possible values are opted-in
, and not-opted-in
.
For Availability Zones, this parameter always has the value of opt-in-not-required
.
For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible values are opted-in
, and not-opted-in
.
Any messages about the Zone.
\",\ + \"documentation\":\"Any messages about the Availability Zone, Local Zone, or Wavelength Zone.
\",\ \"locationName\":\"messageSet\"\ },\ \"RegionName\":{\ @@ -5638,41 +5738,41 @@ - (NSString *)definitionString { },\ \"ZoneName\":{\ \"shape\":\"String\",\ - \"documentation\":\"The name of the Zone.
\",\ + \"documentation\":\"The name of the Availability Zone, Local Zone, or Wavelength Zone.
\",\ \"locationName\":\"zoneName\"\ },\ \"ZoneId\":{\ \"shape\":\"String\",\ - \"documentation\":\"The ID of the Zone.
\",\ + \"documentation\":\"The ID of the Availability Zone, Local Zone, or Wavelength Zone.
\",\ \"locationName\":\"zoneId\"\ },\ \"GroupName\":{\ \"shape\":\"String\",\ - \"documentation\":\"For Availability Zones, this parameter has the same value as the Region name.
For Local Zones, the name of the associated group, for example us-west-2-lax-1
.
For Availability Zones, this parameter has the same value as the Region name.
For Local Zones, the name of the associated group, for example us-west-2-lax-1
.
For Wavelength Zones, the name of the associated group, for example us-east-1-wl1-bos-wlz-1
.
The name of the location from which the address is advertised.
\",\ + \"documentation\":\"The name of the network border group.
\",\ \"locationName\":\"networkBorderGroup\"\ },\ \"ZoneType\":{\ \"shape\":\"String\",\ - \"documentation\":\"The type of zone. The valid values are availability-zone
and local-zone
.
The type of zone. The valid values are availability-zone
, local-zone
, and wavelength-zone
.
The name of the zone that handles some of the Local Zone control plane operations, such as API calls.
\",\ + \"documentation\":\"The name of the zone that handles some of the Local Zone or Wavelength Zone control plane operations, such as API calls.
\",\ \"locationName\":\"parentZoneName\"\ },\ \"ParentZoneId\":{\ \"shape\":\"String\",\ - \"documentation\":\"The ID of the zone that handles some of the Local Zone control plane operations, such as API calls.
\",\ + \"documentation\":\"The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane operations, such as API calls.
\",\ \"locationName\":\"parentZoneId\"\ }\ },\ - \"documentation\":\"Describes a Zone.
\"\ + \"documentation\":\"Describes Availability Zones, Local Zones, and Wavelength Zones.
\"\ },\ \"AvailabilityZoneList\":{\ \"type\":\"list\",\ @@ -5686,11 +5786,11 @@ - (NSString *)definitionString { \"members\":{\ \"Message\":{\ \"shape\":\"String\",\ - \"documentation\":\"The message about the Zone.
\",\ + \"documentation\":\"The message about the Availability Zone, Local Zone, or Wavelength Zone.
\",\ \"locationName\":\"message\"\ }\ },\ - \"documentation\":\"Describes a message about a Zone.
\"\ + \"documentation\":\"Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.
\"\ },\ \"AvailabilityZoneMessageList\":{\ \"type\":\"list\",\ @@ -6451,8 +6551,7 @@ - (NSString *)definitionString { \"Windows with SQL Server Web\",\ \"Linux with SQL Server Standard\",\ \"Linux with SQL Server Web\",\ - \"Linux with SQL Server Enterprise\",\ - \"Windows BYOL\"\ + \"Linux with SQL Server Enterprise\"\ ]\ },\ \"CapacityReservationOptions\":{\ @@ -6567,6 +6666,63 @@ - (NSString *)definitionString { \"dedicated\"\ ]\ },\ + \"CarrierGateway\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"CarrierGatewayId\":{\ + \"shape\":\"CarrierGatewayId\",\ + \"documentation\":\"The ID of the carrier gateway.
\",\ + \"locationName\":\"carrierGatewayId\"\ + },\ + \"VpcId\":{\ + \"shape\":\"VpcId\",\ + \"documentation\":\"The ID of the VPC associated with the carrier gateway.
\",\ + \"locationName\":\"vpcId\"\ + },\ + \"State\":{\ + \"shape\":\"CarrierGatewayState\",\ + \"documentation\":\"The state of the carrier gateway.
\",\ + \"locationName\":\"state\"\ + },\ + \"OwnerId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The AWS account ID of the owner of the carrier gateway.
\",\ + \"locationName\":\"ownerId\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagList\",\ + \"documentation\":\"The tags assigned to the carrier gateway.
\",\ + \"locationName\":\"tagSet\"\ + }\ + },\ + \"documentation\":\"Describes a carrier gateway.
\"\ + },\ + \"CarrierGatewayId\":{\"type\":\"string\"},\ + \"CarrierGatewayIdSet\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"CarrierGatewayId\"}\ + },\ + \"CarrierGatewayMaxResults\":{\ + \"type\":\"integer\",\ + \"max\":1000,\ + \"min\":5\ + },\ + \"CarrierGatewaySet\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"CarrierGateway\",\ + \"locationName\":\"item\"\ + }\ + },\ + \"CarrierGatewayState\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"pending\",\ + \"available\",\ + \"deleting\",\ + \"deleted\"\ + ]\ + },\ \"CertificateAuthentication\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -7738,6 +7894,40 @@ - (NSString *)definitionString { }\ }\ },\ + \"CreateCarrierGatewayRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"VpcId\"],\ + \"members\":{\ + \"VpcId\":{\ + \"shape\":\"VpcId\",\ + \"documentation\":\"The ID of the VPC to associate with the carrier gateway.
\"\ + },\ + \"TagSpecifications\":{\ + \"shape\":\"TagSpecificationList\",\ + \"documentation\":\"The tags to associate with the carrier gateway.
\",\ + \"locationName\":\"TagSpecification\"\ + },\ + \"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
.
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.
\",\ + \"idempotencyToken\":true\ + }\ + }\ + },\ + \"CreateCarrierGatewayResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"CarrierGateway\":{\ + \"shape\":\"CarrierGateway\",\ + \"documentation\":\"Information about the carrier gateway.
\",\ + \"locationName\":\"carrierGateway\"\ + }\ + }\ + },\ \"CreateClientVpnEndpointRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -9061,6 +9251,10 @@ - (NSString *)definitionString { \"shape\":\"LocalGatewayId\",\ \"documentation\":\"The ID of the local gateway.
\"\ },\ + \"CarrierGatewayId\":{\ + \"shape\":\"CarrierGatewayId\",\ + \"documentation\":\"The ID of the carrier gateway.
You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
\"\ + },\ \"NetworkInterfaceId\":{\ \"shape\":\"NetworkInterfaceId\",\ \"documentation\":\"The ID of a network interface.
\",\ @@ -9641,6 +9835,45 @@ - (NSString *)definitionString { }\ }\ },\ + \"CreateTransitGatewayPrefixListReferenceRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"TransitGatewayRouteTableId\",\ + \"PrefixListId\"\ + ],\ + \"members\":{\ + \"TransitGatewayRouteTableId\":{\ + \"shape\":\"TransitGatewayRouteTableId\",\ + \"documentation\":\"The ID of the transit gateway route table.
\"\ + },\ + \"PrefixListId\":{\ + \"shape\":\"PrefixListResourceId\",\ + \"documentation\":\"The ID of the prefix list that is used for destination matches.
\"\ + },\ + \"TransitGatewayAttachmentId\":{\ + \"shape\":\"TransitGatewayAttachmentId\",\ + \"documentation\":\"The ID of the attachment to which traffic is routed.
\"\ + },\ + \"Blackhole\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"Indicates whether to drop traffic that matches this route.
\"\ + },\ + \"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
.
Information about the prefix list reference.
\",\ + \"locationName\":\"transitGatewayPrefixListReference\"\ + }\ + }\ + },\ \"CreateTransitGatewayRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -9845,12 +10078,12 @@ - (NSString *)definitionString { },\ \"Encrypted\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"Specifies whether the volume should be encrypted. The effect of setting the encryption state to true
depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by Default in the Amazon Elastic Compute Cloud User Guide.
Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported Instance Types.
\",\ + \"documentation\":\"Specifies whether the volume should be encrypted. The effect of setting the encryption state to true
depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon Elastic Compute Cloud User Guide.
Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.
\",\ \"locationName\":\"encrypted\"\ },\ \"Iops\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
\"\ + \"documentation\":\"The number of I/O operations per second (IOPS) to provision for an io1
or io2
volume, with a maximum ratio of 50 IOPS/GiB for io1
, and 500 IOPS/GiB for io2
. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.
This parameter is valid only for Provisioned IOPS SSD (io1
and io2
) volumes.
The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.
Constraints: 1-16,384 for gp2
, 4-16,384 for io1
, 500-16,384 for st1
, 500-16,384 for sc1
, and 1-1,024 for standard
. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
\"\ + \"documentation\":\"The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.
Constraints: 1-16,384 for gp2
, 4-16,384 for io1
and io2
, 500-16,384 for st1
, 500-16,384 for sc1
, and 1-1,024 for standard
. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
\"\ },\ \"SnapshotId\":{\ \"shape\":\"SnapshotId\",\ @@ -9870,7 +10103,7 @@ - (NSString *)definitionString { },\ \"VolumeType\":{\ \"shape\":\"VolumeType\",\ - \"documentation\":\"The volume type. This can be gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
Default: gp2
The volume type. This can be gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
Default: gp2
The ID of the carrier gateway.
\"\ + },\ + \"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
.
Information about the carrier gateway.
\",\ + \"locationName\":\"carrierGateway\"\ + }\ + }\ + },\ \"DeleteClientVpnEndpointRequest\":{\ \"type\":\"structure\",\ \"required\":[\"ClientVpnEndpointId\"],\ @@ -11374,6 +11631,37 @@ - (NSString *)definitionString { }\ }\ },\ + \"DeleteTransitGatewayPrefixListReferenceRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"TransitGatewayRouteTableId\",\ + \"PrefixListId\"\ + ],\ + \"members\":{\ + \"TransitGatewayRouteTableId\":{\ + \"shape\":\"TransitGatewayRouteTableId\",\ + \"documentation\":\"The ID of the route table.
\"\ + },\ + \"PrefixListId\":{\ + \"shape\":\"PrefixListResourceId\",\ + \"documentation\":\"The ID of the prefix list.
\"\ + },\ + \"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
.
Information about the deleted prefix list reference.
\",\ + \"locationName\":\"transitGatewayPrefixListReference\"\ + }\ + }\ + },\ \"DeleteTransitGatewayRequest\":{\ \"type\":\"structure\",\ \"required\":[\"TransitGatewayId\"],\ @@ -11830,7 +12118,7 @@ - (NSString *)definitionString { \"members\":{\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"One or more filters. Filter names and values are case-sensitive.
allocation-id
- [EC2-VPC] The allocation ID for the address.
association-id
- [EC2-VPC] The association ID for the address.
domain
- Indicates whether the address is for use in EC2-Classic (standard
) or in a VPC (vpc
).
instance-id
- The ID of the instance the address is associated with, if any.
network-border-group
- The location from where the IP address is advertised.
network-interface-id
- [EC2-VPC] The ID of the network interface that the address is associated with, if any.
network-interface-owner-id
- The AWS account ID of the owner.
private-ip-address
- [EC2-VPC] The private IP address associated with the Elastic IP address.
public-ip
- The Elastic IP address.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
One or more filters. Filter names and values are case-sensitive.
allocation-id
- [EC2-VPC] The allocation ID for the address.
association-id
- [EC2-VPC] The association ID for the address.
domain
- Indicates whether the address is for use in EC2-Classic (standard
) or in a VPC (vpc
).
instance-id
- The ID of the instance the address is associated with, if any.
network-border-group
- A unique set of Availability Zones, Local Zones, or Wavelength Zones from where AWS advertises IP addresses.
network-interface-id
- [EC2-VPC] The ID of the network interface that the address is associated with, if any.
network-interface-owner-id
- The AWS account ID of the owner.
private-ip-address
- [EC2-VPC] The private IP address associated with the Elastic IP address.
public-ip
- The Elastic IP address, or the carrier IP address.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
The filters.
group-name
- For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1
).
message
- The Zone message.
opt-in-status
- The opt in status (opted-in
, and not-opted-in
| opt-in-not-required
).
The ID of the zone that handles some of the Local Zone control plane operations, such as API calls.
region-name
- The name of the Region for the Zone (for example, us-east-1
).
state
- The state of the Availability Zone or Local Zone (available
| information
| impaired
| unavailable
).
zone-id
- The ID of the Availability Zone (for example, use1-az1
) or the Local Zone (for example, use usw2-lax1-az1
).
zone-type
- The type of zone, for example, local-zone
.
zone-name
- The name of the Availability Zone (for example, us-east-1a
) or the Local Zone (for example, use us-west-2-lax-1a
).
zone-type
- The type of zone, for example, local-zone
.
The filters.
group-name
- For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1
) For Wavelength Zones, use the name of the group associated with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1
).
message
- The Zone message.
opt-in-status
- The opt-in status (opted-in
, and not-opted-in
| opt-in-not-required
).
parent-zoneID
- The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.
parent-zoneName
- The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.
region-name
- The name of the Region for the Zone (for example, us-east-1
).
state
- The state of the Availability Zone, the Local Zone, or the Wavelength Zone (available
| information
| impaired
| unavailable
).
zone-id
- The ID of the Availability Zone (for example, use1-az1
), the Local Zone (for example, usw2-lax1-az1
), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1
).
zone-type
- The type of zone, for example, local-zone
.
zone-name
- The name of the Availability Zone (for example, us-east-1a
), the Local Zone (for example, us-west-2-lax-1a
), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1
).
zone-type
- The type of zone, for example, local-zone
.
The names of the Zones.
\",\ + \"documentation\":\"The names of the Availability Zones, Local Zones, and Wavelength Zones.
\",\ \"locationName\":\"ZoneName\"\ },\ \"ZoneIds\":{\ \"shape\":\"ZoneIdStringList\",\ - \"documentation\":\"The IDs of the Zones.
\",\ + \"documentation\":\"The IDs of the Availability Zones, Local Zones, and Wavelength Zones.
\",\ \"locationName\":\"ZoneId\"\ },\ \"AllAvailabilityZones\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"Include all Availability Zones and Local Zones regardless of your opt in status.
If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.
\"\ + \"documentation\":\"Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your opt-in status.
If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.
\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -11918,7 +12206,7 @@ - (NSString *)definitionString { \"members\":{\ \"AvailabilityZones\":{\ \"shape\":\"AvailabilityZoneList\",\ - \"documentation\":\"Information about the Zones.
\",\ + \"documentation\":\"Information about the Availability Zones, Local Zones, and Wavelength Zones.
\",\ \"locationName\":\"availabilityZoneInfo\"\ }\ }\ @@ -12038,6 +12326,48 @@ - (NSString *)definitionString { }\ }\ },\ + \"DescribeCarrierGatewaysRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"CarrierGatewayIds\":{\ + \"shape\":\"CarrierGatewayIdSet\",\ + \"documentation\":\"One or more carrier gateway IDs.
\",\ + \"locationName\":\"CarrierGatewayId\"\ + },\ + \"Filters\":{\ + \"shape\":\"FilterList\",\ + \"documentation\":\"One or more filters.
carrier-gateway-id
- The ID of the carrier gateway.
state
- The state of the carrier gateway (pending
| failed
| available
| deleting
| deleted
).
owner-id
- The AWS account ID of the owner of the carrier 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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
vpc-id
- The ID of the VPC associated with the carrier gateway.
The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
\"\ + },\ + \"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
.
Information about the carrier gateway.
\",\ + \"locationName\":\"carrierGatewaySet\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
The filters.
architecture
- The image architecture (i386
| x86_64
| arm64
).
block-device-mapping.delete-on-termination
- A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.
block-device-mapping.device-name
- The device name specified in the block device mapping (for example, /dev/sdh
or xvdh
).
block-device-mapping.snapshot-id
- The ID of the snapshot used for the EBS volume.
block-device-mapping.volume-size
- The volume size of the EBS volume, in GiB.
block-device-mapping.volume-type
- The volume type of the EBS volume (gp2
| io1
| st1
| sc1
| standard
).
block-device-mapping.encrypted
- A Boolean that indicates whether the EBS volume is encrypted.
description
- The description of the image (provided during image creation).
ena-support
- A Boolean that indicates whether enhanced networking with ENA is enabled.
hypervisor
- The hypervisor type (ovm
| xen
).
image-id
- The ID of the image.
image-type
- The image type (machine
| kernel
| ramdisk
).
is-public
- A Boolean that indicates whether the image is public.
kernel-id
- The kernel ID.
manifest-location
- The location of the image manifest.
name
- The name of the AMI (provided during image creation).
owner-alias
- The owner alias, from an Amazon-maintained list (amazon
| aws-marketplace
). This is not the user-configured AWS account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.
owner-id
- The AWS account ID of the owner. We recommend that you use the related parameter instead of this filter.
platform
- The platform. To only list Windows-based AMIs, use windows
.
product-code
- The product code.
product-code.type
- The type of the product code (devpay
| marketplace
).
ramdisk-id
- The RAM disk ID.
root-device-name
- The device name of the root device volume (for example, /dev/sda1
).
root-device-type
- The type of the root device volume (ebs
| instance-store
).
state
- The state of the image (available
| pending
| failed
).
state-reason-code
- The reason code for the state change.
state-reason-message
- The message for the state change.
sriov-net-support
- A value of simple
indicates that enhanced networking with the Intel 82599 VF interface is enabled.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
virtualization-type
- The virtualization type (paravirtual
| hvm
).
The filters.
architecture
- The image architecture (i386
| x86_64
| arm64
).
block-device-mapping.delete-on-termination
- A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.
block-device-mapping.device-name
- The device name specified in the block device mapping (for example, /dev/sdh
or xvdh
).
block-device-mapping.snapshot-id
- The ID of the snapshot used for the EBS volume.
block-device-mapping.volume-size
- The volume size of the EBS volume, in GiB.
block-device-mapping.volume-type
- The volume type of the EBS volume (gp2
| io1
| io2
| st1
| sc1
| standard
).
block-device-mapping.encrypted
- A Boolean that indicates whether the EBS volume is encrypted.
description
- The description of the image (provided during image creation).
ena-support
- A Boolean that indicates whether enhanced networking with ENA is enabled.
hypervisor
- The hypervisor type (ovm
| xen
).
image-id
- The ID of the image.
image-type
- The image type (machine
| kernel
| ramdisk
).
is-public
- A Boolean that indicates whether the image is public.
kernel-id
- The kernel ID.
manifest-location
- The location of the image manifest.
name
- The name of the AMI (provided during image creation).
owner-alias
- The owner alias, from an Amazon-maintained list (amazon
| aws-marketplace
). This is not the user-configured AWS account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.
owner-id
- The AWS account ID of the owner. We recommend that you use the related parameter instead of this filter.
platform
- The platform. To only list Windows-based AMIs, use windows
.
product-code
- The product code.
product-code.type
- The type of the product code (devpay
| marketplace
).
ramdisk-id
- The RAM disk ID.
root-device-name
- The device name of the root device volume (for example, /dev/sda1
).
root-device-type
- The type of the root device volume (ebs
| instance-store
).
state
- The state of the image (available
| pending
| failed
).
state-reason-code
- The reason code for the state change.
state-reason-message
- The message for the state change.
sriov-net-support
- A value of simple
indicates that enhanced networking with the Intel 82599 VF interface is enabled.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
virtualization-type
- The virtualization type (paravirtual
| hvm
).
One or more filters.
availability-zone-group
- The Availability Zone group.
create-time
- The time stamp when the Spot Instance request was created.
fault-code
- The fault code related to the request.
fault-message
- The fault message related to the request.
instance-id
- The ID of the instance that fulfilled the request.
launch-group
- The Spot Instance launch group.
launch.block-device-mapping.delete-on-termination
- Indicates whether the EBS volume is deleted on instance termination.
launch.block-device-mapping.device-name
- The device name for the volume in the block device mapping (for example, /dev/sdh
or xvdh
).
launch.block-device-mapping.snapshot-id
- The ID of the snapshot for the EBS volume.
launch.block-device-mapping.volume-size
- The size of the EBS volume, in GiB.
launch.block-device-mapping.volume-type
- The type of EBS volume: gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic.
launch.group-id
- The ID of the security group for the instance.
launch.group-name
- The name of the security group for the instance.
launch.image-id
- The ID of the AMI.
launch.instance-type
- The type of instance (for example, m3.medium
).
launch.kernel-id
- The kernel ID.
launch.key-name
- The name of the key pair the instance launched with.
launch.monitoring-enabled
- Whether detailed monitoring is enabled for the Spot Instance.
launch.ramdisk-id
- The RAM disk ID.
launched-availability-zone
- The Availability Zone in which the request is launched.
network-interface.addresses.primary
- Indicates whether the IP address is the primary private IP address.
network-interface.delete-on-termination
- Indicates whether the network interface is deleted when the instance is terminated.
network-interface.description
- A description of the network interface.
network-interface.device-index
- The index of the device for the network interface attachment on the instance.
network-interface.group-id
- The ID of the security group associated with the network interface.
network-interface.network-interface-id
- The ID of the network interface.
network-interface.private-ip-address
- The primary private IP address of the network interface.
network-interface.subnet-id
- The ID of the subnet for the instance.
product-description
- The product description associated with the instance (Linux/UNIX
| Windows
).
spot-instance-request-id
- The Spot Instance request ID.
spot-price
- The maximum hourly price for any Spot Instance launched to fulfill the request.
state
- The state of the Spot Instance request (open
| active
| closed
| cancelled
| failed
). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide for Linux Instances.
status-code
- The short code describing the most recent evaluation of your Spot Instance request.
status-message
- The message explaining the status of the Spot Instance request.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
type
- The type of Spot Instance request (one-time
| persistent
).
valid-from
- The start date of the request.
valid-until
- The end date of the request.
One or more filters.
availability-zone-group
- The Availability Zone group.
create-time
- The time stamp when the Spot Instance request was created.
fault-code
- The fault code related to the request.
fault-message
- The fault message related to the request.
instance-id
- The ID of the instance that fulfilled the request.
launch-group
- The Spot Instance launch group.
launch.block-device-mapping.delete-on-termination
- Indicates whether the EBS volume is deleted on instance termination.
launch.block-device-mapping.device-name
- The device name for the volume in the block device mapping (for example, /dev/sdh
or xvdh
).
launch.block-device-mapping.snapshot-id
- The ID of the snapshot for the EBS volume.
launch.block-device-mapping.volume-size
- The size of the EBS volume, in GiB.
launch.block-device-mapping.volume-type
- The type of EBS volume: gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic.
launch.group-id
- The ID of the security group for the instance.
launch.group-name
- The name of the security group for the instance.
launch.image-id
- The ID of the AMI.
launch.instance-type
- The type of instance (for example, m3.medium
).
launch.kernel-id
- The kernel ID.
launch.key-name
- The name of the key pair the instance launched with.
launch.monitoring-enabled
- Whether detailed monitoring is enabled for the Spot Instance.
launch.ramdisk-id
- The RAM disk ID.
launched-availability-zone
- The Availability Zone in which the request is launched.
network-interface.addresses.primary
- Indicates whether the IP address is the primary private IP address.
network-interface.delete-on-termination
- Indicates whether the network interface is deleted when the instance is terminated.
network-interface.description
- A description of the network interface.
network-interface.device-index
- The index of the device for the network interface attachment on the instance.
network-interface.group-id
- The ID of the security group associated with the network interface.
network-interface.network-interface-id
- The ID of the network interface.
network-interface.private-ip-address
- The primary private IP address of the network interface.
network-interface.subnet-id
- The ID of the subnet for the instance.
product-description
- The product description associated with the instance (Linux/UNIX
| Windows
).
spot-instance-request-id
- The Spot Instance request ID.
spot-price
- The maximum hourly price for any Spot Instance launched to fulfill the request.
state
- The state of the Spot Instance request (open
| active
| closed
| cancelled
| failed
). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide for Linux Instances.
status-code
- The short code describing the most recent evaluation of your Spot Instance request.
status-message
- The message explaining the status of the Spot Instance request.
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
type
- The type of Spot Instance request (one-time
| persistent
).
valid-from
- The start date of the request.
valid-until
- The end date of the request.
One or more filters. The possible values are:
association.state
- The state of the association (associating
| associated
| disassociating
).
association.transit-gateway-route-table-id
- The ID of the route table for the transit gateway.
resource-id
- The ID of the resource.
resource-owner-id
- The ID of the AWS account that owns the resource.
resource-type
- The resource type (vpc
| vpn
).
state
- The state of the attachment (available
| deleted
| deleting
| failed
| modifying
| pendingAcceptance
| pending
| rollingBack
| rejected
| rejecting
).
transit-gateway-attachment-id
- The ID of the attachment.
transit-gateway-id
- The ID of the transit gateway.
transit-gateway-owner-id
- The ID of the AWS account that owns the transit gateway.
One or more filters. The possible values are:
association.state
- The state of the association (associating
| associated
| disassociating
).
association.transit-gateway-route-table-id
- The ID of the route table for the transit gateway.
resource-id
- The ID of the resource.
resource-owner-id
- The ID of the AWS account that owns the resource.
resource-type
- The resource type (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
state
- The state of the attachment (available
| deleted
| deleting
| failed
| modifying
| pendingAcceptance
| pending
| rollingBack
| rejected
| rejecting
).
transit-gateway-attachment-id
- The ID of the attachment.
transit-gateway-id
- The ID of the transit gateway.
transit-gateway-owner-id
- The ID of the AWS account that owns the transit gateway.
The filters.
modification-state
- The current modification state (modifying | optimizing | completed | failed).
original-iops
- The original IOPS rate of the volume.
original-size
- The original size of the volume, in GiB.
original-volume-type
- The original volume type of the volume (standard | io1 | gp2 | sc1 | st1).
originalMultiAttachEnabled
- Indicates whether Multi-Attach support was enabled (true | false).
start-time
- The modification start time.
target-iops
- The target IOPS rate of the volume.
target-size
- The target size of the volume, in GiB.
target-volume-type
- The target volume type of the volume (standard | io1 | gp2 | sc1 | st1).
targetMultiAttachEnabled
- Indicates whether Multi-Attach support is to be enabled (true | false).
volume-id
- The ID of the volume.
The filters.
modification-state
- The current modification state (modifying | optimizing | completed | failed).
original-iops
- The original IOPS rate of the volume.
original-size
- The original size of the volume, in GiB.
original-volume-type
- The original volume type of the volume (standard | io1 | io2 | gp2 | sc1 | st1).
originalMultiAttachEnabled
- Indicates whether Multi-Attach support was enabled (true | false).
start-time
- The modification start time.
target-iops
- The target IOPS rate of the volume.
target-size
- The target size of the volume, in GiB.
target-volume-type
- The target volume type of the volume (standard | io1 | io2 | gp2 | sc1 | st1).
targetMultiAttachEnabled
- Indicates whether Multi-Attach support is to be enabled (true | false).
volume-id
- The ID of the volume.
The filters.
attachment.attach-time
- The time stamp when the attachment initiated.
attachment.delete-on-termination
- Whether the volume is deleted on instance termination.
attachment.device
- The device name specified in the block device mapping (for example, /dev/sda1
).
attachment.instance-id
- The ID of the instance the volume is attached to.
attachment.status
- The attachment state (attaching
| attached
| detaching
).
availability-zone
- The Availability Zone in which the volume was created.
create-time
- The time stamp when the volume was created.
encrypted
- Indicates whether the volume is encrypted (true
| false
)
multi-attach-enabled
- Indicates whether the volume is enabled for Multi-Attach (true
| false
)
fast-restored
- Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (true
| false
).
size
- The size of the volume, in GiB.
snapshot-id
- The snapshot from which the volume was created.
status
- The status of the volume (creating
| available
| in-use
| deleting
| deleted
| error
).
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
volume-id
- The volume ID.
volume-type
- The Amazon EBS volume type. This can be gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
The filters.
attachment.attach-time
- The time stamp when the attachment initiated.
attachment.delete-on-termination
- Whether the volume is deleted on instance termination.
attachment.device
- The device name specified in the block device mapping (for example, /dev/sda1
).
attachment.instance-id
- The ID of the instance the volume is attached to.
attachment.status
- The attachment state (attaching
| attached
| detaching
).
availability-zone
- The Availability Zone in which the volume was created.
create-time
- The time stamp when the volume was created.
encrypted
- Indicates whether the volume is encrypted (true
| false
)
multi-attach-enabled
- Indicates whether the volume is enabled for Multi-Attach (true
| false
)
fast-restored
- Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (true
| false
).
size
- The size of the volume, in GiB.
snapshot-id
- The snapshot from which the volume was created.
status
- The state of the volume (creating
| available
| in-use
| deleting
| deleted
| error
).
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.
tag-key
- The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
volume-id
- The volume ID.
volume-type
- The Amazon EBS volume type. This can be gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
The number of I/O operations per second (IOPS) that the volume supports. For io1
volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.
Constraints: Range is 100-16,000 IOPS for gp2
volumes and 100 to 64,000IOPS for io1
volumes in most Regions. Maximum io1
IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Condition: This parameter is required for requests to create io1
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The number of I/O operations per second (IOPS) that the volume supports. For io1
and io2
volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.
Constraints: Range is 100-16,000 IOPS for gp2
volumes and 100 to 64,000 IOPS for io1
and io2
volumes in most Regions. Maximum io1
and io2
IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Condition: This parameter is required for requests to create io1
and io2
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The size of the volume, in GiB.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
Constraints: 1-16384 for General Purpose SSD (gp2
), 4-16384 for Provisioned IOPS SSD (io1
), 500-16384 for Throughput Optimized HDD (st1
), 500-16384 for Cold HDD (sc1
), and 1-1024 for Magnetic (standard
) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
The size of the volume, in GiB.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
Constraints: 1-16384 for General Purpose SSD (gp2
), 4-16384 for Provisioned IOPS SSD (io1
and io2
), 500-16384 for Throughput Optimized HDD (st1
), 500-16384 for Cold HDD (sc1
), and 1-1024 for Magnetic (standard
) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
The volume type. If you set the type to io1
, you must also specify the Iops parameter. If you set the type to gp2
, st1
, sc1
, or standard
, you must omit the Iops parameter.
Default: gp2
The volume type. If you set the type to io1
or io2
, you must also specify the Iops parameter. If you set the type to gp2
, st1
, sc1
, or standard
, you must omit the Iops parameter.
Default: gp2
The ID of the transit gateway route table.
\"\ + },\ + \"Filters\":{\ + \"shape\":\"FilterList\",\ + \"documentation\":\"One or more filters. The possible values are:
attachment.resource-id
- The ID of the resource for the attachment.
attachment.resource-type
- The type of resource for the attachment (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
attachment.transit-gateway-attachment-id
- The ID of the attachment.
is-blackhole
- Whether traffic matching the route is blocked (true
| false
).
prefix-list-id
- The ID of the prefix list.
prefix-list-owner-id
- The ID of the owner of the prefix list.
state
- The state of the prefix list reference (pending
| available
| modifying
| deleting
).
The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken
value.
The token for the next page of results.
\"\ + },\ + \"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
.
Information about the prefix list references.
\",\ + \"locationName\":\"transitGatewayPrefixListReferenceSet\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
One or more filters. The possible values are:
resource-id
- The ID of the resource.
resource-type
- The resource type (vpc
| vpn
).
transit-gateway-attachment-id
- The ID of the attachment.
One or more filters. The possible values are:
resource-id
- The ID of the resource.
resource-type
- The resource type (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
transit-gateway-attachment-id
- The ID of the attachment.
One or more filters. The possible values are:
resource-id
- The ID of the resource.
resource-type
- The resource type (vpc
| vpn
).
transit-gateway-attachment-id
- The ID of the attachment.
One or more filters. The possible values are:
resource-id
- The ID of the resource.
resource-type
- The resource type (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
transit-gateway-attachment-id
- The ID of the attachment.
The public IPv4 address assigned to the instance, if applicable.
\",\ + \"documentation\":\"The public IPv4 address, or the Carrier IP address assigned to the instance, if applicable.
A Carrier IP address only applies to an instance launched in a subnet associated with a Wavelength Zone.
\",\ \"locationName\":\"ipAddress\"\ },\ \"RamdiskId\":{\ @@ -22932,6 +23304,11 @@ - (NSString *)definitionString { \"InstanceNetworkInterfaceAssociation\":{\ \"type\":\"structure\",\ \"members\":{\ + \"CarrierIp\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The carrier IP address associated with the network interface.
\",\ + \"locationName\":\"carrierIp\"\ + },\ \"IpOwnerId\":{\ \"shape\":\"String\",\ \"documentation\":\"The ID of the owner of the Elastic IP address.
\",\ @@ -23053,6 +23430,10 @@ - (NSString *)definitionString { \"documentation\":\"The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.
\",\ \"locationName\":\"subnetId\"\ },\ + \"AssociateCarrierIpAddress\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"Indicates whether to assign a carrier IP address to the network interface.
You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP addresses in the AWS Wavelength Developer Guide.
\"\ + },\ \"InterfaceType\":{\ \"shape\":\"String\",\ \"documentation\":\"The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa
. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.
If you are not creating an EFA, specify interface
or omit this parameter.
Valid values: interface
| efa
The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.
\"\ + \"documentation\":\"The number of I/O operations per second (IOPS) to provision for an io1
or io2
volume, with a maximum ratio of 50 IOPS/GiB for io1
, and 500 IOPS/GiB for io2
. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
This parameter is valid only for Provisioned IOPS SSD (io1
and io2
) volumes.
Indicates whether to associate a Carrier IP address with eth0 for a new network interface.
Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see Carrier IP addresses in the AWS Wavelength Developer Guide.
\",\ + \"locationName\":\"associateCarrierIpAddress\"\ + },\ \"AssociatePublicIpAddress\":{\ \"shape\":\"Boolean\",\ \"documentation\":\"Indicates whether to associate a public IPv4 address with eth0 for a new network interface.
\",\ @@ -24944,6 +25338,10 @@ - (NSString *)definitionString { \"LaunchTemplateInstanceNetworkInterfaceSpecificationRequest\":{\ \"type\":\"structure\",\ \"members\":{\ + \"AssociateCarrierIpAddress\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"Associates a Carrier IP address with eth0 for a new network interface.
Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see Carrier IP addresses in the AWS Wavelength Developer Guide.
\"\ + },\ \"AssociatePublicIpAddress\":{\ \"shape\":\"Boolean\",\ \"documentation\":\"Associates a public IPv4 address with eth0 for a new network interface.
\"\ @@ -25986,11 +26384,11 @@ - (NSString *)definitionString { \"members\":{\ \"GroupName\":{\ \"shape\":\"String\",\ - \"documentation\":\"The name of the Availability Zone Group.
\"\ + \"documentation\":\"The name of the Availability Zone group, Local Zone group, or Wavelength Zone group.
\"\ },\ \"OptInStatus\":{\ \"shape\":\"ModifyAvailabilityZoneOptInStatus\",\ - \"documentation\":\"Indicates whether to enable or disable membership. The valid values are opted-in
. You must contact AWS Support to disable an Availability Zone group.
Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The only valid value is opted-in
. You must contact AWS Support to opt out of a Local Zone group, or Wavelength Zone group.
Enable or disable Equal Cost Multipath Protocol support.
\"\ + },\ + \"DnsSupport\":{\ + \"shape\":\"DnsSupportValue\",\ + \"documentation\":\"Enable or disable DNS support.
\"\ + },\ + \"AutoAcceptSharedAttachments\":{\ + \"shape\":\"AutoAcceptSharedAttachmentsValue\",\ + \"documentation\":\"Enable or disable automatic acceptance of attachment requests.
\"\ + },\ + \"DefaultRouteTableAssociation\":{\ + \"shape\":\"DefaultRouteTableAssociationValue\",\ + \"documentation\":\"Enable or disable automatic association with the default association route table.
\"\ + },\ + \"AssociationDefaultRouteTableId\":{\ + \"shape\":\"TransitGatewayRouteTableId\",\ + \"documentation\":\"The ID of the default association route table.
\"\ + },\ + \"DefaultRouteTablePropagation\":{\ + \"shape\":\"DefaultRouteTablePropagationValue\",\ + \"documentation\":\"Enable or disable automatic propagation of routes to the default propagation route table.
\"\ + },\ + \"PropagationDefaultRouteTableId\":{\ + \"shape\":\"TransitGatewayRouteTableId\",\ + \"documentation\":\"The ID of the default propagation route table.
\"\ + }\ + },\ + \"documentation\":\"The transit gateway options.
\"\ + },\ + \"ModifyTransitGatewayPrefixListReferenceRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"TransitGatewayRouteTableId\",\ + \"PrefixListId\"\ + ],\ + \"members\":{\ + \"TransitGatewayRouteTableId\":{\ + \"shape\":\"TransitGatewayRouteTableId\",\ + \"documentation\":\"The ID of the transit gateway route table.
\"\ + },\ + \"PrefixListId\":{\ + \"shape\":\"PrefixListResourceId\",\ + \"documentation\":\"The ID of the prefix list.
\"\ + },\ + \"TransitGatewayAttachmentId\":{\ + \"shape\":\"TransitGatewayAttachmentId\",\ + \"documentation\":\"The ID of the attachment to which traffic is routed.
\"\ + },\ + \"Blackhole\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"Indicates whether to drop traffic that matches this route.
\"\ + },\ + \"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
.
Information about the prefix list reference.
\",\ + \"locationName\":\"transitGatewayPrefixListReference\"\ + }\ + }\ + },\ + \"ModifyTransitGatewayRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"TransitGatewayId\"],\ + \"members\":{\ + \"TransitGatewayId\":{\ + \"shape\":\"TransitGatewayId\",\ + \"documentation\":\"The ID of the transit gateway.
\"\ + },\ + \"Description\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The description for the transit gateway.
\"\ + },\ + \"Options\":{\ + \"shape\":\"ModifyTransitGatewayOptions\",\ + \"documentation\":\"The options to modify.
\"\ + },\ + \"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
.
The target IOPS rate of the volume.
This is only valid for Provisioned IOPS SSD (io1
) volumes. For more information, see Provisioned IOPS SSD (io1) Volumes.
Default: If no IOPS value is specified, the existing value is retained.
\"\ + \"documentation\":\"The target IOPS rate of the volume.
This is only valid for Provisioned IOPS SSD (io1
and io2
) volumes. For moreinformation, see Provisioned IOPS SSD (io1 and io2) volumes.
Default: If no IOPS value is specified, the existing value is retained.
\"\ }\ }\ },\ @@ -27440,6 +27942,45 @@ - (NSString *)definitionString { }\ }\ },\ + \"ModifyVpnConnectionOptionsRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"VpnConnectionId\"],\ + \"members\":{\ + \"VpnConnectionId\":{\ + \"shape\":\"VpnConnectionId\",\ + \"documentation\":\"The ID of the Site-to-Site VPN VPN connection.
\"\ + },\ + \"LocalIpv4NetworkCidr\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: 0.0.0.0/0
The IPv4 CIDR on the AWS side of the VPN connection.
Default: 0.0.0.0/0
The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: ::/0
The IPv6 CIDR on the AWS side of the VPN connection.
Default: ::/0
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
.
The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.
Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are reserved and cannot be used:
169.254.0.0/30
169.254.1.0/30
169.254.2.0/30
169.254.3.0/30
169.254.4.0/30
169.254.5.0/30
169.254.169.252/30
The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.
Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are reserved and cannot be used:
169.254.0.0/30
169.254.1.0/30
169.254.2.0/30
169.254.3.0/30
169.254.4.0/30
169.254.5.0/30
169.254.169.252/30
The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.
Constraints: A size /126 CIDR block from the local fd00::/8
range.
The number of seconds after which a DPD timeout occurs.
Constraints: A value between 0 and 30.
Default: 30
The action to take after DPD timeout occurs. Specify restart
to restart the IKE initiation. Specify clear
to end the IKE session.
Valid Values: clear
| none
| restart
Default: clear
One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: AES128
| AES256
One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: AES128
| AES256
One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: SHA1
| SHA2-256
One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: SHA1
| SHA2-256
One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: 2
| 14
| 15
| 16
| 17
| 18
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: 2
| 14
| 15
| 16
| 17
| 18
| 19
| 20
| 21
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: 2
| 5
| 14
| 15
| 16
| 17
| 18
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: 2
| 5
| 14
| 15
| 16
| 17
| 18
| 19
| 20
| 21
| 22
| 23
| 24
The IKE versions that are permitted for the VPN tunnel.
Valid values: ikev1
| ikev2
The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start
for AWS to initiate the IKE negotiation.
Valid Values: add
| start
Default: add
The AWS Site-to-Site VPN tunnel options to modify.
\"\ @@ -28161,11 +28714,21 @@ - (NSString *)definitionString { },\ \"PublicIp\":{\ \"shape\":\"String\",\ - \"documentation\":\"The address of the Elastic IP address bound to the network interface.
\",\ + \"documentation\":\"The address of the Elastic IP address or Carrier IP address bound to the network interface.
\",\ \"locationName\":\"publicIp\"\ + },\ + \"CustomerOwnedIp\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The customer-owned IP address associated with the network interface.
\",\ + \"locationName\":\"customerOwnedIp\"\ + },\ + \"CarrierIp\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The carrier IP address associated with the network interface.
This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.
\",\ + \"locationName\":\"carrierIp\"\ }\ },\ - \"documentation\":\"Describes association information for an Elastic IP address (IPv4 only).
\"\ + \"documentation\":\"Describes association information for an Elastic IP address (IPv4 only), or a Carrier IP address (for a network interface which resides in a subnet in a Wavelength Zone).
\"\ },\ \"NetworkInterfaceAttachment\":{\ \"type\":\"structure\",\ @@ -30236,7 +30799,7 @@ - (NSString *)definitionString { },\ \"NetworkBorderGroup\":{\ \"shape\":\"String\",\ - \"documentation\":\"The location that the IP address is released from.
If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
error. For more information, see Error Codes.
You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination
error. For more information, see Error Codes.
The set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses.
If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
error. For more information, see Error Codes.
You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination
error. For more information, see Error Codes.
The ID of the local gateway.
\"\ },\ + \"CarrierGatewayId\":{\ + \"shape\":\"CarrierGatewayId\",\ + \"documentation\":\"[IPv4 traffic only] The ID of a carrier gateway.
\"\ + },\ \"NetworkInterfaceId\":{\ \"shape\":\"NetworkInterfaceId\",\ \"documentation\":\"The ID of a network interface.
\",\ @@ -32161,6 +32728,11 @@ - (NSString *)definitionString { \"documentation\":\"The ID of the local gateway.
\",\ \"locationName\":\"localGatewayId\"\ },\ + \"CarrierGatewayId\":{\ + \"shape\":\"CarrierGatewayId\",\ + \"documentation\":\"The ID of the carrier gateway.
\",\ + \"locationName\":\"carrierGatewayId\"\ + },\ \"NetworkInterfaceId\":{\ \"shape\":\"String\",\ \"documentation\":\"The ID of the network interface.
\",\ @@ -32868,7 +33440,7 @@ - (NSString *)definitionString { },\ \"Iops\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about gp2
baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Constraint: Range is 100-20000 IOPS for io1
volumes and 100-10000 IOPS for gp2
volumes.
Condition: This parameter is required for requests to create io1
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The number of I/O operations per second (IOPS) to provision for an io1
or io2
volume, with a maximum ratio of 50 IOPS/GiB for io1
, and 500 IOPS/GiB for io2
. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
This parameter is valid only for Provisioned IOPS SSD (io1
and io2
) volumes.
The volume type. gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, Throughput Optimized HDD for st1
, Cold HDD for sc1
, or standard
for Magnetic.
Default: gp2
The volume type. gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, Throughput Optimized HDD for st1
, Cold HDD for sc1
, or standard
for Magnetic.
Default: gp2
Describes an EBS volume for a Scheduled Instance.
\"\ @@ -33190,7 +33762,7 @@ - (NSString *)definitionString { },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"One or more filters. The possible values are:
attachment.transit-gateway-attachment-id
- The id of the transit gateway attachment.
attachment.resource-id
- The resource id of the transit gateway attachment.
attachment.resource-type
- The attachment resource type (vpc
| vpn
).
route-search.exact-match
- The exact match of the specified filter.
route-search.longest-prefix-match
- The longest prefix that matches the route.
route-search.subnet-of-match
- The routes with a subnet that match the specified CIDR filter.
route-search.supernet-of-match
- The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.
state
- The state of the route (active
| blackhole
).
type
- The type of route (propagated
| static
).
One or more filters. The possible values are:
attachment.transit-gateway-attachment-id
- The id of the transit gateway attachment.
attachment.resource-id
- The resource id of the transit gateway attachment.
attachment.resource-type
- The attachment resource type (vpc
| vpn
| direct-connect-gateway
| tgw-peering
).
prefix-list-id
- The ID of the prefix list.
route-search.exact-match
- The exact match of the specified filter.
route-search.longest-prefix-match
- The longest prefix that matches the route.
route-search.subnet-of-match
- The routes with a subnet that match the specified CIDR filter.
route-search.supernet-of-match
- The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.
state
- The state of the route (active
| blackhole
).
type
- The type of route (propagated
| static
).
The ID of the attachment.
\",\ + \"locationName\":\"transitGatewayAttachmentId\"\ + },\ + \"ResourceType\":{\ + \"shape\":\"TransitGatewayAttachmentResourceType\",\ + \"documentation\":\"The resource type.
\",\ + \"locationName\":\"resourceType\"\ + },\ + \"ResourceId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The ID of the resource.
\",\ + \"locationName\":\"resourceId\"\ + }\ + },\ + \"documentation\":\"Describes a transit gateway prefix list attachment.
\"\ + },\ + \"TransitGatewayPrefixListReference\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TransitGatewayRouteTableId\":{\ + \"shape\":\"TransitGatewayRouteTableId\",\ + \"documentation\":\"The ID of the transit gateway route table.
\",\ + \"locationName\":\"transitGatewayRouteTableId\"\ + },\ + \"PrefixListId\":{\ + \"shape\":\"PrefixListResourceId\",\ + \"documentation\":\"The ID of the prefix list.
\",\ + \"locationName\":\"prefixListId\"\ + },\ + \"PrefixListOwnerId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The ID of the prefix list owner.
\",\ + \"locationName\":\"prefixListOwnerId\"\ + },\ + \"State\":{\ + \"shape\":\"TransitGatewayPrefixListReferenceState\",\ + \"documentation\":\"The state of the prefix list reference.
\",\ + \"locationName\":\"state\"\ + },\ + \"Blackhole\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"Indicates whether traffic that matches this route is dropped.
\",\ + \"locationName\":\"blackhole\"\ + },\ + \"TransitGatewayAttachment\":{\ + \"shape\":\"TransitGatewayPrefixListAttachment\",\ + \"documentation\":\"Information about the transit gateway attachment.
\",\ + \"locationName\":\"transitGatewayAttachment\"\ + }\ + },\ + \"documentation\":\"Describes a prefix list reference.
\"\ + },\ + \"TransitGatewayPrefixListReferenceSet\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"TransitGatewayPrefixListReference\",\ + \"locationName\":\"item\"\ + }\ + },\ + \"TransitGatewayPrefixListReferenceState\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"pending\",\ + \"available\",\ + \"modifying\",\ + \"deleting\"\ + ]\ + },\ \"TransitGatewayPropagation\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -36489,6 +37134,11 @@ - (NSString *)definitionString { \"documentation\":\"The CIDR block used for destination matches.
\",\ \"locationName\":\"destinationCidrBlock\"\ },\ + \"PrefixListId\":{\ + \"shape\":\"PrefixListResourceId\",\ + \"documentation\":\"The ID of the prefix list used for destination matches.
\",\ + \"locationName\":\"prefixListId\"\ + },\ \"TransitGatewayAttachments\":{\ \"shape\":\"TransitGatewayRouteAttachmentList\",\ \"documentation\":\"The attachments.
\",\ @@ -36788,6 +37438,13 @@ - (NSString *)definitionString { \"udp\"\ ]\ },\ + \"TunnelInsideIpVersion\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"ipv4\",\ + \"ipv6\"\ + ]\ + },\ \"TunnelOption\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -36798,9 +37455,14 @@ - (NSString *)definitionString { },\ \"TunnelInsideCidr\":{\ \"shape\":\"String\",\ - \"documentation\":\"The range of inside IP addresses for the tunnel.
\",\ + \"documentation\":\"The range of inside IPv4 addresses for the tunnel.
\",\ \"locationName\":\"tunnelInsideCidr\"\ },\ + \"TunnelInsideIpv6Cidr\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The range of inside IPv6 addresses for the tunnel.
\",\ + \"locationName\":\"tunnelInsideIpv6Cidr\"\ + },\ \"PreSharedKey\":{\ \"shape\":\"String\",\ \"documentation\":\"The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer gateway.
\",\ @@ -36836,6 +37498,11 @@ - (NSString *)definitionString { \"documentation\":\"The number of seconds after which a DPD timeout occurs.
\",\ \"locationName\":\"dpdTimeoutSeconds\"\ },\ + \"DpdTimeoutAction\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The action to take after a DPD timeout occurs.
\",\ + \"locationName\":\"dpdTimeoutAction\"\ + },\ \"Phase1EncryptionAlgorithms\":{\ \"shape\":\"Phase1EncryptionAlgorithmsList\",\ \"documentation\":\"The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
\",\ @@ -36870,6 +37537,11 @@ - (NSString *)definitionString { \"shape\":\"IKEVersionsList\",\ \"documentation\":\"The IKE versions that are permitted for the VPN tunnel.
\",\ \"locationName\":\"ikeVersionSet\"\ + },\ + \"StartupAction\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The action to take when the establishing the VPN tunnels for a VPN connection.
\",\ + \"locationName\":\"startupAction\"\ }\ },\ \"documentation\":\"The VPN tunnel options.
\"\ @@ -37441,7 +38113,7 @@ - (NSString *)definitionString { },\ \"Iops\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Constraints: Range is 100-16,000 IOPS for gp2
volumes and 100 to 64,000IOPS for io1
volumes, in most Regions. The maximum IOPS for io1
of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS.
Condition: This parameter is required for requests to create io1
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.
Constraints: Range is 100-16,000 IOPS for gp2
volumes and 100 to 64,000 IOPS for io1
and io2
volumes, in most Regions. The maximum IOPS for io1
and io2
of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS.
Condition: This parameter is required for requests to create io1
and io2
volumes; it is not used in requests to create gp2
, st1
, sc1
, or standard
volumes.
The volume type. This can be gp2
for General Purpose SSD, io1
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
The volume type. This can be gp2
for General Purpose SSD, io1
or io2
for Provisioned IOPS SSD, st1
for Throughput Optimized HDD, sc1
for Cold HDD, or standard
for Magnetic volumes.
The ID of the set of DHCP options you've associated with the VPC (or default
if the default options are associated with the VPC).
The ID of the set of DHCP options you've associated with the VPC.
\",\ \"locationName\":\"dhcpOptionsId\"\ },\ \"State\":{\ @@ -38254,7 +38927,7 @@ - (NSString *)definitionString { },\ \"NetworkBorderGroup\":{\ \"shape\":\"String\",\ - \"documentation\":\"The name of the location from which we advertise the IPV6 CIDR block.
\",\ + \"documentation\":\"The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses, for example, us-east-1-wl1-bos-wlz-1
.
Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.
\",\ \"locationName\":\"staticRoutesOnly\"\ },\ + \"LocalIpv4NetworkCidr\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
\",\ + \"locationName\":\"localIpv4NetworkCidr\"\ + },\ + \"RemoteIpv4NetworkCidr\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The IPv4 CIDR on the AWS side of the VPN connection.
\",\ + \"locationName\":\"remoteIpv4NetworkCidr\"\ + },\ + \"LocalIpv6NetworkCidr\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
\",\ + \"locationName\":\"localIpv6NetworkCidr\"\ + },\ + \"RemoteIpv6NetworkCidr\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The IPv6 CIDR on the AWS side of the VPN connection.
\",\ + \"locationName\":\"remoteIpv6NetworkCidr\"\ + },\ + \"TunnelInsideIpVersion\":{\ + \"shape\":\"TunnelInsideIpVersion\",\ + \"documentation\":\"Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.
\",\ + \"locationName\":\"tunnelInsideIpVersion\"\ + },\ \"TunnelOptions\":{\ \"shape\":\"TunnelOptionsList\",\ \"documentation\":\"Indicates the VPN tunnel options.
\",\ @@ -38547,9 +39245,29 @@ - (NSString *)definitionString { \"documentation\":\"Indicate whether the VPN connection uses static routes only. If you are creating a VPN connection for a device that does not support BGP, you must specify true
. Use CreateVpnConnectionRoute to create a static route.
Default: false
Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
Default: ipv4
The tunnel options for the VPN connection.
\"\ + },\ + \"LocalIpv4NetworkCidr\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: 0.0.0.0/0
The IPv4 CIDR on the AWS side of the VPN connection.
Default: 0.0.0.0/0
The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: ::/0
The IPv6 CIDR on the AWS side of the VPN connection.
Default: ::/0
Describes VPN connection options.
\"\ @@ -38667,7 +39385,11 @@ - (NSString *)definitionString { \"members\":{\ \"TunnelInsideCidr\":{\ \"shape\":\"String\",\ - \"documentation\":\"The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.
Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are reserved and cannot be used:
169.254.0.0/30
169.254.1.0/30
169.254.2.0/30
169.254.3.0/30
169.254.4.0/30
169.254.5.0/30
169.254.169.252/30
The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.
Constraints: A size /30 CIDR block from the 169.254.0.0/16
range. The following CIDR blocks are reserved and cannot be used:
169.254.0.0/30
169.254.1.0/30
169.254.2.0/30
169.254.3.0/30
169.254.4.0/30
169.254.5.0/30
169.254.169.252/30
The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.
Constraints: A size /126 CIDR block from the local fd00::/8
range.
The number of seconds after which a DPD timeout occurs.
Constraints: A value between 0 and 30.
Default: 30
The action to take after DPD timeout occurs. Specify restart
to restart the IKE initiation. Specify clear
to end the IKE session.
Valid Values: clear
| none
| restart
Default: clear
One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: AES128
| AES256
One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: AES128
| AES256
One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: AES128
| AES256
| AES128-GCM-16
| AES256-GCM-16
One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: SHA1
| SHA2-256
One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: SHA1
| SHA2-256
One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: SHA1
| SHA2-256
| SHA2-384
| SHA2-512
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: 2
| 14
| 15
| 16
| 17
| 18
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.
Valid values: 2
| 14
| 15
| 16
| 17
| 18
| 19
| 20
| 21
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: 2
| 5
| 14
| 15
| 16
| 17
| 18
| 22
| 23
| 24
One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.
Valid values: 2
| 5
| 14
| 15
| 16
| 17
| 18
| 19
| 20
| 21
| 22
| 23
| 24
The IKE versions that are permitted for the VPN tunnel.
Valid values: ikev1
| ikev2
The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start
for AWS to initiate the IKE negotiation.
Valid Values: add
| start
Default: add
The tunnel options for a single VPN tunnel.
\"\ diff --git a/AWSEC2/AWSEC2Service.h b/AWSEC2/AWSEC2Service.h index f60b75ca49c..2b71c7f3e48 100644 --- a/AWSEC2/AWSEC2Service.h +++ b/AWSEC2/AWSEC2Service.h @@ -325,7 +325,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)advertiseByoipCidr:(AWSEC2AdvertiseByoipCidrRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AdvertiseByoipCidrResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.
You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.
[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.
An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.
For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
+Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.
You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.
[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.
An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.
For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).
@param request A container for the necessary parameters to execute the AllocateAddress service method. @@ -337,7 +337,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskAllocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.
You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.
[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.
An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.
For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
+Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.
You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.
[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.
An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.
For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).
@param request A container for the necessary parameters to execute the AllocateAddress service method. @param completionHandler The completion handler to call when the load request is complete. @@ -450,7 +450,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)assignPrivateIpAddresses:(AWSEC2AssignPrivateIpAddressesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AssignPrivateIpAddressesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.
An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.
[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.
You cannot associate an Elastic IP address with an interface in a different network border group.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.
Associates an Elastic IP address, or carrier IP address (for instances that are in subnets in Wavelength Zones) with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.
An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.
[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.
[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication carrier to the instance or network interface.
You cannot associate an Elastic IP address with an interface in a different network border group.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.
Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.
An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.
[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.
You cannot associate an Elastic IP address with an interface in a different network border group.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.
Associates an Elastic IP address, or carrier IP address (for instances that are in subnets in Wavelength Zones) with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.
An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.
[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.
[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.
[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication carrier to the instance or network interface.
You cannot associate an Elastic IP address with an interface in a different network border group.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.
Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.
Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
After you attach an EBS volume, you must make it available. For more information, see Making an EBS Volume Available For Use.
If a volume has an AWS Marketplace product code:
The volume can be attached only to a stopped instance.
AWS Marketplace product codes are copied from the volume to the instance.
You must be subscribed to the product.
The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.
For more information, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.
+Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.
Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
After you attach an EBS volume, you must make it available. For more information, see Making an EBS volume available for use.
If a volume has an AWS Marketplace product code:
The volume can be attached only to a stopped instance.
AWS Marketplace product codes are copied from the volume to the instance.
You must be subscribed to the product.
The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.
For more information, see Attaching Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the AttachVolume service method. @@ -756,7 +756,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskAttaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.
Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
After you attach an EBS volume, you must make it available. For more information, see Making an EBS Volume Available For Use.
If a volume has an AWS Marketplace product code:
The volume can be attached only to a stopped instance.
AWS Marketplace product codes are copied from the volume to the instance.
You must be subscribed to the product.
The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.
For more information, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.
+Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.
Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
After you attach an EBS volume, you must make it available. For more information, see Making an EBS volume available for use.
If a volume has an AWS Marketplace product code:
The volume can be attached only to a stopped instance.
AWS Marketplace product codes are copied from the volume to the instance.
You must be subscribed to the product.
The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.
For more information, see Attaching Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the AttachVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1157,7 +1157,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)replicateImage:(AWSEC2ReplicateImageRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ReplicateImageResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same Region or from one Region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).
Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a different CMK.
To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.
Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.
For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.
+Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same Region or from one Region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).
Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a different CMK.
To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.
Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.
For more information, see Copying an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the CopySnapshot service method. @@ -1169,7 +1169,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskCopies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same Region or from one Region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).
Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a different CMK.
To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.
Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.
For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.
+Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same Region or from one Region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).
Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a different CMK.
To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.
Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.
For more information, see Copying an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the CopySnapshot service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1206,6 +1206,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)createCapacityReservation:(AWSEC2CreateCapacityReservationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateCapacityReservationResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +Creates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the AWS Wavelength Developer Guide.
+ + @param request A container for the necessary parameters to execute the CreateCarrierGateway service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2CreateCarrierGatewayResult`. + + @see AWSEC2CreateCarrierGatewayRequest + @see AWSEC2CreateCarrierGatewayResult + */ +- (AWSTaskCreates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the AWS Wavelength Developer Guide.
+ + @param request A container for the necessary parameters to execute the CreateCarrierGateway 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 AWSEC2CreateCarrierGatewayRequest + @see AWSEC2CreateCarrierGatewayResult + */ +- (void)createCarrierGateway:(AWSEC2CreateCarrierGatewayRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateCarrierGatewayResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.
@@ -1257,7 +1282,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createClientVpnRoute:(AWSEC2CreateClientVpnRouteRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateClientVpnRouteResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).
For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).
Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1
Region, and 9059, which is reserved in the eu-west-1
Region.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. Identical requests return information about the existing customer gateway and do not create new customer gateways.
Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).
For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).
Amazon EC2 supports all 4-byte ASN numbers in the range of 1 - 2147483647, with the exception of the following:
7224 - reserved in the us-east-1
Region
9059 - reserved in the eu-west-1
Region
17943 - reserved in the ap-southeast-1
Region
10124 - reserved in the ap-northeast-1
Region
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. Identical requests return information about the existing customer gateway and do not create new customer gateways.
Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).
For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).
Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1
Region, and 9059, which is reserved in the eu-west-1
Region.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. Identical requests return information about the existing customer gateway and do not create new customer gateways.
Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).
For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).
Amazon EC2 supports all 4-byte ASN numbers in the range of 1 - 2147483647, with the exception of the following:
7224 - reserved in the us-east-1
Region
9059 - reserved in the eu-west-1
Region
17943 - reserved in the ap-southeast-1
Region
10124 - reserved in the ap-northeast-1
Region
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. Identical requests return information about the existing customer gateway and do not create new customer gateways.
Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.
When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.
You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending
.
To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.
Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.
You can tag your snapshots during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
+Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.
When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.
You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending
.
To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.
Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.
You can tag your snapshots during creation. For more information, see Tagging your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the CreateSnapshot service method. @@ -1941,7 +1966,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskCreates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.
When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.
You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending
.
To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.
Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.
You can tag your snapshots during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
+Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.
When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.
You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending
.
To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.
Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.
You can tag your snapshots during creation. For more information, see Tagging your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the CreateSnapshot service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2225,6 +2250,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)createTransitGatewayPeeringAttachment:(AWSEC2CreateTransitGatewayPeeringAttachmentRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateTransitGatewayPeeringAttachmentResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +Creates a reference (route) to a prefix list in a specified transit gateway route table.
+ + @param request A container for the necessary parameters to execute the CreateTransitGatewayPrefixListReference service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2CreateTransitGatewayPrefixListReferenceResult`. + + @see AWSEC2CreateTransitGatewayPrefixListReferenceRequest + @see AWSEC2CreateTransitGatewayPrefixListReferenceResult + */ +- (AWSTaskCreates a reference (route) to a prefix list in a specified transit gateway route table.
+ + @param request A container for the necessary parameters to execute the CreateTransitGatewayPrefixListReference 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 AWSEC2CreateTransitGatewayPrefixListReferenceRequest + @see AWSEC2CreateTransitGatewayPrefixListReferenceResult + */ +- (void)createTransitGatewayPrefixListReference:(AWSEC2CreateTransitGatewayPrefixListReferenceRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateTransitGatewayPrefixListReferenceResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**Creates a static route for the specified transit gateway route table.
@@ -2301,7 +2351,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createTransitGatewayVpcAttachment:(AWSEC2CreateTransitGatewayVpcAttachmentRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateTransitGatewayVpcAttachmentResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.
You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.
You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
+Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.
You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.
You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can tag your volumes during creation. For more information, see Tagging your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Creating an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the CreateVolume service method. @@ -2313,7 +2363,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskCreates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.
You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.
You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
+Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.
You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.
You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can tag your volumes during creation. For more information, see Tagging your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Creating an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the CreateVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2451,7 +2501,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createVpcPeeringConnection:(AWSEC2CreateVpcPeeringConnectionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateVpcPeeringConnectionResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The supported connection type is ipsec.1
.
The response includes information that you need to give to your network administrator to configure your customer gateway.
We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.
If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
+Creates a VPN connection between an existing virtual private gateway or transit gateway and a customer gateway. The supported connection type is ipsec.1
.
The response includes information that you need to give to your network administrator to configure your customer gateway.
We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway device.
If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
@param request A container for the necessary parameters to execute the CreateVpnConnection service method. @@ -2463,7 +2513,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskCreates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The supported connection type is ipsec.1
.
The response includes information that you need to give to your network administrator to configure your customer gateway.
We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.
If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
+Creates a VPN connection between an existing virtual private gateway or transit gateway and a customer gateway. The supported connection type is ipsec.1
.
The response includes information that you need to give to your network administrator to configure your customer gateway.
We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway device.
If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.
This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.
For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.
@param request A container for the necessary parameters to execute the CreateVpnConnection service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2522,6 +2572,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)createVpnGateway:(AWSEC2CreateVpnGatewayRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateVpnGatewayResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +Deletes a carrier gateway.
If you do not delete the route that contains the carrier gateway as the Target, the route is a blackhole route. For information about how to delete a route, see DeleteRoute.
Deletes a carrier gateway.
If you do not delete the route that contains the carrier gateway as the Target, the route is a blackhole route. For information about how to delete a route, see DeleteRoute.
Deletes the specified Client VPN endpoint. You must disassociate all target networks before you can delete a Client VPN endpoint.
@@ -3115,7 +3190,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteSecurityGroup:(AWSEC2DeleteSecurityGroupRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -Deletes the specified snapshot.
When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.
You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.
For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.
+Deletes the specified snapshot.
When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.
You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.
For more information, see Deleting an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DeleteSnapshot service method. @@ -3126,7 +3201,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteSnapshot:(AWSEC2DeleteSnapshotRequest *)request; /** -Deletes the specified snapshot.
When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.
You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.
For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.
+Deletes the specified snapshot.
When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.
You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.
For more information, see Deleting an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DeleteSnapshot service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3377,6 +3452,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)deleteTransitGatewayPeeringAttachment:(AWSEC2DeleteTransitGatewayPeeringAttachmentRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteTransitGatewayPeeringAttachmentResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +Deletes a reference (route) to a prefix list in a specified transit gateway route table.
+ + @param request A container for the necessary parameters to execute the DeleteTransitGatewayPrefixListReference service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DeleteTransitGatewayPrefixListReferenceResult`. + + @see AWSEC2DeleteTransitGatewayPrefixListReferenceRequest + @see AWSEC2DeleteTransitGatewayPrefixListReferenceResult + */ +- (AWSTaskDeletes a reference (route) to a prefix list in a specified transit gateway route table.
+ + @param request A container for the necessary parameters to execute the DeleteTransitGatewayPrefixListReference 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 AWSEC2DeleteTransitGatewayPrefixListReferenceRequest + @see AWSEC2DeleteTransitGatewayPrefixListReferenceResult + */ +- (void)deleteTransitGatewayPrefixListReference:(AWSEC2DeleteTransitGatewayPrefixListReferenceRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteTransitGatewayPrefixListReferenceResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**Deletes the specified route from the specified transit gateway route table.
@@ -3453,7 +3553,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteTransitGatewayVpcAttachment:(AWSEC2DeleteTransitGatewayVpcAttachmentRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteTransitGatewayVpcAttachmentResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Deletes the specified EBS volume. The volume must be in the available
state (not attached to an instance).
The volume can remain in the deleting
state for several minutes.
For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
+Deletes the specified EBS volume. The volume must be in the available
state (not attached to an instance).
The volume can remain in the deleting
state for several minutes.
For more information, see Deleting an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DeleteVolume service method. @@ -3464,7 +3564,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteVolume:(AWSEC2DeleteVolumeRequest *)request; /** -Deletes the specified EBS volume. The volume must be in the available
state (not attached to an instance).
The volume can remain in the deleting
state for several minutes.
For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
+Deletes the specified EBS volume. The volume must be in the available
state (not attached to an instance).
The volume can remain in the deleting
state for several minutes.
For more information, see Deleting an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DeleteVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3860,7 +3960,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeAggregateIdFormat:(AWSEC2DescribeAggregateIdFormatRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeAggregateIdFormatResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Describes the Availability Zones and Local Zones that are available to you. If there is an event impacting an Availability Zone or Local Zone, you can use this request to view the state and any provided messages for that Availability Zone or Local Zone.
For more information about Availability Zones and Local Zones, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.
+Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.
For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions, Zones and Outposts in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DescribeAvailabilityZones service method. @@ -3872,7 +3972,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskDescribes the Availability Zones and Local Zones that are available to you. If there is an event impacting an Availability Zone or Local Zone, you can use this request to view the state and any provided messages for that Availability Zone or Local Zone.
For more information about Availability Zones and Local Zones, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.
+Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.
For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions, Zones and Outposts in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DescribeAvailabilityZones service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3959,6 +4059,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)describeCapacityReservations:(AWSEC2DescribeCapacityReservationsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeCapacityReservationsResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +Describes one or more of your carrier gateways.
+ + @param request A container for the necessary parameters to execute the DescribeCarrierGateways service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DescribeCarrierGatewaysResult`. + + @see AWSEC2DescribeCarrierGatewaysRequest + @see AWSEC2DescribeCarrierGatewaysResult + */ +- (AWSTaskDescribes one or more of your carrier gateways.
+ + @param request A container for the necessary parameters to execute the DescribeCarrierGateways 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 AWSEC2DescribeCarrierGatewaysRequest + @see AWSEC2DescribeCarrierGatewaysResult + */ +- (void)describeCarrierGateways:(AWSEC2DescribeCarrierGatewaysRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeCarrierGatewaysResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.
@@ -6235,7 +6360,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVolumeAttribute:(AWSEC2DescribeVolumeAttributeRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVolumeAttributeResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.
The DescribeVolumeStatus
operation provides the following information about the specified volumes:
Status: Reflects the current status of the volume. The possible values are ok
, impaired
, warning
, or insufficient-data
. If all checks pass, the overall status of the volume is ok
. If the check fails, the overall status is impaired
. If the status is insufficient-data
, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the Status of Your Volumes in the Amazon Elastic Compute Cloud User Guide.
Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired
status, then the volume event might be potential-data-inconsistency
. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.
Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired
and the volume event shows potential-data-inconsistency
, then the action shows enable-volume-io
. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.
Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error
state (for example, when a volume is incapable of accepting I/O.)
Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.
The DescribeVolumeStatus
operation provides the following information about the specified volumes:
Status: Reflects the current status of the volume. The possible values are ok
, impaired
, warning
, or insufficient-data
. If all checks pass, the overall status of the volume is ok
. If the check fails, the overall status is impaired
. If the status is insufficient-data
, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the status of your volumes in the Amazon Elastic Compute Cloud User Guide.
Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired
status, then the volume event might be potential-data-inconsistency
. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.
Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired
and the volume event shows potential-data-inconsistency
, then the action shows enable-volume-io
. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.
Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error
state (for example, when a volume is incapable of accepting I/O.)
Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.
The DescribeVolumeStatus
operation provides the following information about the specified volumes:
Status: Reflects the current status of the volume. The possible values are ok
, impaired
, warning
, or insufficient-data
. If all checks pass, the overall status of the volume is ok
. If the check fails, the overall status is impaired
. If the status is insufficient-data
, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the Status of Your Volumes in the Amazon Elastic Compute Cloud User Guide.
Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired
status, then the volume event might be potential-data-inconsistency
. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.
Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired
and the volume event shows potential-data-inconsistency
, then the action shows enable-volume-io
. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.
Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error
state (for example, when a volume is incapable of accepting I/O.)
Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.
The DescribeVolumeStatus
operation provides the following information about the specified volumes:
Status: Reflects the current status of the volume. The possible values are ok
, impaired
, warning
, or insufficient-data
. If all checks pass, the overall status of the volume is ok
. If the check fails, the overall status is impaired
. If the status is insufficient-data
, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the status of your volumes in the Amazon Elastic Compute Cloud User Guide.
Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired
status, then the volume event might be potential-data-inconsistency
. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.
Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired
and the volume event shows potential-data-inconsistency
, then the action shows enable-volume-io
. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.
Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error
state (for example, when a volume is incapable of accepting I/O.)
Describes the most recent volume modification request for the specified EBS volumes.
If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.
You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring Volume Modifications in the Amazon Elastic Compute Cloud User Guide.
+Describes the most recent volume modification request for the specified EBS volumes.
If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.
You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring volume modifications in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DescribeVolumesModifications service method. @@ -6297,7 +6422,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskDescribes the most recent volume modification request for the specified EBS volumes.
If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.
You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring Volume Modifications in the Amazon Elastic Compute Cloud User Guide.
+Describes the most recent volume modification request for the specified EBS volumes.
If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.
You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring volume modifications in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DescribeVolumesModifications service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6704,7 +6829,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)detachNetworkInterface:(AWSEC2DetachNetworkInterfaceRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy
state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.
When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.
For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
+Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy
state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.
When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.
For more information, see Detaching an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DetachVolume service method. @@ -6716,7 +6841,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskDetaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy
state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.
When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.
For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.
+Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy
state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.
When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.
For more information, see Detaching an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the DetachVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7092,7 +7217,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)disassociateVpcCidrBlock:(AWSEC2DisassociateVpcCidrBlockRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisassociateVpcCidrBlockResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Enables EBS encryption by default for your account in the current Region.
After you enable encryption by default, the EBS volumes that you create are are always encrypted, either using the default CMK or the CMK that you specified when you created each volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
Enabling encryption by default has no effect on the encryption status of your existing volumes.
After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported Instance Types.
+Enables EBS encryption by default for your account in the current Region.
After you enable encryption by default, the EBS volumes that you create are are always encrypted, either using the default CMK or the CMK that you specified when you created each volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
Enabling encryption by default has no effect on the encryption status of your existing volumes.
After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.
@param request A container for the necessary parameters to execute the EnableEbsEncryptionByDefault service method. @@ -7104,7 +7229,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskEnables EBS encryption by default for your account in the current Region.
After you enable encryption by default, the EBS volumes that you create are are always encrypted, either using the default CMK or the CMK that you specified when you created each volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
Enabling encryption by default has no effect on the encryption status of your existing volumes.
After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported Instance Types.
+Enables EBS encryption by default for your account in the current Region.
After you enable encryption by default, the EBS volumes that you create are are always encrypted, either using the default CMK or the CMK that you specified when you created each volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
Enabling encryption by default has no effect on the encryption status of your existing volumes.
After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.
@param request A container for the necessary parameters to execute the EnableEbsEncryptionByDefault service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7117,7 +7242,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)enableEbsEncryptionByDefault:(AWSEC2EnableEbsEncryptionByDefaultRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableEbsEncryptionByDefaultResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.
You get the full benefit of fast snapshot restores after they enter the enabled
state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.
For more information, see Amazon EBS Fast Snapshot Restore in the Amazon Elastic Compute Cloud User Guide.
+Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.
You get the full benefit of fast snapshot restores after they enter the enabled
state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.
For more information, see Amazon EBS fast snapshot restore in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the EnableFastSnapshotRestores service method. @@ -7129,7 +7254,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskEnables fast snapshot restores for the specified snapshots in the specified Availability Zones.
You get the full benefit of fast snapshot restores after they enter the enabled
state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.
For more information, see Amazon EBS Fast Snapshot Restore in the Amazon Elastic Compute Cloud User Guide.
+Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.
You get the full benefit of fast snapshot restores after they enter the enabled
state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.
For more information, see Amazon EBS fast snapshot restore in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the EnableFastSnapshotRestores service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7785,6 +7910,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)getTransitGatewayMulticastDomainAssociations:(AWSEC2GetTransitGatewayMulticastDomainAssociationsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetTransitGatewayMulticastDomainAssociationsResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +Gets information about the prefix list references in a specified transit gateway route table.
+ + @param request A container for the necessary parameters to execute the GetTransitGatewayPrefixListReferences service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2GetTransitGatewayPrefixListReferencesResult`. + + @see AWSEC2GetTransitGatewayPrefixListReferencesRequest + @see AWSEC2GetTransitGatewayPrefixListReferencesResult + */ +- (AWSTaskGets information about the prefix list references in a specified transit gateway route table.
+ + @param request A container for the necessary parameters to execute the GetTransitGatewayPrefixListReferences 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 AWSEC2GetTransitGatewayPrefixListReferencesRequest + @see AWSEC2GetTransitGatewayPrefixListReferencesResult + */ +- (void)getTransitGatewayPrefixListReferences:(AWSEC2GetTransitGatewayPrefixListReferencesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetTransitGatewayPrefixListReferencesResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**Gets information about the associations for the specified transit gateway route table.
@@ -7986,7 +8136,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)importVolume:(AWSEC2ImportVolumeRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ImportVolumeResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -Enables or disables an Availability Zone group for your account.
Use DescribeAvailabilityZones to view the value for GroupName
.
Changes the opt-in status of the Local Zone and Wavelength Zone group for your account.
Use DescribeAvailabilityZones to view the value for GroupName
.
Enables or disables an Availability Zone group for your account.
Use DescribeAvailabilityZones to view the value for GroupName
.
Changes the opt-in status of the Local Zone and Wavelength Zone group for your account.
Use DescribeAvailabilityZones to view the value for GroupName
.
Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.
Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.
For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.
+Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.
Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.
For more information about modifying snapshot permissions, see Sharing snapshots in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the ModifySnapshotAttribute service method. @@ -8507,7 +8657,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifySnapshotAttribute:(AWSEC2ModifySnapshotAttributeRequest *)request; /** -Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.
Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.
For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.
+Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.
Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.
For more information about modifying snapshot permissions, see Sharing snapshots in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the ModifySnapshotAttribute service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8639,6 +8789,56 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)modifyTrafficMirrorSession:(AWSEC2ModifyTrafficMirrorSessionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyTrafficMirrorSessionResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +Modifies the specified transit gateway. When you modify a transit gateway, the modified options are applied to new transit gateway attachments only. Your existing transit gateway attachments are not modified.
+ + @param request A container for the necessary parameters to execute the ModifyTransitGateway service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2ModifyTransitGatewayResult`. + + @see AWSEC2ModifyTransitGatewayRequest + @see AWSEC2ModifyTransitGatewayResult + */ +- (AWSTaskModifies the specified transit gateway. When you modify a transit gateway, the modified options are applied to new transit gateway attachments only. Your existing transit gateway attachments are not modified.
+ + @param request A container for the necessary parameters to execute the ModifyTransitGateway 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 AWSEC2ModifyTransitGatewayRequest + @see AWSEC2ModifyTransitGatewayResult + */ +- (void)modifyTransitGateway:(AWSEC2ModifyTransitGatewayRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyTransitGatewayResult * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +Modifies a reference (route) to a prefix list in a specified transit gateway route table.
+ + @param request A container for the necessary parameters to execute the ModifyTransitGatewayPrefixListReference service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2ModifyTransitGatewayPrefixListReferenceResult`. + + @see AWSEC2ModifyTransitGatewayPrefixListReferenceRequest + @see AWSEC2ModifyTransitGatewayPrefixListReferenceResult + */ +- (AWSTaskModifies a reference (route) to a prefix list in a specified transit gateway route table.
+ + @param request A container for the necessary parameters to execute the ModifyTransitGatewayPrefixListReference 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 AWSEC2ModifyTransitGatewayPrefixListReferenceRequest + @see AWSEC2ModifyTransitGatewayPrefixListReferenceResult + */ +- (void)modifyTransitGatewayPrefixListReference:(AWSEC2ModifyTransitGatewayPrefixListReferenceRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyTransitGatewayPrefixListReferenceResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**Modifies the specified VPC attachment.
@@ -8665,7 +8865,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifyTransitGatewayVpcAttachment:(AWSEC2ModifyTransitGatewayVpcAttachmentRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyTransitGatewayVpcAttachmentResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.
When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System.
You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring Volume Modifications.
With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux and Modifying the Size, IOPS, or Type of an EBS Volume on Windows.
If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.
+You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the size, IOPS, or type of an EBS volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the size, IOPS, or type of an EBS volume on Windows.
When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux file system. For information about extending a Windows file system, see Extending a Windows file system.
You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring volume modifications.
With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the size, IOPS, or type of an EBS volume on Linux and Modifying the size, IOPS, or type of an EBS volume on Windows.
If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.
@param request A container for the necessary parameters to execute the ModifyVolume service method. @@ -8677,7 +8877,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTaskYou can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.
When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System.
You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring Volume Modifications.
With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux and Modifying the Size, IOPS, or Type of an EBS Volume on Windows.
If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.
+You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the size, IOPS, or type of an EBS volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the size, IOPS, or type of an EBS volume on Windows.
When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux file system. For information about extending a Windows file system, see Extending a Windows file system.
You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring volume modifications.
With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the size, IOPS, or type of an EBS volume on Linux and Modifying the size, IOPS, or type of an EBS volume on Windows.
If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.
@param request A container for the necessary parameters to execute the ModifyVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8908,6 +9108,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)modifyVpnConnection:(AWSEC2ModifyVpnConnectionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyVpnConnectionResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +Modifies the connection options for your Site-to-Site VPN VPN connection.
When you modify the VPN connection options, the VPN endpoint IP addresses on the AWS side do not change, and the tunnel options do not change. Your VPN connection will be temporarily unavailable for a brief period while the VPN connection is updated.
+ + @param request A container for the necessary parameters to execute the ModifyVpnConnectionOptions service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2ModifyVpnConnectionOptionsResult`. + + @see AWSEC2ModifyVpnConnectionOptionsRequest + @see AWSEC2ModifyVpnConnectionOptionsResult + */ +- (AWSTaskModifies the connection options for your Site-to-Site VPN VPN connection.
When you modify the VPN connection options, the VPN endpoint IP addresses on the AWS side do not change, and the tunnel options do not change. Your VPN connection will be temporarily unavailable for a brief period while the VPN connection is updated.
+ + @param request A container for the necessary parameters to execute the ModifyVpnConnectionOptions 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 AWSEC2ModifyVpnConnectionOptionsRequest + @see AWSEC2ModifyVpnConnectionOptionsResult + */ +- (void)modifyVpnConnectionOptions:(AWSEC2ModifyVpnConnectionOptionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyVpnConnectionOptionsResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**Modifies the VPN tunnel endpoint certificate.
@@ -9710,7 +9935,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)resetNetworkInterfaceAttribute:(AWSEC2ResetNetworkInterfaceAttributeRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -Resets permission settings for the specified snapshot.
For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.
+Resets permission settings for the specified snapshot.
For more information about modifying snapshot permissions, see Sharing snapshots in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the ResetSnapshotAttribute service method. @@ -9721,7 +9946,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)resetSnapshotAttribute:(AWSEC2ResetSnapshotAttributeRequest *)request; /** -Resets permission settings for the specified snapshot.
For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.
+Resets permission settings for the specified snapshot.
For more information about modifying snapshot permissions, see Sharing snapshots in the Amazon Elastic Compute Cloud User Guide.
@param request A container for the necessary parameters to execute the ResetSnapshotAttribute 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 18b006d7f2b..f78e68c7e5b 100644 --- a/AWSEC2/AWSEC2Service.m +++ b/AWSEC2/AWSEC2Service.m @@ -1231,6 +1231,29 @@ - (void)createCapacityReservation:(AWSEC2CreateCapacityReservationRequest *)requ }]; } +- (AWSTaskInformation about the AccessLog
attribute.
Information about an action.
Each rule must include exactly one of the following types of actions: forward
, fixed-response
, or redirect
, and it must be the last action to be performed.
The interval for publishing the access logs. You can specify an interval of either 5 minutes or 60 minutes.
Default: 60 minutes
+[HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only when Type
is authenticate-cognito
.
Specifies whether access logs are enabled for the load balancer.
+[HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when Type
is authenticate-oidc
.
[Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when Type
is fixed-response
.
Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when Type
is forward
. If you specify both ForwardConfig
and TargetGroupArn
, you can specify only one target group using ForwardConfig
and it must be the same target group specified in TargetGroupArn
.
The order for the action. This value is required for rules with multiple actions. The action with the lowest value for order is performed first.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable order; + +/** +[Application Load Balancer] Information for creating a redirect action. Specify only when Type
is redirect
.
The name of the Amazon S3 bucket where the access logs are stored.
+The Amazon Resource Name (ARN) of the target group. Specify only when Type
is forward
and you want to route to a single target group. To route to one or more target groups, use ForwardConfig
instead.
The logical hierarchy you created for your Amazon S3 bucket, for example my-bucket-prefix/prod
. If the prefix is not provided, the log is placed at the root level of the bucket.
The type of action.
*/ -@property (nonatomic, strong) NSString * _Nullable s3BucketPrefix; +@property (nonatomic, assign) AWSElasticLoadBalancingActionTypeEnum types; @end /** -Contains the parameters for EnableAvailabilityZonesForLoadBalancer.
- Required parameters: [LoadBalancerName, AvailabilityZones] + */ -@interface AWSElasticLoadBalancingAddAvailabilityZonesInput : AWSRequest +@interface AWSElasticLoadBalancingAddListenerCertificatesInput : AWSRequest /** -The Availability Zones. These must be in the same region as the load balancer.
+The certificate to add. You can specify one certificate per call. Set CertificateArn
to the certificate ARN but do not set IsDefault
.
The name of the load balancer.
+The Amazon Resource Name (ARN) of the listener.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSString * _Nullable listenerArn; @end /** -Contains the output of EnableAvailabilityZonesForLoadBalancer.
+ */ -@interface AWSElasticLoadBalancingAddAvailabilityZonesOutput : AWSModel +@interface AWSElasticLoadBalancingAddListenerCertificatesOutput : AWSModel /** -The updated list of Availability Zones for the load balancer.
+Information about the certificates in the certificate list.
*/ -@property (nonatomic, strong) NSArrayContains the parameters for AddTags.
- Required parameters: [LoadBalancerNames, Tags] + */ @interface AWSElasticLoadBalancingAddTagsInput : AWSRequest /** -The name of the load balancer. You can specify one load balancer only.
+The Amazon Resource Name (ARN) of the resource.
*/ -@property (nonatomic, strong) NSArrayThe tags.
@@ -213,7 +365,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingErrorType) { @end /** -Contains the output of AddTags.
+ */ @interface AWSElasticLoadBalancingAddTagsOutput : AWSModel @@ -221,1458 +373,2164 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingErrorType) { @end /** -This data type is reserved.
+Request parameters to use when integrating with Amazon Cognito to authenticate users.
+ Required parameters: [UserPoolArn, UserPoolClientId, UserPoolDomain] */ -@interface AWSElasticLoadBalancingAdditionalAttribute : AWSModel +@interface AWSElasticLoadBalancingAuthenticateCognitoActionConfig : AWSModel /** -This parameter is reserved.
+The query parameters (up to 10) to include in the redirect request to the authorization endpoint.
*/ -@property (nonatomic, strong) NSString * _Nullable key; +@property (nonatomic, strong) NSDictionaryThis parameter is reserved.
+The behavior if the user is not authenticated. The following are possible values:
deny - Return an HTTP 401 Unauthorized error.
allow - Allow the request to be forwarded to the target.
authenticate - Redirect the request to the IdP authorization endpoint. This is the default value.
The set of user claims to be requested from the IdP. The default is openid
.
To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.
+ */ +@property (nonatomic, strong) NSString * _Nullable scope; /** -Information about a policy for application-controlled session stickiness.
+The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.
*/ -@interface AWSElasticLoadBalancingAppCookieStickinessPolicy : AWSModel +@property (nonatomic, strong) NSString * _Nullable sessionCookieName; +/** +The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).
+ */ +@property (nonatomic, strong) NSNumber * _Nullable sessionTimeout; + +/** +The Amazon Resource Name (ARN) of the Amazon Cognito user pool.
+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolArn; /** -The name of the application cookie used for stickiness.
+The ID of the Amazon Cognito user pool client.
*/ -@property (nonatomic, strong) NSString * _Nullable cookieName; +@property (nonatomic, strong) NSString * _Nullable userPoolClientId; /** -The mnemonic name for the policy being created. The name must be unique within a set of policies for this load balancer.
+The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.
*/ -@property (nonatomic, strong) NSString * _Nullable policyName; +@property (nonatomic, strong) NSString * _Nullable userPoolDomain; @end /** -Contains the parameters for ApplySecurityGroupsToLoadBalancer.
- Required parameters: [LoadBalancerName, SecurityGroups] +Request parameters when using an identity provider (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.
+ Required parameters: [Issuer, AuthorizationEndpoint, TokenEndpoint, UserInfoEndpoint, ClientId] */ -@interface AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerInput : AWSRequest +@interface AWSElasticLoadBalancingAuthenticateOidcActionConfig : AWSModel /** -The name of the load balancer.
+The query parameters (up to 10) to include in the redirect request to the authorization endpoint.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSDictionaryThe IDs of the security groups to associate with the load balancer. Note that you cannot specify the name of the security group.
+The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
*/ -@property (nonatomic, strong) NSArrayThe OAuth 2.0 client identifier.
+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; /** -Contains the output of ApplySecurityGroupsToLoadBalancer.
+The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, you can omit this parameter if you set UseExistingClientSecret
to true.
The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
+ */ +@property (nonatomic, strong) NSString * _Nullable issuer; /** -The IDs of the security groups associated with the load balancer.
+The behavior if the user is not authenticated. The following are possible values:
deny - Return an HTTP 401 Unauthorized error.
allow - Allow the request to be forwarded to the target.
authenticate - Redirect the request to the IdP authorization endpoint. This is the default value.
The set of user claims to be requested from the IdP. The default is openid
.
To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.
+ */ +@property (nonatomic, strong) NSString * _Nullable scope; /** -Contains the parameters for AttachLoaBalancerToSubnets.
- Required parameters: [LoadBalancerName, Subnets] +The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.
*/ -@interface AWSElasticLoadBalancingAttachLoadBalancerToSubnetsInput : AWSRequest +@property (nonatomic, strong) NSString * _Nullable sessionCookieName; +/** +The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).
+ */ +@property (nonatomic, strong) NSNumber * _Nullable sessionTimeout; /** -The name of the load balancer.
+The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSString * _Nullable tokenEndpoint; /** -The IDs of the subnets to add. You can add only one subnet per Availability Zone.
+Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false.
*/ -@property (nonatomic, strong) NSArrayThe user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
+ */ +@property (nonatomic, strong) NSString * _Nullable userInfoEndpoint; @end /** -Contains the output of AttachLoadBalancerToSubnets.
+Information about an Availability Zone.
*/ -@interface AWSElasticLoadBalancingAttachLoadBalancerToSubnetsOutput : AWSModel +@interface AWSElasticLoadBalancingAvailabilityZone : AWSModel /** -The IDs of the subnets attached to the load balancer.
+[Network Load Balancers] If you need static IP addresses for your load balancer, you can specify one Elastic IP address per Availability Zone when you create an internal-facing load balancer. For internal load balancers, you can specify a private IP address from the IPv4 range of the subnet.
*/ -@property (nonatomic, strong) NSArrayThe ID of the subnet. You can specify one subnet per Availability Zone.
+ */ +@property (nonatomic, strong) NSString * _Nullable subnetId; + +/** +The name of the Availability Zone.
+ */ +@property (nonatomic, strong) NSString * _Nullable zoneName; @end /** -Information about the configuration of an EC2 instance.
+Information about an SSL server certificate.
*/ -@interface AWSElasticLoadBalancingBackendServerDescription : AWSModel +@interface AWSElasticLoadBalancingCertificate : AWSModel /** -The port on which the EC2 instance is listening.
+The Amazon Resource Name (ARN) of the certificate.
*/ -@property (nonatomic, strong) NSNumber * _Nullable instancePort; +@property (nonatomic, strong) NSString * _Nullable certificateArn; /** -The names of the policies enabled for the EC2 instance.
+Indicates whether the certificate is the default certificate. Do not set this value when specifying a certificate as an input. This value is not included in the output when describing a listener, but is included when describing listener certificates.
*/ -@property (nonatomic, strong) NSArrayContains the parameters for ConfigureHealthCheck.
- Required parameters: [LoadBalancerName, HealthCheck] +Information about a cipher used in a policy.
*/ -@interface AWSElasticLoadBalancingConfigureHealthCheckInput : AWSRequest +@interface AWSElasticLoadBalancingCipher : AWSModel /** -The configuration information.
+The name of the cipher.
*/ -@property (nonatomic, strong) AWSElasticLoadBalancingHealthCheck * _Nullable healthCheck; +@property (nonatomic, strong) NSString * _Nullable name; /** -The name of the load balancer.
+The priority of the cipher.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSNumber * _Nullable priority; @end /** -Contains the output of ConfigureHealthCheck.
+ */ -@interface AWSElasticLoadBalancingConfigureHealthCheckOutput : AWSModel +@interface AWSElasticLoadBalancingCreateListenerInput : AWSRequest /** -The updated health check.
+[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You can specify one policy name. The following are the possible values:
HTTP1Only
HTTP2Only
HTTP2Optional
HTTP2Preferred
None
For more information, see ALPN Policies in the Network Load Balancers Guide.
*/ -@property (nonatomic, strong) AWSElasticLoadBalancingHealthCheck * _Nullable healthCheck; +@property (nonatomic, strong) NSArray[HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. Set CertificateArn
to the certificate ARN but do not set IsDefault
.
To create a certificate list for the listener, use AddListenerCertificates.
+ */ +@property (nonatomic, strong) NSArrayInformation about the ConnectionDraining
attribute.
The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.
If the action type is forward
, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.
[HTTPS listeners] If the action type is authenticate-oidc
, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.
[HTTPS listeners] If the action type is authenticate-cognito
, you authenticate users through the user pools supported by Amazon Cognito.
[Application Load Balancer] If the action type is redirect
, you redirect specified client requests from one URL to another.
[Application Load Balancer] If the action type is fixed-response
, you drop specified client requests and return a custom HTTP response.
The Amazon Resource Name (ARN) of the load balancer.
+ */ +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; /** -Specifies whether connection draining is enabled for the load balancer.
+The port on which the load balancer is listening.
*/ -@property (nonatomic, strong) NSNumber * _Nullable enabled; +@property (nonatomic, strong) NSNumber * _Nullable port; + +/** +The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP.
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingProtocolEnum protocols; /** -The maximum time, in seconds, to keep the existing connections open before deregistering the instances.
+[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. The following are the possible values:
ELBSecurityPolicy-2016-08
ELBSecurityPolicy-TLS-1-0-2015-04
ELBSecurityPolicy-TLS-1-1-2017-01
ELBSecurityPolicy-TLS-1-2-2017-01
ELBSecurityPolicy-TLS-1-2-Ext-2018-06
ELBSecurityPolicy-FS-2018-06
ELBSecurityPolicy-FS-1-1-2019-08
ELBSecurityPolicy-FS-1-2-2019-08
ELBSecurityPolicy-FS-1-2-Res-2019-08
For more information, see Security Policies in the Application Load Balancers Guide and Security Policies in the Network Load Balancers Guide.
*/ -@property (nonatomic, strong) NSNumber * _Nullable timeout; +@property (nonatomic, strong) NSString * _Nullable sslPolicy; @end /** -Information about the ConnectionSettings
attribute.
The time, in seconds, that the connection is allowed to be idle (no data has been sent over the connection) before it is closed by the load balancer.
+Information about the listener.
*/ -@property (nonatomic, strong) NSNumber * _Nullable idleTimeout; +@property (nonatomic, strong) NSArrayContains the parameters for CreateLoadBalancer.
- Required parameters: [LoadBalancerName, Listeners] + */ -@interface AWSElasticLoadBalancingCreateAccessPointInput : AWSRequest +@interface AWSElasticLoadBalancingCreateLoadBalancerInput : AWSRequest /** -One or more Availability Zones from the same region as the load balancer.
You must specify at least one Availability Zone.
You can add more Availability Zones after you create the load balancer using EnableAvailabilityZonesForLoadBalancer.
+[Application Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
(for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses). Internal load balancers must use ipv4
.
The listeners.
For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.
+The name of the load balancer.
This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-".
*/ -@property (nonatomic, strong) NSArrayThe name of the load balancer.
This name must be unique within your set of load balancers for the region, must have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.
+The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.
The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.
The default is an Internet-facing load balancer.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, assign) AWSElasticLoadBalancingLoadBalancerSchemeEnum scheme; /** -The type of a load balancer. Valid only for load balancers in a VPC.
By default, Elastic Load Balancing creates an Internet-facing load balancer with a DNS name that resolves to public IP addresses. For more information about Internet-facing and Internal load balancers, see Load Balancer Scheme in the Elastic Load Balancing User Guide.
Specify internal
to create a load balancer with a DNS name that resolves to private IP addresses.
[Application Load Balancers] The IDs of the security groups for the load balancer.
*/ -@property (nonatomic, strong) NSString * _Nullable scheme; +@property (nonatomic, strong) NSArrayThe IDs of the security groups to assign to the load balancer.
+The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.
[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet.
*/ -@property (nonatomic, strong) NSArrayThe IDs of the subnets in your VPC to attach to the load balancer. Specify one subnet per Availability Zone specified in AvailabilityZones
.
The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
[Application Load Balancers] You must specify subnets from at least two Availability Zones.
[Network Load Balancers] You can specify subnets from one or more Availability Zones.
*/ @property (nonatomic, strong) NSArrayA list of tags to assign to the load balancer.
For more information about tagging your load balancer, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide.
+One or more tags to assign to the load balancer.
*/ @property (nonatomic, strong) NSArrayThe type of load balancer. The default is application
.
Contains the output for CreateLoadBalancer.
+ */ -@interface AWSElasticLoadBalancingCreateAccessPointOutput : AWSModel +@interface AWSElasticLoadBalancingCreateLoadBalancerOutput : AWSModel /** -The DNS name of the load balancer.
+Information about the load balancer.
*/ -@property (nonatomic, strong) NSString * _Nullable DNSName; +@property (nonatomic, strong) NSArrayContains the parameters for CreateAppCookieStickinessPolicy.
- Required parameters: [LoadBalancerName, PolicyName, CookieName] + */ -@interface AWSElasticLoadBalancingCreateAppCookieStickinessPolicyInput : AWSRequest +@interface AWSElasticLoadBalancingCreateRuleInput : AWSRequest /** -The name of the application cookie used for stickiness.
+The actions. Each rule must include exactly one of the following types of actions: forward
, fixed-response
, or redirect
, and it must be the last action to be performed.
If the action type is forward
, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.
[HTTPS listeners] If the action type is authenticate-oidc
, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.
[HTTPS listeners] If the action type is authenticate-cognito
, you authenticate users through the user pools supported by Amazon Cognito.
[Application Load Balancer] If the action type is redirect
, you redirect specified client requests from one URL to another.
[Application Load Balancer] If the action type is fixed-response
, you drop specified client requests and return a custom HTTP response.
The name of the load balancer.
+The conditions. Each rule can optionally include up to one of each of the following conditions: http-request-method
, host-header
, path-pattern
, and source-ip
. Each rule can also optionally include one or more of each of the following conditions: http-header
and query-string
.
The Amazon Resource Name (ARN) of the listener.
+ */ +@property (nonatomic, strong) NSString * _Nullable listenerArn; /** -The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.
+The rule priority. A listener can't have multiple rules with the same priority.
*/ -@property (nonatomic, strong) NSString * _Nullable policyName; +@property (nonatomic, strong) NSNumber * _Nullable priority; @end /** -Contains the output for CreateAppCookieStickinessPolicy.
+ */ -@interface AWSElasticLoadBalancingCreateAppCookieStickinessPolicyOutput : AWSModel +@interface AWSElasticLoadBalancingCreateRuleOutput : AWSModel +/** +Information about the rule.
+ */ +@property (nonatomic, strong) NSArrayContains the parameters for CreateLBCookieStickinessPolicy.
- Required parameters: [LoadBalancerName, PolicyName] + */ -@interface AWSElasticLoadBalancingCreateLBCookieStickinessPolicyInput : AWSRequest +@interface AWSElasticLoadBalancingCreateTargetGroupInput : AWSRequest /** -The time period, in seconds, after which the cookie should be considered stale. If you do not specify this parameter, the default value is 0, which indicates that the sticky session should last for the duration of the browser session.
+Indicates whether health checks are enabled. If the target type is lambda
, health checks are disabled by default but can be enabled. If the target type is instance
or ip
, health checks are always enabled and cannot be disabled.
The name of the load balancer.
+The approximate amount of time, in seconds, between health checks of an individual target. For HTTP and HTTPS health checks, the range is 5–300 seconds. For TCP health checks, the supported values are 10 and 30 seconds. If the target type is instance
or ip
, the default is 30 seconds. If the target type is lambda
, the default is 35 seconds.
The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.
+[HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks. The default is /.
*/ -@property (nonatomic, strong) NSString * _Nullable policyName; +@property (nonatomic, strong) NSString * _Nullable healthCheckPath; -@end +/** +The port the load balancer uses when performing health checks on targets. The default is traffic-port
, which is the port on which each target receives traffic from the load balancer.
The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks.
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingProtocolEnum healthCheckProtocol; + +/** +The amount of time, in seconds, during which no response from a target means a failed health check. For target groups with a protocol of HTTP or HTTPS, the default is 5 seconds. For target groups with a protocol of TCP or TLS, this value must be 6 seconds for HTTP health checks and 10 seconds for TCP and HTTPS health checks. If the target type is lambda
, the default is 30 seconds.
The number of consecutive health checks successes required before considering an unhealthy target healthy. For target groups with a protocol of HTTP or HTTPS, the default is 5. For target groups with a protocol of TCP or TLS, the default is 3. If the target type is lambda
, the default is 5.
[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.
+ */ +@property (nonatomic, strong) AWSElasticLoadBalancingMatcher * _Nullable matcher; + +/** +The name of the target group.
This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
+ */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** +The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable port; + +/** +The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a Lambda function, this parameter does not apply.
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingProtocolEnum protocols; + +/** +The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type.
instance
- Targets are specified by instance ID. This is the default value.
ip
- Targets are specified by IP address. You can specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.
lambda
- The target groups contains a single Lambda function.
Contains the output for CreateLBCookieStickinessPolicy.
+The number of consecutive health check failures required before considering a target unhealthy. For target groups with a protocol of HTTP or HTTPS, the default is 2. For target groups with a protocol of TCP or TLS, this value must be the same as the healthy threshold count. If the target type is lambda
, the default is 2.
The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply. Otherwise, this parameter is required.
+ */ +@property (nonatomic, strong) NSString * _Nullable vpcId; @end /** -Contains the parameters for CreateLoadBalancerListeners.
- Required parameters: [LoadBalancerName, Listeners] + */ -@interface AWSElasticLoadBalancingCreateLoadBalancerListenerInput : AWSRequest +@interface AWSElasticLoadBalancingCreateTargetGroupOutput : AWSModel /** -The listeners.
+Information about the target group.
*/ -@property (nonatomic, strong) NSArrayThe name of the load balancer.
+ */ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@interface AWSElasticLoadBalancingDeleteListenerInput : AWSRequest + + +/** +The Amazon Resource Name (ARN) of the listener.
+ */ +@property (nonatomic, strong) NSString * _Nullable listenerArn; @end /** -Contains the parameters for CreateLoadBalancerListener.
+ */ -@interface AWSElasticLoadBalancingCreateLoadBalancerListenerOutput : AWSModel +@interface AWSElasticLoadBalancingDeleteListenerOutput : AWSModel @end /** -Contains the parameters for CreateLoadBalancerPolicy.
- Required parameters: [LoadBalancerName, PolicyName, PolicyTypeName] + */ -@interface AWSElasticLoadBalancingCreateLoadBalancerPolicyInput : AWSRequest +@interface AWSElasticLoadBalancingDeleteLoadBalancerInput : AWSRequest /** -The name of the load balancer.
+The Amazon Resource Name (ARN) of the load balancer.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; + +@end /** -The policy attributes.
+ */ -@property (nonatomic, strong) NSArrayThe name of the load balancer policy to be created. This name must be unique within the set of policies for this load balancer.
+ */ -@property (nonatomic, strong) NSString * _Nullable policyName; +@interface AWSElasticLoadBalancingDeleteRuleInput : AWSRequest + /** -The name of the base policy type. To get the list of policy types, use DescribeLoadBalancerPolicyTypes.
+The Amazon Resource Name (ARN) of the rule.
*/ -@property (nonatomic, strong) NSString * _Nullable policyTypeName; +@property (nonatomic, strong) NSString * _Nullable ruleArn; @end /** -Contains the output of CreateLoadBalancerPolicy.
+ */ -@interface AWSElasticLoadBalancingCreateLoadBalancerPolicyOutput : AWSModel +@interface AWSElasticLoadBalancingDeleteRuleOutput : AWSModel @end /** -Information about the CrossZoneLoadBalancing
attribute.
Specifies whether cross-zone load balancing is enabled for the load balancer.
+The Amazon Resource Name (ARN) of the target group.
*/ -@property (nonatomic, strong) NSNumber * _Nullable enabled; +@property (nonatomic, strong) NSString * _Nullable targetGroupArn; @end /** -Contains the parameters for DeleteLoadBalancer.
- Required parameters: [LoadBalancerName] + */ -@interface AWSElasticLoadBalancingDeleteAccessPointInput : AWSRequest +@interface AWSElasticLoadBalancingDeleteTargetGroupOutput : AWSModel + +@end /** -The name of the load balancer.
+ */ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@interface AWSElasticLoadBalancingDeregisterTargetsInput : AWSRequest + + +/** +The Amazon Resource Name (ARN) of the target group.
+ */ +@property (nonatomic, strong) NSString * _Nullable targetGroupArn; + +/** +The targets. If you specified a port override when you registered a target, you must specify both the target ID and the port when you deregister it.
+ */ +@property (nonatomic, strong) NSArrayContains the output of DeleteLoadBalancer.
+ + */ +@interface AWSElasticLoadBalancingDescribeAccountLimitsInput : AWSRequest + + +/** +The marker for the next set of results. (You received this marker from a previous call.)
*/ -@interface AWSElasticLoadBalancingDeleteAccessPointOutput : AWSModel +@property (nonatomic, strong) NSString * _Nullable marker; +/** +The maximum number of results to return with this call.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable pageSize; @end /** -Contains the parameters for DeleteLoadBalancerListeners.
- Required parameters: [LoadBalancerName, LoadBalancerPorts] + */ -@interface AWSElasticLoadBalancingDeleteLoadBalancerListenerInput : AWSRequest +@interface AWSElasticLoadBalancingDescribeAccountLimitsOutput : AWSModel /** -The name of the load balancer.
+Information about the limits.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSArrayThe client port numbers of the listeners.
+If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
*/ -@property (nonatomic, strong) NSArrayContains the output of DeleteLoadBalancerListeners.
+ + */ +@interface AWSElasticLoadBalancingDescribeListenerCertificatesInput : AWSRequest + + +/** +The Amazon Resource Names (ARN) of the listener.
+ */ +@property (nonatomic, strong) NSString * _Nullable listenerArn; + +/** +The marker for the next set of results. (You received this marker from a previous call.)
*/ -@interface AWSElasticLoadBalancingDeleteLoadBalancerListenerOutput : AWSModel +@property (nonatomic, strong) NSString * _Nullable marker; +/** +The maximum number of results to return with this call.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable pageSize; @end /** -Contains the parameters for DeleteLoadBalancerPolicy.
- Required parameters: [LoadBalancerName, PolicyName] + */ -@interface AWSElasticLoadBalancingDeleteLoadBalancerPolicyInput : AWSRequest +@interface AWSElasticLoadBalancingDescribeListenerCertificatesOutput : AWSModel /** -The name of the load balancer.
+Information about the certificates.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSArrayThe name of the policy.
+If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
*/ -@property (nonatomic, strong) NSString * _Nullable policyName; +@property (nonatomic, strong) NSString * _Nullable nextMarker; @end /** -Contains the output of DeleteLoadBalancerPolicy.
+ + */ +@interface AWSElasticLoadBalancingDescribeListenersInput : AWSRequest + + +/** +The Amazon Resource Names (ARN) of the listeners.
+ */ +@property (nonatomic, strong) NSArrayThe Amazon Resource Name (ARN) of the load balancer.
+ */ +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; + +/** +The marker for the next set of results. (You received this marker from a previous call.)
*/ -@interface AWSElasticLoadBalancingDeleteLoadBalancerPolicyOutput : AWSModel +@property (nonatomic, strong) NSString * _Nullable marker; +/** +The maximum number of results to return with this call.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable pageSize; @end /** -Contains the parameters for DeregisterInstancesFromLoadBalancer.
- Required parameters: [LoadBalancerName, Instances] + */ -@interface AWSElasticLoadBalancingDeregisterEndPointsInput : AWSRequest +@interface AWSElasticLoadBalancingDescribeListenersOutput : AWSModel /** -The IDs of the instances.
+Information about the listeners.
*/ -@property (nonatomic, strong) NSArrayThe name of the load balancer.
+If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSString * _Nullable nextMarker; @end /** -Contains the output of DeregisterInstancesFromLoadBalancer.
+ + */ +@interface AWSElasticLoadBalancingDescribeLoadBalancerAttributesInput : AWSRequest + + +/** +The Amazon Resource Name (ARN) of the load balancer.
+ */ +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; + +@end + +/** + + */ +@interface AWSElasticLoadBalancingDescribeLoadBalancerAttributesOutput : AWSModel + + +/** +Information about the load balancer attributes.
+ */ +@property (nonatomic, strong) NSArrayThe Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load balancers in a single call.
+ */ +@property (nonatomic, strong) NSArrayThe marker for the next set of results. (You received this marker from a previous call.)
+ */ +@property (nonatomic, strong) NSString * _Nullable marker; + +/** +The names of the load balancers.
+ */ +@property (nonatomic, strong) NSArrayThe maximum number of results to return with this call.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable pageSize; + +@end + +/** + + */ +@interface AWSElasticLoadBalancingDescribeLoadBalancersOutput : AWSModel + + +/** +Information about the load balancers.
+ */ +@property (nonatomic, strong) NSArrayIf there are additional results, this is the marker for the next set of results. Otherwise, this is null.
+ */ +@property (nonatomic, strong) NSString * _Nullable nextMarker; + +@end + +/** + + */ +@interface AWSElasticLoadBalancingDescribeRulesInput : AWSRequest + + +/** +The Amazon Resource Name (ARN) of the listener.
+ */ +@property (nonatomic, strong) NSString * _Nullable listenerArn; + +/** +The marker for the next set of results. (You received this marker from a previous call.)
+ */ +@property (nonatomic, strong) NSString * _Nullable marker; + +/** +The maximum number of results to return with this call.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable pageSize; + +/** +The Amazon Resource Names (ARN) of the rules.
+ */ +@property (nonatomic, strong) NSArrayIf there are additional results, this is the marker for the next set of results. Otherwise, this is null.
+ */ +@property (nonatomic, strong) NSString * _Nullable nextMarker; + +/** +Information about the rules.
+ */ +@property (nonatomic, strong) NSArrayThe marker for the next set of results. (You received this marker from a previous call.)
+ */ +@property (nonatomic, strong) NSString * _Nullable marker; + +/** +The names of the policies.
+ */ +@property (nonatomic, strong) NSArrayThe maximum number of results to return with this call.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable pageSize; + +@end + +/** + + */ +@interface AWSElasticLoadBalancingDescribeSSLPoliciesOutput : AWSModel + + +/** +If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
+ */ +@property (nonatomic, strong) NSString * _Nullable nextMarker; + +/** +Information about the security policies.
+ */ +@property (nonatomic, strong) NSArrayThe Amazon Resource Names (ARN) of the resources. You can specify up to 20 resources in a single call.
+ */ +@property (nonatomic, strong) NSArrayInformation about the tags.
+ */ +@property (nonatomic, strong) NSArrayThe Amazon Resource Name (ARN) of the target group.
+ */ +@property (nonatomic, strong) NSString * _Nullable targetGroupArn; + +@end + +/** + + */ +@interface AWSElasticLoadBalancingDescribeTargetGroupAttributesOutput : AWSModel + + +/** +Information about the target group attributes
+ */ +@property (nonatomic, strong) NSArrayThe Amazon Resource Name (ARN) of the load balancer.
+ */ +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; + +/** +The marker for the next set of results. (You received this marker from a previous call.)
+ */ +@property (nonatomic, strong) NSString * _Nullable marker; + +/** +The names of the target groups.
+ */ +@property (nonatomic, strong) NSArrayThe maximum number of results to return with this call.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable pageSize; + +/** +The Amazon Resource Names (ARN) of the target groups.
+ */ +@property (nonatomic, strong) NSArrayIf there are additional results, this is the marker for the next set of results. Otherwise, this is null.
+ */ +@property (nonatomic, strong) NSString * _Nullable nextMarker; + +/** +Information about the target groups.
+ */ +@property (nonatomic, strong) NSArrayThe Amazon Resource Name (ARN) of the target group.
+ */ +@property (nonatomic, strong) NSString * _Nullable targetGroupArn; + +/** +The targets.
+ */ +@property (nonatomic, strong) NSArrayInformation about the health of the targets.
+ */ +@property (nonatomic, strong) NSArrayInformation about an action that returns a custom HTTP response.
+ Required parameters: [StatusCode] + */ +@interface AWSElasticLoadBalancingFixedResponseActionConfig : AWSModel + + +/** +The content type.
Valid Values: text/plain | text/css | text/html | application/javascript | application/json
+ */ +@property (nonatomic, strong) NSString * _Nullable contentType; + +/** +The message.
+ */ +@property (nonatomic, strong) NSString * _Nullable messageBody; + +/** +The HTTP response code (2XX, 4XX, or 5XX).
+ */ +@property (nonatomic, strong) NSString * _Nullable statusCode; + +@end + +/** +Information about a forward action.
+ */ +@interface AWSElasticLoadBalancingForwardActionConfig : AWSModel + + +/** +The target group stickiness for the rule.
+ */ +@property (nonatomic, strong) AWSElasticLoadBalancingTargetGroupStickinessConfig * _Nullable targetGroupStickinessConfig; + +/** +One or more target groups. For Network Load Balancers, you can specify a single target group.
+ */ +@property (nonatomic, strong) NSArrayInformation about a host header condition.
+ */ +@interface AWSElasticLoadBalancingHostHeaderConditionConfig : AWSModel + + +/** +One or more host names. The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).
If you specify multiple strings, the condition is satisfied if one of the strings matches the host name.
+ */ +@property (nonatomic, strong) NSArrayInformation about an HTTP header condition.
There is a set of standard HTTP header fields. You can also define custom HTTP header fields.
+ */ +@interface AWSElasticLoadBalancingHttpHeaderConditionConfig : AWSModel + + +/** +The name of the HTTP header field. The maximum size is 40 characters. The header name is case insensitive. The allowed characters are specified by RFC 7230. Wildcards are not supported.
You can't use an HTTP header condition to specify the host header. Use HostHeaderConditionConfig to specify a host header condition.
+ */ +@property (nonatomic, strong) NSString * _Nullable httpHeaderName; + +/** +One or more strings to compare against the value of the HTTP header. The maximum size of each string is 128 characters. The comparison strings are case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).
If the same header appears multiple times in the request, we search them in order until a match is found.
If you specify multiple strings, the condition is satisfied if one of the strings matches the value of the HTTP header. To require that all of the strings are a match, create one condition per string.
+ */ +@property (nonatomic, strong) NSArrayInformation about an HTTP method condition.
HTTP defines a set of request methods, also referred to as HTTP verbs. For more information, see the HTTP Method Registry. You can also define custom HTTP methods.
+ */ +@interface AWSElasticLoadBalancingHttpRequestMethodConditionConfig : AWSModel + + +/** +The name of the request method. The maximum size is 40 characters. The allowed characters are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not supported; therefore, the method name must be an exact match.
If you specify multiple strings, the condition is satisfied if one of the strings matches the HTTP request method. We recommend that you route GET and HEAD requests in the same way, because the response to a HEAD request may be cached.
+ */ +@property (nonatomic, strong) NSArrayInformation about an Elastic Load Balancing resource limit for your AWS account.
+ */ +@interface AWSElasticLoadBalancingLimit : AWSModel + + +/** +The maximum value of the limit.
+ */ +@property (nonatomic, strong) NSString * _Nullable max; + +/** +The name of the limit. The possible values are:
application-load-balancers
listeners-per-application-load-balancer
listeners-per-network-load-balancer
network-load-balancers
rules-per-application-load-balancer
target-groups
target-groups-per-action-on-application-load-balancer
target-groups-per-action-on-network-load-balancer
target-groups-per-application-load-balancer
targets-per-application-load-balancer
targets-per-availability-zone-per-network-load-balancer
targets-per-network-load-balancer
Information about a listener.
+ */ +@interface AWSElasticLoadBalancingListener : AWSModel + + +/** +[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.
+ */ +@property (nonatomic, strong) NSArray[HTTPS or TLS listener] The default certificate for the listener.
+ */ +@property (nonatomic, strong) NSArrayThe default actions for the listener.
+ */ +@property (nonatomic, strong) NSArrayThe Amazon Resource Name (ARN) of the listener.
+ */ +@property (nonatomic, strong) NSString * _Nullable listenerArn; + +/** +The Amazon Resource Name (ARN) of the load balancer.
+ */ +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; + +/** +The port on which the load balancer is listening.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable port; + +/** +The protocol for connections from clients to the load balancer.
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingProtocolEnum protocols; + +/** +[HTTPS or TLS listener] The security policy that defines which protocols and ciphers are supported.
+ */ +@property (nonatomic, strong) NSString * _Nullable sslPolicy; + +@end + +/** +Information about a load balancer.
+ */ +@interface AWSElasticLoadBalancingLoadBalancer : AWSModel + + +/** +The Availability Zones for the load balancer.
+ */ +@property (nonatomic, strong) NSArrayThe ID of the Amazon Route 53 hosted zone associated with the load balancer.
+ */ +@property (nonatomic, strong) NSString * _Nullable canonicalHostedZoneId; + +/** +The date and time the load balancer was created.
+ */ +@property (nonatomic, strong) NSDate * _Nullable createdTime; + +/** +The public DNS name of the load balancer.
+ */ +@property (nonatomic, strong) NSString * _Nullable DNSName; + +/** +The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
(for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
The Amazon Resource Name (ARN) of the load balancer.
+ */ +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; + +/** +The name of the load balancer.
+ */ +@property (nonatomic, strong) NSString * _Nullable loadBalancerName; + +/** +The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.
The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingLoadBalancerSchemeEnum scheme; + +/** +The IDs of the security groups for the load balancer.
+ */ +@property (nonatomic, strong) NSArrayThe state of the load balancer.
*/ -@interface AWSElasticLoadBalancingDeregisterEndPointsOutput : AWSModel +@property (nonatomic, strong) AWSElasticLoadBalancingLoadBalancerState * _Nullable state; +/** +The type of load balancer.
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingLoadBalancerTypeEnum types; /** -The remaining instances registered with the load balancer.
+The ID of the VPC for the load balancer.
*/ -@property (nonatomic, strong) NSArrayContains the parameters for DescribeLoadBalancers.
+Information about a static IP address for a load balancer.
*/ -@interface AWSElasticLoadBalancingDescribeAccessPointsInput : AWSRequest +@interface AWSElasticLoadBalancingLoadBalancerAddress : AWSModel /** -The names of the load balancers.
+[Network Load Balancers] The allocation ID of the Elastic IP address for an internal-facing load balancer.
*/ -@property (nonatomic, strong) NSArrayThe marker for the next set of results. (You received this marker from a previous call.)
+The static IP address.
*/ -@property (nonatomic, strong) NSString * _Nullable marker; +@property (nonatomic, strong) NSString * _Nullable ipAddress; /** -The maximum number of results to return with this call (a number from 1 to 400). The default is 400.
+[Network Load Balancers] The private IPv4 address for an internal load balancer.
*/ -@property (nonatomic, strong) NSNumber * _Nullable pageSize; +@property (nonatomic, strong) NSString * _Nullable privateIPv4Address; @end /** -Contains the parameters for DescribeLoadBalancers.
+Information about a load balancer attribute.
*/ -@interface AWSElasticLoadBalancingDescribeAccessPointsOutput : AWSModel +@interface AWSElasticLoadBalancingLoadBalancerAttribute : AWSModel /** -Information about the load balancers.
+The name of the attribute.
The following attributes are supported by both Application Load Balancers and Network Load Balancers:
access_logs.s3.enabled
- Indicates whether access logs are enabled. The value is true
or false
. The default is false
.
access_logs.s3.bucket
- The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.
access_logs.s3.prefix
- The prefix for the location in the S3 bucket for the access logs.
deletion_protection.enabled
- Indicates whether deletion protection is enabled. The value is true
or false
. The default is false
.
The following attributes are supported by only Application Load Balancers:
idle_timeout.timeout_seconds
- The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.
routing.http.desync_mitigation_mode
- Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor
, defensive
, and strictest
. The default is defensive
.
routing.http.drop_invalid_header_fields.enabled
- Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true
) or routed to targets (false
). The default is false
.
routing.http2.enabled
- Indicates whether HTTP/2 is enabled. The value is true
or false
. The default is true
. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.
The following attributes are supported by only Network Load Balancers:
load_balancing.cross_zone.enabled
- Indicates whether cross-zone load balancing is enabled. The value is true
or false
. The default is false
.
The marker to use when requesting the next set of results. If there are no additional results, the string is empty.
+The value of the attribute.
*/ -@property (nonatomic, strong) NSString * _Nullable nextMarker; +@property (nonatomic, strong) NSString * _Nullable value; @end /** - +Information about the state of the load balancer.
*/ -@interface AWSElasticLoadBalancingDescribeAccountLimitsInput : AWSRequest +@interface AWSElasticLoadBalancingLoadBalancerState : AWSModel /** -The marker for the next set of results. (You received this marker from a previous call.)
+The state code. The initial state of the load balancer is provisioning
. After the load balancer is fully set up and ready to route traffic, its state is active
. If the load balancer could not be set up, its state is failed
.
The maximum number of results to return with this call.
+A description of the state.
*/ -@property (nonatomic, strong) NSNumber * _Nullable pageSize; +@property (nonatomic, strong) NSString * _Nullable reason; @end /** - +Information to use when checking for a successful response from a target.
+ Required parameters: [HttpCode] */ -@interface AWSElasticLoadBalancingDescribeAccountLimitsOutput : AWSModel +@interface AWSElasticLoadBalancingMatcher : AWSModel /** -Information about the limits.
- */ -@property (nonatomic, strong) NSArrayThe marker to use when requesting the next set of results. If there are no additional results, the string is empty.
+The HTTP codes.
For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299").
For Network Load Balancers, this is 200–399.
*/ -@property (nonatomic, strong) NSString * _Nullable nextMarker; +@property (nonatomic, strong) NSString * _Nullable httpCode; @end /** -Contains the parameters for DescribeInstanceHealth.
- Required parameters: [LoadBalancerName] + */ -@interface AWSElasticLoadBalancingDescribeEndPointStateInput : AWSRequest +@interface AWSElasticLoadBalancingModifyListenerInput : AWSRequest /** -The IDs of the instances.
+[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You can specify one policy name. The following are the possible values:
HTTP1Only
HTTP2Only
HTTP2Optional
HTTP2Preferred
None
For more information, see ALPN Policies in the Network Load Balancers Guide.
*/ -@property (nonatomic, strong) NSArrayThe name of the load balancer.
+[HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. Set CertificateArn
to the certificate ARN but do not set IsDefault
.
To create a certificate list, use AddListenerCertificates.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; - -@end +@property (nonatomic, strong) NSArrayContains the output for DescribeInstanceHealth.
+The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.
If the action type is forward
, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.
[HTTPS listeners] If the action type is authenticate-oidc
, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.
[HTTPS listeners] If the action type is authenticate-cognito
, you authenticate users through the user pools supported by Amazon Cognito.
[Application Load Balancer] If the action type is redirect
, you redirect specified client requests from one URL to another.
[Application Load Balancer] If the action type is fixed-response
, you drop specified client requests and return a custom HTTP response.
Information about the health of the instances.
+The Amazon Resource Name (ARN) of the listener.
*/ -@property (nonatomic, strong) NSArrayContains the parameters for DescribeLoadBalancerAttributes.
- Required parameters: [LoadBalancerName] +The port for connections from clients to the load balancer.
*/ -@interface AWSElasticLoadBalancingDescribeLoadBalancerAttributesInput : AWSRequest +@property (nonatomic, strong) NSNumber * _Nullable port; +/** +The protocol for connections from clients to the load balancer. Application Load Balancers support the HTTP and HTTPS protocols. Network Load Balancers support the TCP, TLS, UDP, and TCP_UDP protocols.
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingProtocolEnum protocols; /** -The name of the load balancer.
+[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. The following are the possible values:
ELBSecurityPolicy-2016-08
ELBSecurityPolicy-TLS-1-0-2015-04
ELBSecurityPolicy-TLS-1-1-2017-01
ELBSecurityPolicy-TLS-1-2-2017-01
ELBSecurityPolicy-TLS-1-2-Ext-2018-06
ELBSecurityPolicy-FS-2018-06
ELBSecurityPolicy-FS-1-1-2019-08
ELBSecurityPolicy-FS-1-2-2019-08
ELBSecurityPolicy-FS-1-2-Res-2019-08
For more information, see Security Policies in the Application Load Balancers Guide and Security Policies in the Network Load Balancers Guide.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSString * _Nullable sslPolicy; @end /** -Contains the output of DescribeLoadBalancerAttributes.
+ */ -@interface AWSElasticLoadBalancingDescribeLoadBalancerAttributesOutput : AWSModel +@interface AWSElasticLoadBalancingModifyListenerOutput : AWSModel /** -Information about the load balancer attributes.
+Information about the modified listener.
*/ -@property (nonatomic, strong) AWSElasticLoadBalancingLoadBalancerAttributes * _Nullable loadBalancerAttributes; +@property (nonatomic, strong) NSArrayContains the parameters for DescribeLoadBalancerPolicies.
+ */ -@interface AWSElasticLoadBalancingDescribeLoadBalancerPoliciesInput : AWSRequest +@interface AWSElasticLoadBalancingModifyLoadBalancerAttributesInput : AWSRequest /** -The name of the load balancer.
+The load balancer attributes.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSArrayThe names of the policies.
+The Amazon Resource Name (ARN) of the load balancer.
*/ -@property (nonatomic, strong) NSArrayContains the output of DescribeLoadBalancerPolicies.
+ */ -@interface AWSElasticLoadBalancingDescribeLoadBalancerPoliciesOutput : AWSModel +@interface AWSElasticLoadBalancingModifyLoadBalancerAttributesOutput : AWSModel /** -Information about the policies.
+Information about the load balancer attributes.
*/ -@property (nonatomic, strong) NSArrayContains the parameters for DescribeLoadBalancerPolicyTypes.
+ */ -@interface AWSElasticLoadBalancingDescribeLoadBalancerPolicyTypesInput : AWSRequest +@interface AWSElasticLoadBalancingModifyRuleInput : AWSRequest /** -The names of the policy types. If no names are specified, describes all policy types defined by Elastic Load Balancing.
+The actions. Each rule must include exactly one of the following types of actions: forward
, fixed-response
, or redirect
, and it must be the last action to be performed.
If the action type is forward
, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.
[HTTPS listeners] If the action type is authenticate-oidc
, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.
[HTTPS listeners] If the action type is authenticate-cognito
, you authenticate users through the user pools supported by Amazon Cognito.
[Application Load Balancer] If the action type is redirect
, you redirect specified client requests from one URL to another.
[Application Load Balancer] If the action type is fixed-response
, you drop specified client requests and return a custom HTTP response.
Contains the output of DescribeLoadBalancerPolicyTypes.
+The conditions. Each rule can include zero or one of the following conditions: http-request-method
, host-header
, path-pattern
, and source-ip
, and zero or more of the following conditions: http-header
and query-string
.
Information about the policy types.
+The Amazon Resource Name (ARN) of the rule.
*/ -@property (nonatomic, strong) NSArrayContains the parameters for DescribeTags.
- Required parameters: [LoadBalancerNames] + */ -@interface AWSElasticLoadBalancingDescribeTagsInput : AWSRequest +@interface AWSElasticLoadBalancingModifyRuleOutput : AWSModel /** -The names of the load balancers.
+Information about the modified rule.
*/ -@property (nonatomic, strong) NSArrayContains the output for DescribeTags.
+ */ -@interface AWSElasticLoadBalancingDescribeTagsOutput : AWSModel +@interface AWSElasticLoadBalancingModifyTargetGroupAttributesInput : AWSRequest /** -Information about the tags.
+The attributes.
*/ -@property (nonatomic, strong) NSArrayContains the parameters for DetachLoadBalancerFromSubnets.
- Required parameters: [LoadBalancerName, Subnets] +The Amazon Resource Name (ARN) of the target group.
*/ -@interface AWSElasticLoadBalancingDetachLoadBalancerFromSubnetsInput : AWSRequest +@property (nonatomic, strong) NSString * _Nullable targetGroupArn; +@end /** -The name of the load balancer.
+ */ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@interface AWSElasticLoadBalancingModifyTargetGroupAttributesOutput : AWSModel + /** -The IDs of the subnets.
+Information about the attributes.
*/ -@property (nonatomic, strong) NSArrayContains the output of DetachLoadBalancerFromSubnets.
+ */ -@interface AWSElasticLoadBalancingDetachLoadBalancerFromSubnetsOutput : AWSModel +@interface AWSElasticLoadBalancingModifyTargetGroupInput : AWSRequest /** -The IDs of the remaining subnets for the load balancer.
+Indicates whether health checks are enabled.
*/ -@property (nonatomic, strong) NSArrayInformation about a health check.
- Required parameters: [Target, Interval, Timeout, UnhealthyThreshold, HealthyThreshold] +The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds.
With Network Load Balancers, you can't modify this setting.
*/ -@interface AWSElasticLoadBalancingHealthCheck : AWSModel - +@property (nonatomic, strong) NSNumber * _Nullable healthCheckIntervalSeconds; /** -The number of consecutive health checks successes required before moving the instance to the Healthy
state.
[HTTP/HTTPS health checks] The ping path that is the destination for the health check request.
*/ -@property (nonatomic, strong) NSNumber * _Nullable healthyThreshold; +@property (nonatomic, strong) NSString * _Nullable healthCheckPath; /** -The approximate interval, in seconds, between health checks of an individual instance.
+The port the load balancer uses when performing health checks on targets.
*/ -@property (nonatomic, strong) NSNumber * _Nullable interval; +@property (nonatomic, strong) NSString * _Nullable healthCheckPort; /** -The instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535.
TCP is the default, specified as a TCP: port pair, for example "TCP:5000". In this case, a health check simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy.
SSL is also specified as SSL: port pair, for example, SSL:5000.
For HTTP/HTTPS, you must include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than "200 OK" within the timeout period is considered unhealthy.
The total length of the HTTP ping target must be 1024 16-bit Unicode characters or less.
+The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks.
With Network Load Balancers, you can't modify this setting.
*/ -@property (nonatomic, strong) NSString * _Nullable target; +@property (nonatomic, assign) AWSElasticLoadBalancingProtocolEnum healthCheckProtocol; /** -The amount of time, in seconds, during which no response means a failed health check.
This value must be less than the Interval
value.
[HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check.
With Network Load Balancers, you can't modify this setting.
*/ -@property (nonatomic, strong) NSNumber * _Nullable timeout; +@property (nonatomic, strong) NSNumber * _Nullable healthCheckTimeoutSeconds; /** -The number of consecutive health check failures required before moving the instance to the Unhealthy
state.
The number of consecutive health checks successes required before considering an unhealthy target healthy.
*/ -@property (nonatomic, strong) NSNumber * _Nullable unhealthyThreshold; - -@end +@property (nonatomic, strong) NSNumber * _Nullable healthyThresholdCount; /** -The ID of an EC2 instance.
+[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. The possible values are from 200 to 499. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299"). The default is 200.
With Network Load Balancers, you can't modify this setting.
*/ -@interface AWSElasticLoadBalancingInstance : AWSModel +@property (nonatomic, strong) AWSElasticLoadBalancingMatcher * _Nullable matcher; +/** +The Amazon Resource Name (ARN) of the target group.
+ */ +@property (nonatomic, strong) NSString * _Nullable targetGroupArn; /** -The instance ID.
+The number of consecutive health check failures required before considering the target unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold count.
*/ -@property (nonatomic, strong) NSString * _Nullable instanceId; +@property (nonatomic, strong) NSNumber * _Nullable unhealthyThresholdCount; @end /** -Information about the state of an EC2 instance.
+ */ -@interface AWSElasticLoadBalancingInstanceState : AWSModel +@interface AWSElasticLoadBalancingModifyTargetGroupOutput : AWSModel /** -A description of the instance state. This string can contain one or more of the following messages.
N/A
A transient error occurred. Please try again later.
Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
Instance has not passed the configured HealthyThreshold number of health checks consecutively.
Instance registration is still in progress.
Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.
Instance is not currently registered with the LoadBalancer.
Instance deregistration currently in progress.
Disable Availability Zone is currently in progress.
Instance is in pending state.
Instance is in stopped state.
Instance is in terminated state.
Information about the modified target group.
*/ -@property (nonatomic, strong) NSString * _Nullable detail; +@property (nonatomic, strong) NSArrayThe ID of the instance.
- */ -@property (nonatomic, strong) NSString * _Nullable instanceId; +@end /** -Information about the cause of OutOfService
instances. Specifically, whether the cause is Elastic Load Balancing or the instance.
Valid values: ELB
| Instance
| N/A
Information about a path pattern condition.
*/ -@property (nonatomic, strong) NSString * _Nullable reasonCode; +@interface AWSElasticLoadBalancingPathPatternConditionConfig : AWSModel + /** -The current state of the instance.
Valid values: InService
| OutOfService
| Unknown
One or more path patterns to compare against the request URL. The maximum size of each string is 128 characters. The comparison is case sensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).
If you specify multiple strings, the condition is satisfied if one of them matches the request URL. The path pattern is compared only to the path of the URL, not to its query string. To compare against the query string, use QueryStringConditionConfig.
*/ -@property (nonatomic, strong) NSString * _Nullable state; +@property (nonatomic, strong) NSArrayInformation about a policy for duration-based session stickiness.
+Information about a query string condition.
The query string component of a URI starts after the first '?' character and is terminated by either a '#' character or the end of the URI. A typical query string contains key/value pairs separated by '&' characters. The allowed characters are specified by RFC 3986. Any character can be percentage encoded.
*/ -@interface AWSElasticLoadBalancingLBCookieStickinessPolicy : AWSModel - +@interface AWSElasticLoadBalancingQueryStringConditionConfig : AWSModel -/** -The time period, in seconds, after which the cookie should be considered stale. If this parameter is not specified, the stickiness session lasts for the duration of the browser session.
- */ -@property (nonatomic, strong) NSNumber * _Nullable cookieExpirationPeriod; /** -The name of the policy. This name must be unique within the set of policies for this load balancer.
+One or more key/value pairs or values to find in the query string. The maximum size of each string is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). To search for a literal '*' or '?' character in a query string, you must escape these characters in Values
using a '\' character.
If you specify multiple key/value pairs or values, the condition is satisfied if one of them is found in the query string.
*/ -@property (nonatomic, strong) NSString * _Nullable policyName; +@property (nonatomic, strong) NSArrayInformation about an Elastic Load Balancing resource limit for your AWS account.
+Information about a key/value pair.
*/ -@interface AWSElasticLoadBalancingLimit : AWSModel +@interface AWSElasticLoadBalancingQueryStringKeyValuePair : AWSModel /** -The maximum value of the limit.
+The key. You can omit the key.
*/ -@property (nonatomic, strong) NSString * _Nullable max; +@property (nonatomic, strong) NSString * _Nullable key; /** -The name of the limit. The possible values are:
classic-listeners
classic-load-balancers
classic-registered-instances
The value.
*/ -@property (nonatomic, strong) NSString * _Nullable name; +@property (nonatomic, strong) NSString * _Nullable value; @end /** -Information about a listener.
For information about the protocols and the ports supported by Elastic Load Balancing, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.
- Required parameters: [Protocol, LoadBalancerPort, InstancePort] +Information about a redirect action.
A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.
You can reuse URI components using the following reserved keywords:
#{protocol}
#{host}
#{port}
#{path} (the leading "/" is removed)
#{query}
For example, you can change the path to "/new/#{path}", the hostname to "example.#{host}", or the query to "#{query}&value=xyz".
+ Required parameters: [StatusCode] */ -@interface AWSElasticLoadBalancingListener : AWSModel +@interface AWSElasticLoadBalancingRedirectActionConfig : AWSModel /** -The port on which the instance is listening.
+The hostname. This component is not percent-encoded. The hostname can contain #{host}.
*/ -@property (nonatomic, strong) NSNumber * _Nullable instancePort; +@property (nonatomic, strong) NSString * _Nullable host; /** -The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or SSL.
If the front-end protocol is HTTP, HTTPS, TCP, or SSL, InstanceProtocol
must be at the same protocol.
If there is another listener with the same InstancePort
whose InstanceProtocol
is secure, (HTTPS or SSL), the listener's InstanceProtocol
must also be secure.
If there is another listener with the same InstancePort
whose InstanceProtocol
is HTTP or TCP, the listener's InstanceProtocol
must be HTTP or TCP.
The absolute path, starting with the leading "/". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}.
*/ -@property (nonatomic, strong) NSString * _Nullable instanceProtocol; +@property (nonatomic, strong) NSString * _Nullable path; /** -The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535.
+The port. You can specify a value from 1 to 65535 or #{port}.
*/ -@property (nonatomic, strong) NSNumber * _Nullable loadBalancerPort; +@property (nonatomic, strong) NSString * _Nullable port; /** -The load balancer transport protocol to use for routing: HTTP, HTTPS, TCP, or SSL.
+The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.
*/ @property (nonatomic, strong) NSString * _Nullable protocols; /** -The Amazon Resource Name (ARN) of the server certificate.
+The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading "?", as it is automatically added. You can specify any of the reserved keywords.
*/ -@property (nonatomic, strong) NSString * _Nullable SSLCertificateId; +@property (nonatomic, strong) NSString * _Nullable query; + +/** +The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingRedirectActionStatusCodeEnum statusCode; @end /** -The policies enabled for a listener.
+ */ -@interface AWSElasticLoadBalancingListenerDescription : AWSModel +@interface AWSElasticLoadBalancingRegisterTargetsInput : AWSRequest /** -The listener.
+The Amazon Resource Name (ARN) of the target group.
*/ -@property (nonatomic, strong) AWSElasticLoadBalancingListener * _Nullable listener; +@property (nonatomic, strong) NSString * _Nullable targetGroupArn; /** -The policies. If there are no policies enabled, the list is empty.
+The targets.
To register a target by instance ID, specify the instance ID. To register a target by IP address, specify the IP address. To register a Lambda function, specify the ARN of the Lambda function.
*/ -@property (nonatomic, strong) NSArrayThe attributes for a load balancer.
+ */ -@interface AWSElasticLoadBalancingLoadBalancerAttributes : AWSModel +@interface AWSElasticLoadBalancingRegisterTargetsOutput : AWSModel + +@end /** -If enabled, the load balancer captures detailed information of all requests and delivers the information to the Amazon S3 bucket that you specify.
For more information, see Enable Access Logs in the Classic Load Balancers Guide.
+ */ -@property (nonatomic, strong) AWSElasticLoadBalancingAccessLog * _Nullable accessLog; +@interface AWSElasticLoadBalancingRemoveListenerCertificatesInput : AWSRequest + /** -This parameter is reserved.
+The certificate to remove. You can specify one certificate per call. Set CertificateArn
to the certificate ARN but do not set IsDefault
.
If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.
For more information, see Configure Connection Draining in the Classic Load Balancers Guide.
+The Amazon Resource Name (ARN) of the listener.
*/ -@property (nonatomic, strong) AWSElasticLoadBalancingConnectionDraining * _Nullable connectionDraining; +@property (nonatomic, strong) NSString * _Nullable listenerArn; + +@end /** -If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.
By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. For more information, see Configure Idle Connection Timeout in the Classic Load Balancers Guide.
+ */ -@property (nonatomic, strong) AWSElasticLoadBalancingConnectionSettings * _Nullable connectionSettings; +@interface AWSElasticLoadBalancingRemoveListenerCertificatesOutput : AWSModel + + +@end /** -If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
For more information, see Configure Cross-Zone Load Balancing in the Classic Load Balancers Guide.
+ */ -@property (nonatomic, strong) AWSElasticLoadBalancingCrossZoneLoadBalancing * _Nullable crossZoneLoadBalancing; +@interface AWSElasticLoadBalancingRemoveTagsInput : AWSRequest -@end /** -Information about a load balancer.
+The Amazon Resource Name (ARN) of the resource.
+ */ +@property (nonatomic, strong) NSArrayThe tag keys for the tags to remove.
*/ -@interface AWSElasticLoadBalancingLoadBalancerDescription : AWSModel +@property (nonatomic, strong) NSArrayThe Availability Zones for the load balancer.
+ */ -@property (nonatomic, strong) NSArrayInformation about your EC2 instances.
+Information about a rule.
*/ -@property (nonatomic, strong) NSArrayThe DNS name of the load balancer.
For more information, see Configure a Custom Domain Name in the Classic Load Balancers Guide.
+The actions. Each rule must include exactly one of the following types of actions: forward
, redirect
, or fixed-response
, and it must be the last action to be performed.
The ID of the Amazon Route 53 hosted zone for the load balancer.
+The conditions. Each rule can include zero or one of the following conditions: http-request-method
, host-header
, path-pattern
, and source-ip
, and zero or more of the following conditions: http-header
and query-string
.
The date and time the load balancer was created.
+Indicates whether this is the default rule.
*/ -@property (nonatomic, strong) NSDate * _Nullable createdTime; +@property (nonatomic, strong) NSNumber * _Nullable isDefault; /** -The DNS name of the load balancer.
+The priority.
*/ -@property (nonatomic, strong) NSString * _Nullable DNSName; +@property (nonatomic, strong) NSString * _Nullable priority; /** -Information about the health checks conducted on the load balancer.
+The Amazon Resource Name (ARN) of the rule.
*/ -@property (nonatomic, strong) AWSElasticLoadBalancingHealthCheck * _Nullable healthCheck; +@property (nonatomic, strong) NSString * _Nullable ruleArn; + +@end /** -The IDs of the instances for the load balancer.
+Information about a condition for a rule.
Each rule can optionally include up to one of each of the following conditions: http-request-method
, host-header
, path-pattern
, and source-ip
. Each rule can also optionally include one or more of each of the following conditions: http-header
and query-string
.
The listeners for the load balancer.
+The field in the HTTP request. The following are the possible values:
http-header
http-request-method
host-header
path-pattern
query-string
source-ip
The name of the load balancer.
+Information for a host header condition. Specify only when Field
is host-header
.
The policies defined for the load balancer.
+Information for an HTTP header condition. Specify only when Field
is http-header
.
The type of load balancer. Valid only for load balancers in a VPC.
If Scheme
is internet-facing
, the load balancer has a public DNS name that resolves to a public IP address.
If Scheme
is internal
, the load balancer has a public DNS name that resolves to a private IP address.
Information for an HTTP method condition. Specify only when Field
is http-request-method
.
The security groups for the load balancer. Valid only for load balancers in a VPC.
+Information for a path pattern condition. Specify only when Field
is path-pattern
.
The security group for the load balancer, which you can use as part of your inbound rules for your registered instances. To only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.
+Information for a query string condition. Specify only when Field
is query-string
.
The IDs of the subnets for the load balancer.
+Information for a source IP condition. Specify only when Field
is source-ip
.
The ID of the VPC for the load balancer.
+The condition value. Specify only when Field
is host-header
or path-pattern
. Alternatively, to specify multiple host names or multiple path patterns, use HostHeaderConfig
or PathPatternConfig
.
If Field
is host-header
and you are not using HostHeaderConfig
, you can specify a single host name (for example, my.example.com) in Values
. A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters.
A-Z, a-z, 0-9
- .
* (matches 0 or more characters)
? (matches exactly 1 character)
If Field
is path-pattern
and you are not using PathPatternConfig
, you can specify a single path pattern (for example, /img/*) in Values
. A path pattern is case-sensitive, can be up to 128 characters in length, and can contain any of the following characters.
A-Z, a-z, 0-9
_ - . $ / ~ " ' @ : +
& (using &)
* (matches 0 or more characters)
? (matches exactly 1 character)
Contains the parameters for ModifyLoadBalancerAttributes.
- Required parameters: [LoadBalancerName, LoadBalancerAttributes] +Information about the priorities for the rules for a listener.
*/ -@interface AWSElasticLoadBalancingModifyLoadBalancerAttributesInput : AWSRequest +@interface AWSElasticLoadBalancingRulePriorityPair : AWSModel /** -The attributes for the load balancer.
+The rule priority.
*/ -@property (nonatomic, strong) AWSElasticLoadBalancingLoadBalancerAttributes * _Nullable loadBalancerAttributes; +@property (nonatomic, strong) NSNumber * _Nullable priority; /** -The name of the load balancer.
+The Amazon Resource Name (ARN) of the rule.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSString * _Nullable ruleArn; @end /** -Contains the output of ModifyLoadBalancerAttributes.
+ */ -@interface AWSElasticLoadBalancingModifyLoadBalancerAttributesOutput : AWSModel +@interface AWSElasticLoadBalancingSetIpAddressTypeInput : AWSRequest /** -Information about the load balancer attributes.
+The IP address type. The possible values are ipv4
(for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses). Internal load balancers must use ipv4
. Network Load Balancers must use ipv4
.
The name of the load balancer.
+The Amazon Resource Name (ARN) of the load balancer.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; @end /** -The policies for a load balancer.
+ */ -@interface AWSElasticLoadBalancingPolicies : AWSModel +@interface AWSElasticLoadBalancingSetIpAddressTypeOutput : AWSModel /** -The stickiness policies created using CreateAppCookieStickinessPolicy.
+The IP address type.
*/ -@property (nonatomic, strong) NSArrayThe stickiness policies created using CreateLBCookieStickinessPolicy.
- */ -@property (nonatomic, strong) NSArrayThe policies other than the stickiness policies.
+ */ -@property (nonatomic, strong) NSArrayInformation about a policy attribute.
+The rule priorities.
*/ -@interface AWSElasticLoadBalancingPolicyAttribute : AWSModel +@property (nonatomic, strong) NSArrayThe name of the attribute.
+ */ -@property (nonatomic, strong) NSString * _Nullable attributeName; +@interface AWSElasticLoadBalancingSetRulePrioritiesOutput : AWSModel + /** -The value of the attribute.
+Information about the rules.
*/ -@property (nonatomic, strong) NSString * _Nullable attributeValue; +@property (nonatomic, strong) NSArrayInformation about a policy attribute.
+ */ -@interface AWSElasticLoadBalancingPolicyAttributeDescription : AWSModel +@interface AWSElasticLoadBalancingSetSecurityGroupsInput : AWSRequest /** -The name of the attribute.
+The Amazon Resource Name (ARN) of the load balancer.
*/ -@property (nonatomic, strong) NSString * _Nullable attributeName; +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; /** -The value of the attribute.
+The IDs of the security groups.
*/ -@property (nonatomic, strong) NSString * _Nullable attributeValue; +@property (nonatomic, strong) NSArrayInformation about a policy attribute type.
+ */ -@interface AWSElasticLoadBalancingPolicyAttributeTypeDescription : AWSModel +@interface AWSElasticLoadBalancingSetSecurityGroupsOutput : AWSModel /** -The name of the attribute.
+The IDs of the security groups associated with the load balancer.
*/ -@property (nonatomic, strong) NSString * _Nullable attributeName; +@property (nonatomic, strong) NSArrayThe type of the attribute. For example, Boolean
or Integer
.
The cardinality of the attribute.
Valid values:
ONE(1) : Single value required
ZERO_OR_ONE(0..1) : Up to one value is allowed
ZERO_OR_MORE(0..*) : Optional. Multiple values are allowed
ONE_OR_MORE(1..*0) : Required. Multiple values are allowed
The Amazon Resource Name (ARN) of the load balancer.
*/ -@property (nonatomic, strong) NSString * _Nullable cardinality; +@property (nonatomic, strong) NSString * _Nullable loadBalancerArn; /** -The default value of the attribute, if applicable.
+The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.
[Network Load Balancers] You can specify subnets from one or more Availability Zones. If you need static IP addresses for your internet-facing load balancer, you can specify one Elastic IP address per subnet. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet.
*/ -@property (nonatomic, strong) NSString * _Nullable defaultValue; +@property (nonatomic, strong) NSArrayA description of the attribute.
+The IDs of the public subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
*/ -@property (nonatomic, strong) NSString * _Nullable detail; +@property (nonatomic, strong) NSArrayInformation about a policy.
+ */ -@interface AWSElasticLoadBalancingPolicyDescription : AWSModel +@interface AWSElasticLoadBalancingSetSubnetsOutput : AWSModel /** -The policy attributes.
+Information about the subnet and Availability Zone.
*/ -@property (nonatomic, strong) NSArrayThe name of the policy.
+Information about a source IP condition.
You can use this condition to route based on the IP address of the source that connects to the load balancer. If a client is behind a proxy, this is the IP address of the proxy not the IP address of the client.
*/ -@property (nonatomic, strong) NSString * _Nullable policyName; +@interface AWSElasticLoadBalancingSourceIpConditionConfig : AWSModel + /** -The name of the policy type.
+One or more source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. Wildcards are not supported.
If you specify multiple addresses, the condition is satisfied if the source IP address of the request matches one of the CIDR blocks. This condition is not satisfied by the addresses in the X-Forwarded-For header. To search for addresses in the X-Forwarded-For header, use HttpHeaderConditionConfig.
*/ -@property (nonatomic, strong) NSString * _Nullable policyTypeName; +@property (nonatomic, strong) NSArrayInformation about a policy type.
+Information about a policy used for SSL negotiation.
*/ -@interface AWSElasticLoadBalancingPolicyTypeDescription : AWSModel +@interface AWSElasticLoadBalancingSslPolicy : AWSModel /** -A description of the policy type.
+The ciphers.
*/ -@property (nonatomic, strong) NSString * _Nullable detail; +@property (nonatomic, strong) NSArrayThe description of the policy attributes associated with the policies defined by Elastic Load Balancing.
+The name of the policy.
*/ -@property (nonatomic, strong) NSArrayThe name of the policy type.
+The protocols.
*/ -@property (nonatomic, strong) NSString * _Nullable policyTypeName; +@property (nonatomic, strong) NSArrayContains the parameters for RegisterInstancesWithLoadBalancer.
- Required parameters: [LoadBalancerName, Instances] +Information about a subnet mapping.
*/ -@interface AWSElasticLoadBalancingRegisterEndPointsInput : AWSRequest +@interface AWSElasticLoadBalancingSubnetMapping : AWSModel /** -The IDs of the instances.
- */ -@property (nonatomic, strong) NSArrayThe name of the load balancer.
+[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; - -@end +@property (nonatomic, strong) NSString * _Nullable allocationId; /** -Contains the output of RegisterInstancesWithLoadBalancer.
+[Network Load Balancers] The private IPv4 address for an internal load balancer.
*/ -@interface AWSElasticLoadBalancingRegisterEndPointsOutput : AWSModel - +@property (nonatomic, strong) NSString * _Nullable privateIPv4Address; /** -The updated list of instances for the load balancer.
+The ID of the subnet.
*/ -@property (nonatomic, strong) NSArrayContains the parameters for DisableAvailabilityZonesForLoadBalancer.
- Required parameters: [LoadBalancerName, AvailabilityZones] +Information about a tag.
+ Required parameters: [Key] */ -@interface AWSElasticLoadBalancingRemoveAvailabilityZonesInput : AWSRequest +@interface AWSElasticLoadBalancingTag : AWSModel /** -The Availability Zones.
+The key of the tag.
*/ -@property (nonatomic, strong) NSArrayThe name of the load balancer.
+The value of the tag.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSString * _Nullable value; @end /** -Contains the output for DisableAvailabilityZonesForLoadBalancer.
+The tags associated with a resource.
*/ -@interface AWSElasticLoadBalancingRemoveAvailabilityZonesOutput : AWSModel +@interface AWSElasticLoadBalancingTagDescription : AWSModel /** -The remaining Availability Zones for the load balancer.
+The Amazon Resource Name (ARN) of the resource.
*/ -@property (nonatomic, strong) NSArrayInformation about the tags.
+ */ +@property (nonatomic, strong) NSArrayContains the parameters for RemoveTags.
- Required parameters: [LoadBalancerNames, Tags] +Information about a target.
+ Required parameters: [Id] */ -@interface AWSElasticLoadBalancingRemoveTagsInput : AWSRequest +@interface AWSElasticLoadBalancingTargetDescription : AWSModel /** -The name of the load balancer. You can specify a maximum of one load balancer name.
+An Availability Zone or all
. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
This parameter is not supported if the target type of the target group is instance
.
If the target type is ip
and the IP address is in a subnet of the VPC for the target group, the Availability Zone is automatically detected and this parameter is optional. If the IP address is outside the VPC, this parameter is required.
With an Application Load Balancer, if the target type is ip
and the IP address is outside the VPC for the target group, the only supported value is all
.
If the target type is lambda
, this parameter is optional and the only supported value is all
.
The list of tag keys to remove.
+The ID of the target. If the target type of the target group is instance
, specify an instance ID. If the target type is ip
, specify an IP address. If the target type is lambda
, specify the ARN of the Lambda function.
Contains the output of RemoveTags.
+The port on which the target is listening. Not used if the target is a Lambda function.
*/ -@interface AWSElasticLoadBalancingRemoveTagsOutput : AWSModel - +@property (nonatomic, strong) NSNumber * _Nullable port; @end /** -Contains the parameters for SetLoadBalancerListenerSSLCertificate.
- Required parameters: [LoadBalancerName, LoadBalancerPort, SSLCertificateId] +Information about a target group.
*/ -@interface AWSElasticLoadBalancingSetLoadBalancerListenerSSLCertificateInput : AWSRequest +@interface AWSElasticLoadBalancingTargetGroup : AWSModel /** -The name of the load balancer.
+Indicates whether health checks are enabled.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSNumber * _Nullable healthCheckEnabled; /** -The port that uses the specified SSL certificate.
+The approximate amount of time, in seconds, between health checks of an individual target.
*/ -@property (nonatomic, strong) NSNumber * _Nullable loadBalancerPort; +@property (nonatomic, strong) NSNumber * _Nullable healthCheckIntervalSeconds; /** -The Amazon Resource Name (ARN) of the SSL certificate.
+The destination for the health check request.
*/ -@property (nonatomic, strong) NSString * _Nullable SSLCertificateId; - -@end +@property (nonatomic, strong) NSString * _Nullable healthCheckPath; /** -Contains the output of SetLoadBalancerListenerSSLCertificate.
+The port to use to connect with the target.
*/ -@interface AWSElasticLoadBalancingSetLoadBalancerListenerSSLCertificateOutput : AWSModel - - -@end +@property (nonatomic, strong) NSString * _Nullable healthCheckPort; /** -Contains the parameters for SetLoadBalancerPoliciesForBackendServer.
- Required parameters: [LoadBalancerName, InstancePort, PolicyNames] +The protocol to use to connect with the target.
*/ -@interface AWSElasticLoadBalancingSetLoadBalancerPoliciesForBackendServerInput : AWSRequest - +@property (nonatomic, assign) AWSElasticLoadBalancingProtocolEnum healthCheckProtocol; /** -The port number associated with the EC2 instance.
+The amount of time, in seconds, during which no response means a failed health check.
*/ -@property (nonatomic, strong) NSNumber * _Nullable instancePort; +@property (nonatomic, strong) NSNumber * _Nullable healthCheckTimeoutSeconds; /** -The name of the load balancer.
+The number of consecutive health checks successes required before considering an unhealthy target healthy.
*/ -@property (nonatomic, strong) NSString * _Nullable loadBalancerName; +@property (nonatomic, strong) NSNumber * _Nullable healthyThresholdCount; /** -The names of the policies. If the list is empty, then all current polices are removed from the EC2 instance.
+The Amazon Resource Names (ARN) of the load balancers that route traffic to this target group.
*/ -@property (nonatomic, strong) NSArrayContains the output of SetLoadBalancerPoliciesForBackendServer.
+The HTTP codes to use when checking for a successful response from a target.
*/ -@interface AWSElasticLoadBalancingSetLoadBalancerPoliciesForBackendServerOutput : AWSModel +@property (nonatomic, strong) AWSElasticLoadBalancingMatcher * _Nullable matcher; +/** +The port on which the targets are listening. Not used if the target is a Lambda function.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable port; -@end +/** +The protocol to use for routing traffic to the targets.
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingProtocolEnum protocols; /** -Contains the parameters for SetLoadBalancePoliciesOfListener.
- Required parameters: [LoadBalancerName, LoadBalancerPort, PolicyNames] +The Amazon Resource Name (ARN) of the target group.
*/ -@interface AWSElasticLoadBalancingSetLoadBalancerPoliciesOfListenerInput : AWSRequest +@property (nonatomic, strong) NSString * _Nullable targetGroupArn; +/** +The name of the target group.
+ */ +@property (nonatomic, strong) NSString * _Nullable targetGroupName; /** -The name of the load balancer.
+The type of target that you must specify when registering targets with this target group. The possible values are instance
(targets are specified by instance ID) or ip
(targets are specified by IP address).
The external port of the load balancer.
+The number of consecutive health check failures required before considering the target unhealthy.
*/ -@property (nonatomic, strong) NSNumber * _Nullable loadBalancerPort; +@property (nonatomic, strong) NSNumber * _Nullable unhealthyThresholdCount; /** -The names of the policies. This list must include all policies to be enabled. If you omit a policy that is currently enabled, it is disabled. If the list is empty, all current policies are disabled.
+The ID of the VPC for the targets.
*/ -@property (nonatomic, strong) NSArrayContains the output of SetLoadBalancePoliciesOfListener.
+Information about a target group attribute.
+ */ +@interface AWSElasticLoadBalancingTargetGroupAttribute : AWSModel + + +/** +The name of the attribute.
The following attributes are supported by both Application Load Balancers and Network Load Balancers:
deregistration_delay.timeout_seconds
- The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining
to unused
. The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported.
stickiness.enabled
- Indicates whether sticky sessions are enabled. The value is true
or false
. The default is false
.
stickiness.type
- The type of sticky sessions. The possible values are lb_cookie
for Application Load Balancers or source_ip
for Network Load Balancers.
The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:
load_balancing.algorithm.type
- The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is round_robin
or least_outstanding_requests
. The default is round_robin
.
slow_start.duration_seconds
- The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).
stickiness.lb_cookie.duration_seconds
- The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:
lambda.multi_value_headers.enabled
- Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is true
or false
. The default is false
. If the value is false
and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client.
The following attribute is supported only by Network Load Balancers:
proxy_protocol_v2.enabled
- Indicates whether Proxy Protocol version 2 is enabled. The value is true
or false
. The default is false
.
The value of the attribute.
+ */ +@property (nonatomic, strong) NSString * _Nullable value; @end /** -Information about a source security group.
+Information about the target group stickiness for a rule.
*/ -@interface AWSElasticLoadBalancingSourceSecurityGroup : AWSModel +@interface AWSElasticLoadBalancingTargetGroupStickinessConfig : AWSModel /** -The name of the security group.
+The time period, in seconds, during which requests from a client should be routed to the same target group. The range is 1-604800 seconds (7 days).
*/ -@property (nonatomic, strong) NSString * _Nullable groupName; +@property (nonatomic, strong) NSNumber * _Nullable durationSeconds; /** -The owner of the security group.
+Indicates whether target group stickiness is enabled.
*/ -@property (nonatomic, strong) NSString * _Nullable ownerAlias; +@property (nonatomic, strong) NSNumber * _Nullable enabled; @end /** -Information about a tag.
- Required parameters: [Key] +Information about how traffic will be distributed between multiple target groups in a forward rule.
*/ -@interface AWSElasticLoadBalancingTag : AWSModel +@interface AWSElasticLoadBalancingTargetGroupTuple : AWSModel /** -The key of the tag.
+The Amazon Resource Name (ARN) of the target group.
*/ -@property (nonatomic, strong) NSString * _Nullable key; +@property (nonatomic, strong) NSString * _Nullable targetGroupArn; /** -The value of the tag.
+The weight. The range is 0 to 999.
*/ -@property (nonatomic, strong) NSString * _Nullable value; +@property (nonatomic, strong) NSNumber * _Nullable weight; @end /** -The tags associated with a load balancer.
+Information about the current health of a target.
*/ -@interface AWSElasticLoadBalancingTagDescription : AWSModel +@interface AWSElasticLoadBalancingTargetHealth : AWSModel /** -The name of the load balancer.
+A description of the target health that provides additional details. If the state is healthy
, a description is not provided.
The tags.
+The reason code.
If the target state is healthy
, a reason code is not provided.
If the target state is initial
, the reason code can be one of the following values:
Elb.RegistrationInProgress
- The target is in the process of being registered with the load balancer.
Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of health checks required to determine its health status.
If the target state is unhealthy
, the reason code can be one of the following values:
Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies only to Application Load Balancers.
Target.Timeout
- The health check requests timed out. Applies only to Application Load Balancers.
Target.FailedHealthChecks
- The load balancer received an error while establishing a connection to the target or the target response was malformed.
Elb.InternalError
- The health checks failed due to an internal error. Applies only to Application Load Balancers.
If the target state is unused
, the reason code can be one of the following values:
Target.NotRegistered
- The target is not registered with the target group.
Target.NotInUse
- The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.
Target.InvalidState
- The target is in the stopped or terminated state.
Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
If the target state is draining
, the reason code can be the following value:
Target.DeregistrationInProgress
- The target is in the process of being deregistered and the deregistration delay period has not expired.
If the target state is unavailable
, the reason code can be the following value:
Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to Application Load Balancers.
Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to Network Load Balancers.
The state of the target.
+ */ +@property (nonatomic, assign) AWSElasticLoadBalancingTargetHealthStateEnum state; @end /** -The key of a tag.
+Information about the health of a target.
*/ -@interface AWSElasticLoadBalancingTagKeyOnly : AWSModel +@interface AWSElasticLoadBalancingTargetHealthDescription : AWSModel /** -The name of the key.
+The port to use to connect with the target.
*/ -@property (nonatomic, strong) NSString * _Nullable key; +@property (nonatomic, strong) NSString * _Nullable healthCheckPort; + +/** +The description of the target.
+ */ +@property (nonatomic, strong) AWSElasticLoadBalancingTargetDescription * _Nullable target; + +/** +The health information for the target.
+ */ +@property (nonatomic, strong) AWSElasticLoadBalancingTargetHealth * _Nullable targetHealth; @end diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.m index ca85bbfa167..3c15ab2d8df 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.m +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.m @@ -18,45 +18,113 @@ NSString *const AWSElasticLoadBalancingErrorDomain = @"com.amazonaws.AWSElasticLoadBalancingErrorDomain"; -@implementation AWSElasticLoadBalancingAccessLog - -+ (NSDictionary *)JSONKeyPathsByPropertyKey { - return @{ - @"emitInterval" : @"EmitInterval", - @"enabled" : @"Enabled", - @"s3BucketName" : @"S3BucketName", - @"s3BucketPrefix" : @"S3BucketPrefix", - }; +@implementation AWSElasticLoadBalancingAction + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"authenticateCognitoConfig" : @"AuthenticateCognitoConfig", + @"authenticateOidcConfig" : @"AuthenticateOidcConfig", + @"fixedResponseConfig" : @"FixedResponseConfig", + @"forwardConfig" : @"ForwardConfig", + @"order" : @"Order", + @"redirectConfig" : @"RedirectConfig", + @"targetGroupArn" : @"TargetGroupArn", + @"types" : @"Type", + }; +} + ++ (NSValueTransformer *)authenticateCognitoConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingAuthenticateCognitoActionConfig class]]; +} + ++ (NSValueTransformer *)authenticateOidcConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingAuthenticateOidcActionConfig class]]; +} + ++ (NSValueTransformer *)fixedResponseConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingFixedResponseActionConfig class]]; +} + ++ (NSValueTransformer *)forwardConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingForwardActionConfig class]]; +} + ++ (NSValueTransformer *)redirectConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingRedirectActionConfig class]]; +} + ++ (NSValueTransformer *)typesJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"forward"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingActionTypeEnumForward); + } + if ([value caseInsensitiveCompare:@"authenticate-oidc"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingActionTypeEnumAuthenticateOidc); + } + if ([value caseInsensitiveCompare:@"authenticate-cognito"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingActionTypeEnumAuthenticateCognito); + } + if ([value caseInsensitiveCompare:@"redirect"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingActionTypeEnumRedirect); + } + if ([value caseInsensitiveCompare:@"fixed-response"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingActionTypeEnumFixedResponse); + } + return @(AWSElasticLoadBalancingActionTypeEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingActionTypeEnumForward: + return @"forward"; + case AWSElasticLoadBalancingActionTypeEnumAuthenticateOidc: + return @"authenticate-oidc"; + case AWSElasticLoadBalancingActionTypeEnumAuthenticateCognito: + return @"authenticate-cognito"; + case AWSElasticLoadBalancingActionTypeEnumRedirect: + return @"redirect"; + case AWSElasticLoadBalancingActionTypeEnumFixedResponse: + return @"fixed-response"; + default: + return nil; + } + }]; } @end -@implementation AWSElasticLoadBalancingAddAvailabilityZonesInput +@implementation AWSElasticLoadBalancingAddListenerCertificatesInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"availabilityZones" : @"AvailabilityZones", - @"loadBalancerName" : @"LoadBalancerName", + @"certificates" : @"Certificates", + @"listenerArn" : @"ListenerArn", }; } ++ (NSValueTransformer *)certificatesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingCertificate class]]; +} + @end -@implementation AWSElasticLoadBalancingAddAvailabilityZonesOutput +@implementation AWSElasticLoadBalancingAddListenerCertificatesOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"availabilityZones" : @"AvailabilityZones", + @"certificates" : @"Certificates", }; } ++ (NSValueTransformer *)certificatesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingCertificate class]]; +} + @end @implementation AWSElasticLoadBalancingAddTagsInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerNames" : @"LoadBalancerNames", + @"resourceArns" : @"ResourceArns", @"tags" : @"Tags", }; } @@ -71,940 +139,1804 @@ @implementation AWSElasticLoadBalancingAddTagsOutput @end -@implementation AWSElasticLoadBalancingAdditionalAttribute +@implementation AWSElasticLoadBalancingAuthenticateCognitoActionConfig + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"authenticationRequestExtraParams" : @"AuthenticationRequestExtraParams", + @"onUnauthenticatedRequest" : @"OnUnauthenticatedRequest", + @"scope" : @"Scope", + @"sessionCookieName" : @"SessionCookieName", + @"sessionTimeout" : @"SessionTimeout", + @"userPoolArn" : @"UserPoolArn", + @"userPoolClientId" : @"UserPoolClientId", + @"userPoolDomain" : @"UserPoolDomain", + }; +} + ++ (NSValueTransformer *)onUnauthenticatedRequestJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"deny"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingAuthenticateCognitoActionConditionalBehaviorEnumDeny); + } + if ([value caseInsensitiveCompare:@"allow"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingAuthenticateCognitoActionConditionalBehaviorEnumAllow); + } + if ([value caseInsensitiveCompare:@"authenticate"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingAuthenticateCognitoActionConditionalBehaviorEnumAuthenticate); + } + return @(AWSElasticLoadBalancingAuthenticateCognitoActionConditionalBehaviorEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingAuthenticateCognitoActionConditionalBehaviorEnumDeny: + return @"deny"; + case AWSElasticLoadBalancingAuthenticateCognitoActionConditionalBehaviorEnumAllow: + return @"allow"; + case AWSElasticLoadBalancingAuthenticateCognitoActionConditionalBehaviorEnumAuthenticate: + return @"authenticate"; + default: + return nil; + } + }]; +} + +@end -+ (NSDictionary *)JSONKeyPathsByPropertyKey { - return @{ - @"key" : @"Key", - @"value" : @"Value", - }; +@implementation AWSElasticLoadBalancingAuthenticateOidcActionConfig + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"authenticationRequestExtraParams" : @"AuthenticationRequestExtraParams", + @"authorizationEndpoint" : @"AuthorizationEndpoint", + @"clientId" : @"ClientId", + @"clientSecret" : @"ClientSecret", + @"issuer" : @"Issuer", + @"onUnauthenticatedRequest" : @"OnUnauthenticatedRequest", + @"scope" : @"Scope", + @"sessionCookieName" : @"SessionCookieName", + @"sessionTimeout" : @"SessionTimeout", + @"tokenEndpoint" : @"TokenEndpoint", + @"useExistingClientSecret" : @"UseExistingClientSecret", + @"userInfoEndpoint" : @"UserInfoEndpoint", + }; +} + ++ (NSValueTransformer *)onUnauthenticatedRequestJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"deny"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingAuthenticateOidcActionConditionalBehaviorEnumDeny); + } + if ([value caseInsensitiveCompare:@"allow"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingAuthenticateOidcActionConditionalBehaviorEnumAllow); + } + if ([value caseInsensitiveCompare:@"authenticate"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingAuthenticateOidcActionConditionalBehaviorEnumAuthenticate); + } + return @(AWSElasticLoadBalancingAuthenticateOidcActionConditionalBehaviorEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingAuthenticateOidcActionConditionalBehaviorEnumDeny: + return @"deny"; + case AWSElasticLoadBalancingAuthenticateOidcActionConditionalBehaviorEnumAllow: + return @"allow"; + case AWSElasticLoadBalancingAuthenticateOidcActionConditionalBehaviorEnumAuthenticate: + return @"authenticate"; + default: + return nil; + } + }]; } @end -@implementation AWSElasticLoadBalancingAppCookieStickinessPolicy +@implementation AWSElasticLoadBalancingAvailabilityZone + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"cookieName" : @"CookieName", - @"policyName" : @"PolicyName", + @"loadBalancerAddresses" : @"LoadBalancerAddresses", + @"subnetId" : @"SubnetId", + @"zoneName" : @"ZoneName", }; } ++ (NSValueTransformer *)loadBalancerAddressesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancerAddress class]]; +} + @end -@implementation AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerInput +@implementation AWSElasticLoadBalancingCertificate + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", - @"securityGroups" : @"SecurityGroups", + @"certificateArn" : @"CertificateArn", + @"isDefault" : @"IsDefault", }; } @end -@implementation AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerOutput +@implementation AWSElasticLoadBalancingCipher + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"securityGroups" : @"SecurityGroups", + @"name" : @"Name", + @"priority" : @"Priority", }; } @end -@implementation AWSElasticLoadBalancingAttachLoadBalancerToSubnetsInput +@implementation AWSElasticLoadBalancingCreateListenerInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", - @"subnets" : @"Subnets", - }; + @"alpnPolicy" : @"AlpnPolicy", + @"certificates" : @"Certificates", + @"defaultActions" : @"DefaultActions", + @"loadBalancerArn" : @"LoadBalancerArn", + @"port" : @"Port", + @"protocols" : @"Protocol", + @"sslPolicy" : @"SslPolicy", + }; +} + ++ (NSValueTransformer *)certificatesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingCertificate class]]; +} + ++ (NSValueTransformer *)defaultActionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAction class]]; +} + ++ (NSValueTransformer *)protocolsJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"HTTP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttp); + } + if ([value caseInsensitiveCompare:@"HTTPS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttps); + } + if ([value caseInsensitiveCompare:@"TCP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcp); + } + if ([value caseInsensitiveCompare:@"TLS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTls); + } + if ([value caseInsensitiveCompare:@"UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumUdp); + } + if ([value caseInsensitiveCompare:@"TCP_UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcpUdp); + } + return @(AWSElasticLoadBalancingProtocolEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingProtocolEnumHttp: + return @"HTTP"; + case AWSElasticLoadBalancingProtocolEnumHttps: + return @"HTTPS"; + case AWSElasticLoadBalancingProtocolEnumTcp: + return @"TCP"; + case AWSElasticLoadBalancingProtocolEnumTls: + return @"TLS"; + case AWSElasticLoadBalancingProtocolEnumUdp: + return @"UDP"; + case AWSElasticLoadBalancingProtocolEnumTcpUdp: + return @"TCP_UDP"; + default: + return nil; + } + }]; } @end -@implementation AWSElasticLoadBalancingAttachLoadBalancerToSubnetsOutput +@implementation AWSElasticLoadBalancingCreateListenerOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"subnets" : @"Subnets", + @"listeners" : @"Listeners", }; } ++ (NSValueTransformer *)listenersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingListener class]]; +} + @end -@implementation AWSElasticLoadBalancingBackendServerDescription +@implementation AWSElasticLoadBalancingCreateLoadBalancerInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instancePort" : @"InstancePort", - @"policyNames" : @"PolicyNames", - }; + @"ipAddressType" : @"IpAddressType", + @"name" : @"Name", + @"scheme" : @"Scheme", + @"securityGroups" : @"SecurityGroups", + @"subnetMappings" : @"SubnetMappings", + @"subnets" : @"Subnets", + @"tags" : @"Tags", + @"types" : @"Type", + }; +} + ++ (NSValueTransformer *)ipAddressTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeIpv4); + } + if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstack); + } + return @(AWSElasticLoadBalancingIpAddressTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingIpAddressTypeIpv4: + return @"ipv4"; + case AWSElasticLoadBalancingIpAddressTypeDualstack: + return @"dualstack"; + default: + return nil; + } + }]; } -@end ++ (NSValueTransformer *)schemeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"internet-facing"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerSchemeEnumInternetFacing); + } + if ([value caseInsensitiveCompare:@"internal"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerSchemeEnumInternal); + } + return @(AWSElasticLoadBalancingLoadBalancerSchemeEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingLoadBalancerSchemeEnumInternetFacing: + return @"internet-facing"; + case AWSElasticLoadBalancingLoadBalancerSchemeEnumInternal: + return @"internal"; + default: + return nil; + } + }]; +} -@implementation AWSElasticLoadBalancingConfigureHealthCheckInput ++ (NSValueTransformer *)subnetMappingsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingSubnetMapping class]]; +} -+ (NSDictionary *)JSONKeyPathsByPropertyKey { - return @{ - @"healthCheck" : @"HealthCheck", - @"loadBalancerName" : @"LoadBalancerName", - }; ++ (NSValueTransformer *)tagsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTag class]]; } -+ (NSValueTransformer *)healthCheckJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingHealthCheck class]]; ++ (NSValueTransformer *)typesJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"application"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerTypeEnumApplication); + } + if ([value caseInsensitiveCompare:@"network"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerTypeEnumNetwork); + } + return @(AWSElasticLoadBalancingLoadBalancerTypeEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingLoadBalancerTypeEnumApplication: + return @"application"; + case AWSElasticLoadBalancingLoadBalancerTypeEnumNetwork: + return @"network"; + default: + return nil; + } + }]; } @end -@implementation AWSElasticLoadBalancingConfigureHealthCheckOutput +@implementation AWSElasticLoadBalancingCreateLoadBalancerOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"healthCheck" : @"HealthCheck", + @"loadBalancers" : @"LoadBalancers", }; } -+ (NSValueTransformer *)healthCheckJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingHealthCheck class]]; ++ (NSValueTransformer *)loadBalancersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancer class]]; } @end -@implementation AWSElasticLoadBalancingConnectionDraining +@implementation AWSElasticLoadBalancingCreateRuleInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"enabled" : @"Enabled", - @"timeout" : @"Timeout", + @"actions" : @"Actions", + @"conditions" : @"Conditions", + @"listenerArn" : @"ListenerArn", + @"priority" : @"Priority", }; } ++ (NSValueTransformer *)actionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAction class]]; +} + ++ (NSValueTransformer *)conditionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingRuleCondition class]]; +} + @end -@implementation AWSElasticLoadBalancingConnectionSettings +@implementation AWSElasticLoadBalancingCreateRuleOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"idleTimeout" : @"IdleTimeout", + @"rules" : @"Rules", }; } ++ (NSValueTransformer *)rulesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingRule class]]; +} + @end -@implementation AWSElasticLoadBalancingCreateAccessPointInput +@implementation AWSElasticLoadBalancingCreateTargetGroupInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"availabilityZones" : @"AvailabilityZones", - @"listeners" : @"Listeners", - @"loadBalancerName" : @"LoadBalancerName", - @"scheme" : @"Scheme", - @"securityGroups" : @"SecurityGroups", - @"subnets" : @"Subnets", - @"tags" : @"Tags", - }; + @"healthCheckEnabled" : @"HealthCheckEnabled", + @"healthCheckIntervalSeconds" : @"HealthCheckIntervalSeconds", + @"healthCheckPath" : @"HealthCheckPath", + @"healthCheckPort" : @"HealthCheckPort", + @"healthCheckProtocol" : @"HealthCheckProtocol", + @"healthCheckTimeoutSeconds" : @"HealthCheckTimeoutSeconds", + @"healthyThresholdCount" : @"HealthyThresholdCount", + @"matcher" : @"Matcher", + @"name" : @"Name", + @"port" : @"Port", + @"protocols" : @"Protocol", + @"targetType" : @"TargetType", + @"unhealthyThresholdCount" : @"UnhealthyThresholdCount", + @"vpcId" : @"VpcId", + }; +} + ++ (NSValueTransformer *)healthCheckProtocolJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"HTTP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttp); + } + if ([value caseInsensitiveCompare:@"HTTPS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttps); + } + if ([value caseInsensitiveCompare:@"TCP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcp); + } + if ([value caseInsensitiveCompare:@"TLS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTls); + } + if ([value caseInsensitiveCompare:@"UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumUdp); + } + if ([value caseInsensitiveCompare:@"TCP_UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcpUdp); + } + return @(AWSElasticLoadBalancingProtocolEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingProtocolEnumHttp: + return @"HTTP"; + case AWSElasticLoadBalancingProtocolEnumHttps: + return @"HTTPS"; + case AWSElasticLoadBalancingProtocolEnumTcp: + return @"TCP"; + case AWSElasticLoadBalancingProtocolEnumTls: + return @"TLS"; + case AWSElasticLoadBalancingProtocolEnumUdp: + return @"UDP"; + case AWSElasticLoadBalancingProtocolEnumTcpUdp: + return @"TCP_UDP"; + default: + return nil; + } + }]; } -+ (NSValueTransformer *)listenersJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingListener class]]; ++ (NSValueTransformer *)matcherJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingMatcher class]]; +} + ++ (NSValueTransformer *)protocolsJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"HTTP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttp); + } + if ([value caseInsensitiveCompare:@"HTTPS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttps); + } + if ([value caseInsensitiveCompare:@"TCP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcp); + } + if ([value caseInsensitiveCompare:@"TLS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTls); + } + if ([value caseInsensitiveCompare:@"UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumUdp); + } + if ([value caseInsensitiveCompare:@"TCP_UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcpUdp); + } + return @(AWSElasticLoadBalancingProtocolEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingProtocolEnumHttp: + return @"HTTP"; + case AWSElasticLoadBalancingProtocolEnumHttps: + return @"HTTPS"; + case AWSElasticLoadBalancingProtocolEnumTcp: + return @"TCP"; + case AWSElasticLoadBalancingProtocolEnumTls: + return @"TLS"; + case AWSElasticLoadBalancingProtocolEnumUdp: + return @"UDP"; + case AWSElasticLoadBalancingProtocolEnumTcpUdp: + return @"TCP_UDP"; + default: + return nil; + } + }]; } -+ (NSValueTransformer *)tagsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTag class]]; ++ (NSValueTransformer *)targetTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"instance"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetTypeEnumInstance); + } + if ([value caseInsensitiveCompare:@"ip"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetTypeEnumIp); + } + if ([value caseInsensitiveCompare:@"lambda"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetTypeEnumLambda); + } + return @(AWSElasticLoadBalancingTargetTypeEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingTargetTypeEnumInstance: + return @"instance"; + case AWSElasticLoadBalancingTargetTypeEnumIp: + return @"ip"; + case AWSElasticLoadBalancingTargetTypeEnumLambda: + return @"lambda"; + default: + return nil; + } + }]; } @end -@implementation AWSElasticLoadBalancingCreateAccessPointOutput +@implementation AWSElasticLoadBalancingCreateTargetGroupOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"DNSName" : @"DNSName", + @"targetGroups" : @"TargetGroups", }; } ++ (NSValueTransformer *)targetGroupsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetGroup class]]; +} + @end -@implementation AWSElasticLoadBalancingCreateAppCookieStickinessPolicyInput +@implementation AWSElasticLoadBalancingDeleteListenerInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"cookieName" : @"CookieName", - @"loadBalancerName" : @"LoadBalancerName", - @"policyName" : @"PolicyName", + @"listenerArn" : @"ListenerArn", }; } @end -@implementation AWSElasticLoadBalancingCreateAppCookieStickinessPolicyOutput +@implementation AWSElasticLoadBalancingDeleteListenerOutput @end -@implementation AWSElasticLoadBalancingCreateLBCookieStickinessPolicyInput +@implementation AWSElasticLoadBalancingDeleteLoadBalancerInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"cookieExpirationPeriod" : @"CookieExpirationPeriod", - @"loadBalancerName" : @"LoadBalancerName", - @"policyName" : @"PolicyName", + @"loadBalancerArn" : @"LoadBalancerArn", }; } @end -@implementation AWSElasticLoadBalancingCreateLBCookieStickinessPolicyOutput +@implementation AWSElasticLoadBalancingDeleteLoadBalancerOutput @end -@implementation AWSElasticLoadBalancingCreateLoadBalancerListenerInput +@implementation AWSElasticLoadBalancingDeleteRuleInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"listeners" : @"Listeners", - @"loadBalancerName" : @"LoadBalancerName", + @"ruleArn" : @"RuleArn", }; } -+ (NSValueTransformer *)listenersJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingListener class]]; +@end + +@implementation AWSElasticLoadBalancingDeleteRuleOutput + +@end + +@implementation AWSElasticLoadBalancingDeleteTargetGroupInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"targetGroupArn" : @"TargetGroupArn", + }; } @end -@implementation AWSElasticLoadBalancingCreateLoadBalancerListenerOutput +@implementation AWSElasticLoadBalancingDeleteTargetGroupOutput @end -@implementation AWSElasticLoadBalancingCreateLoadBalancerPolicyInput +@implementation AWSElasticLoadBalancingDeregisterTargetsInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", - @"policyAttributes" : @"PolicyAttributes", - @"policyName" : @"PolicyName", - @"policyTypeName" : @"PolicyTypeName", + @"targetGroupArn" : @"TargetGroupArn", + @"targets" : @"Targets", }; } -+ (NSValueTransformer *)policyAttributesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingPolicyAttribute class]]; ++ (NSValueTransformer *)targetsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetDescription class]]; } @end -@implementation AWSElasticLoadBalancingCreateLoadBalancerPolicyOutput +@implementation AWSElasticLoadBalancingDeregisterTargetsOutput @end -@implementation AWSElasticLoadBalancingCrossZoneLoadBalancing +@implementation AWSElasticLoadBalancingDescribeAccountLimitsInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"enabled" : @"Enabled", + @"marker" : @"Marker", + @"pageSize" : @"PageSize", }; } @end -@implementation AWSElasticLoadBalancingDeleteAccessPointInput +@implementation AWSElasticLoadBalancingDescribeAccountLimitsOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", + @"limits" : @"Limits", + @"nextMarker" : @"NextMarker", }; } ++ (NSValueTransformer *)limitsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLimit class]]; +} + @end -@implementation AWSElasticLoadBalancingDeleteAccessPointOutput +@implementation AWSElasticLoadBalancingDescribeListenerCertificatesInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"listenerArn" : @"ListenerArn", + @"marker" : @"Marker", + @"pageSize" : @"PageSize", + }; +} @end -@implementation AWSElasticLoadBalancingDeleteLoadBalancerListenerInput +@implementation AWSElasticLoadBalancingDescribeListenerCertificatesOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", - @"loadBalancerPorts" : @"LoadBalancerPorts", + @"certificates" : @"Certificates", + @"nextMarker" : @"NextMarker", }; } ++ (NSValueTransformer *)certificatesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingCertificate class]]; +} + @end -@implementation AWSElasticLoadBalancingDeleteLoadBalancerListenerOutput +@implementation AWSElasticLoadBalancingDescribeListenersInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"listenerArns" : @"ListenerArns", + @"loadBalancerArn" : @"LoadBalancerArn", + @"marker" : @"Marker", + @"pageSize" : @"PageSize", + }; +} @end -@implementation AWSElasticLoadBalancingDeleteLoadBalancerPolicyInput +@implementation AWSElasticLoadBalancingDescribeListenersOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", - @"policyName" : @"PolicyName", + @"listeners" : @"Listeners", + @"nextMarker" : @"NextMarker", }; } ++ (NSValueTransformer *)listenersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingListener class]]; +} + @end -@implementation AWSElasticLoadBalancingDeleteLoadBalancerPolicyOutput +@implementation AWSElasticLoadBalancingDescribeLoadBalancerAttributesInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"loadBalancerArn" : @"LoadBalancerArn", + }; +} @end -@implementation AWSElasticLoadBalancingDeregisterEndPointsInput +@implementation AWSElasticLoadBalancingDescribeLoadBalancerAttributesOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instances" : @"Instances", - @"loadBalancerName" : @"LoadBalancerName", + @"attributes" : @"Attributes", }; } -+ (NSValueTransformer *)instancesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingInstance class]]; ++ (NSValueTransformer *)attributesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancerAttribute class]]; } @end -@implementation AWSElasticLoadBalancingDeregisterEndPointsOutput +@implementation AWSElasticLoadBalancingDescribeLoadBalancersInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instances" : @"Instances", + @"loadBalancerArns" : @"LoadBalancerArns", + @"marker" : @"Marker", + @"names" : @"Names", + @"pageSize" : @"PageSize", }; } -+ (NSValueTransformer *)instancesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingInstance class]]; +@end + +@implementation AWSElasticLoadBalancingDescribeLoadBalancersOutput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"loadBalancers" : @"LoadBalancers", + @"nextMarker" : @"NextMarker", + }; +} + ++ (NSValueTransformer *)loadBalancersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancer class]]; } @end -@implementation AWSElasticLoadBalancingDescribeAccessPointsInput +@implementation AWSElasticLoadBalancingDescribeRulesInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerNames" : @"LoadBalancerNames", + @"listenerArn" : @"ListenerArn", @"marker" : @"Marker", @"pageSize" : @"PageSize", + @"ruleArns" : @"RuleArns", }; } @end -@implementation AWSElasticLoadBalancingDescribeAccessPointsOutput +@implementation AWSElasticLoadBalancingDescribeRulesOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerDescriptions" : @"LoadBalancerDescriptions", @"nextMarker" : @"NextMarker", + @"rules" : @"Rules", }; } -+ (NSValueTransformer *)loadBalancerDescriptionsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancerDescription class]]; ++ (NSValueTransformer *)rulesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingRule class]]; } @end -@implementation AWSElasticLoadBalancingDescribeAccountLimitsInput +@implementation AWSElasticLoadBalancingDescribeSSLPoliciesInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"marker" : @"Marker", + @"names" : @"Names", @"pageSize" : @"PageSize", }; } @end -@implementation AWSElasticLoadBalancingDescribeAccountLimitsOutput +@implementation AWSElasticLoadBalancingDescribeSSLPoliciesOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"limits" : @"Limits", @"nextMarker" : @"NextMarker", + @"sslPolicies" : @"SslPolicies", }; } -+ (NSValueTransformer *)limitsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLimit class]]; ++ (NSValueTransformer *)sslPoliciesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingSslPolicy class]]; } @end -@implementation AWSElasticLoadBalancingDescribeEndPointStateInput +@implementation AWSElasticLoadBalancingDescribeTagsInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instances" : @"Instances", - @"loadBalancerName" : @"LoadBalancerName", + @"resourceArns" : @"ResourceArns", }; } -+ (NSValueTransformer *)instancesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingInstance class]]; -} - @end -@implementation AWSElasticLoadBalancingDescribeEndPointStateOutput +@implementation AWSElasticLoadBalancingDescribeTagsOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instanceStates" : @"InstanceStates", + @"tagDescriptions" : @"TagDescriptions", }; } -+ (NSValueTransformer *)instanceStatesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingInstanceState class]]; ++ (NSValueTransformer *)tagDescriptionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTagDescription class]]; } @end -@implementation AWSElasticLoadBalancingDescribeLoadBalancerAttributesInput +@implementation AWSElasticLoadBalancingDescribeTargetGroupAttributesInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", + @"targetGroupArn" : @"TargetGroupArn", }; } @end -@implementation AWSElasticLoadBalancingDescribeLoadBalancerAttributesOutput +@implementation AWSElasticLoadBalancingDescribeTargetGroupAttributesOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerAttributes" : @"LoadBalancerAttributes", + @"attributes" : @"Attributes", }; } -+ (NSValueTransformer *)loadBalancerAttributesJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancerAttributes class]]; ++ (NSValueTransformer *)attributesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetGroupAttribute class]]; } @end -@implementation AWSElasticLoadBalancingDescribeLoadBalancerPoliciesInput +@implementation AWSElasticLoadBalancingDescribeTargetGroupsInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", - @"policyNames" : @"PolicyNames", + @"loadBalancerArn" : @"LoadBalancerArn", + @"marker" : @"Marker", + @"names" : @"Names", + @"pageSize" : @"PageSize", + @"targetGroupArns" : @"TargetGroupArns", }; } @end -@implementation AWSElasticLoadBalancingDescribeLoadBalancerPoliciesOutput +@implementation AWSElasticLoadBalancingDescribeTargetGroupsOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"policyDescriptions" : @"PolicyDescriptions", + @"nextMarker" : @"NextMarker", + @"targetGroups" : @"TargetGroups", }; } -+ (NSValueTransformer *)policyDescriptionsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingPolicyDescription class]]; ++ (NSValueTransformer *)targetGroupsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetGroup class]]; } @end -@implementation AWSElasticLoadBalancingDescribeLoadBalancerPolicyTypesInput +@implementation AWSElasticLoadBalancingDescribeTargetHealthInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"policyTypeNames" : @"PolicyTypeNames", + @"targetGroupArn" : @"TargetGroupArn", + @"targets" : @"Targets", }; } ++ (NSValueTransformer *)targetsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetDescription class]]; +} + @end -@implementation AWSElasticLoadBalancingDescribeLoadBalancerPolicyTypesOutput +@implementation AWSElasticLoadBalancingDescribeTargetHealthOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"policyTypeDescriptions" : @"PolicyTypeDescriptions", + @"targetHealthDescriptions" : @"TargetHealthDescriptions", }; } -+ (NSValueTransformer *)policyTypeDescriptionsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingPolicyTypeDescription class]]; ++ (NSValueTransformer *)targetHealthDescriptionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetHealthDescription class]]; } @end -@implementation AWSElasticLoadBalancingDescribeTagsInput +@implementation AWSElasticLoadBalancingFixedResponseActionConfig + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerNames" : @"LoadBalancerNames", + @"contentType" : @"ContentType", + @"messageBody" : @"MessageBody", + @"statusCode" : @"StatusCode", }; } @end -@implementation AWSElasticLoadBalancingDescribeTagsOutput +@implementation AWSElasticLoadBalancingForwardActionConfig + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"tagDescriptions" : @"TagDescriptions", + @"targetGroupStickinessConfig" : @"TargetGroupStickinessConfig", + @"targetGroups" : @"TargetGroups", }; } -+ (NSValueTransformer *)tagDescriptionsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTagDescription class]]; ++ (NSValueTransformer *)targetGroupStickinessConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingTargetGroupStickinessConfig class]]; +} + ++ (NSValueTransformer *)targetGroupsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetGroupTuple class]]; } @end -@implementation AWSElasticLoadBalancingDetachLoadBalancerFromSubnetsInput +@implementation AWSElasticLoadBalancingHostHeaderConditionConfig + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", - @"subnets" : @"Subnets", + @"values" : @"Values", }; } @end -@implementation AWSElasticLoadBalancingDetachLoadBalancerFromSubnetsOutput +@implementation AWSElasticLoadBalancingHttpHeaderConditionConfig + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"subnets" : @"Subnets", + @"httpHeaderName" : @"HttpHeaderName", + @"values" : @"Values", }; } @end -@implementation AWSElasticLoadBalancingHealthCheck +@implementation AWSElasticLoadBalancingHttpRequestMethodConditionConfig + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"healthyThreshold" : @"HealthyThreshold", - @"interval" : @"Interval", - @"target" : @"Target", - @"timeout" : @"Timeout", - @"unhealthyThreshold" : @"UnhealthyThreshold", + @"values" : @"Values", }; } @end -@implementation AWSElasticLoadBalancingInstance +@implementation AWSElasticLoadBalancingLimit + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instanceId" : @"InstanceId", + @"max" : @"Max", + @"name" : @"Name", }; } @end -@implementation AWSElasticLoadBalancingInstanceState +@implementation AWSElasticLoadBalancingListener + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"detail" : @"Description", - @"instanceId" : @"InstanceId", - @"reasonCode" : @"ReasonCode", + @"alpnPolicy" : @"AlpnPolicy", + @"certificates" : @"Certificates", + @"defaultActions" : @"DefaultActions", + @"listenerArn" : @"ListenerArn", + @"loadBalancerArn" : @"LoadBalancerArn", + @"port" : @"Port", + @"protocols" : @"Protocol", + @"sslPolicy" : @"SslPolicy", + }; +} + ++ (NSValueTransformer *)certificatesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingCertificate class]]; +} + ++ (NSValueTransformer *)defaultActionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAction class]]; +} + ++ (NSValueTransformer *)protocolsJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"HTTP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttp); + } + if ([value caseInsensitiveCompare:@"HTTPS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttps); + } + if ([value caseInsensitiveCompare:@"TCP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcp); + } + if ([value caseInsensitiveCompare:@"TLS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTls); + } + if ([value caseInsensitiveCompare:@"UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumUdp); + } + if ([value caseInsensitiveCompare:@"TCP_UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcpUdp); + } + return @(AWSElasticLoadBalancingProtocolEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingProtocolEnumHttp: + return @"HTTP"; + case AWSElasticLoadBalancingProtocolEnumHttps: + return @"HTTPS"; + case AWSElasticLoadBalancingProtocolEnumTcp: + return @"TCP"; + case AWSElasticLoadBalancingProtocolEnumTls: + return @"TLS"; + case AWSElasticLoadBalancingProtocolEnumUdp: + return @"UDP"; + case AWSElasticLoadBalancingProtocolEnumTcpUdp: + return @"TCP_UDP"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSElasticLoadBalancingLoadBalancer + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"availabilityZones" : @"AvailabilityZones", + @"canonicalHostedZoneId" : @"CanonicalHostedZoneId", + @"createdTime" : @"CreatedTime", + @"DNSName" : @"DNSName", + @"ipAddressType" : @"IpAddressType", + @"loadBalancerArn" : @"LoadBalancerArn", + @"loadBalancerName" : @"LoadBalancerName", + @"scheme" : @"Scheme", + @"securityGroups" : @"SecurityGroups", @"state" : @"State", + @"types" : @"Type", + @"vpcId" : @"VpcId", }; } ++ (NSValueTransformer *)availabilityZonesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAvailabilityZone class]]; +} + ++ (NSValueTransformer *)createdTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)ipAddressTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeIpv4); + } + if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstack); + } + return @(AWSElasticLoadBalancingIpAddressTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingIpAddressTypeIpv4: + return @"ipv4"; + case AWSElasticLoadBalancingIpAddressTypeDualstack: + return @"dualstack"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)schemeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"internet-facing"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerSchemeEnumInternetFacing); + } + if ([value caseInsensitiveCompare:@"internal"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerSchemeEnumInternal); + } + return @(AWSElasticLoadBalancingLoadBalancerSchemeEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingLoadBalancerSchemeEnumInternetFacing: + return @"internet-facing"; + case AWSElasticLoadBalancingLoadBalancerSchemeEnumInternal: + return @"internal"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)stateJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancerState class]]; +} + ++ (NSValueTransformer *)typesJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"application"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerTypeEnumApplication); + } + if ([value caseInsensitiveCompare:@"network"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerTypeEnumNetwork); + } + return @(AWSElasticLoadBalancingLoadBalancerTypeEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingLoadBalancerTypeEnumApplication: + return @"application"; + case AWSElasticLoadBalancingLoadBalancerTypeEnumNetwork: + return @"network"; + default: + return nil; + } + }]; +} + @end -@implementation AWSElasticLoadBalancingLBCookieStickinessPolicy +@implementation AWSElasticLoadBalancingLoadBalancerAddress + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"cookieExpirationPeriod" : @"CookieExpirationPeriod", - @"policyName" : @"PolicyName", + @"allocationId" : @"AllocationId", + @"ipAddress" : @"IpAddress", + @"privateIPv4Address" : @"PrivateIPv4Address", }; } @end -@implementation AWSElasticLoadBalancingLimit +@implementation AWSElasticLoadBalancingLoadBalancerAttribute + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"max" : @"Max", - @"name" : @"Name", + @"key" : @"Key", + @"value" : @"Value", }; } @end -@implementation AWSElasticLoadBalancingListener +@implementation AWSElasticLoadBalancingLoadBalancerState + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instancePort" : @"InstancePort", - @"instanceProtocol" : @"InstanceProtocol", - @"loadBalancerPort" : @"LoadBalancerPort", - @"protocols" : @"Protocol", - @"SSLCertificateId" : @"SSLCertificateId", + @"code" : @"Code", + @"reason" : @"Reason", }; } ++ (NSValueTransformer *)codeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerStateEnumActive); + } + if ([value caseInsensitiveCompare:@"provisioning"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerStateEnumProvisioning); + } + if ([value caseInsensitiveCompare:@"active_impaired"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerStateEnumActiveImpaired); + } + if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingLoadBalancerStateEnumFailed); + } + return @(AWSElasticLoadBalancingLoadBalancerStateEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingLoadBalancerStateEnumActive: + return @"active"; + case AWSElasticLoadBalancingLoadBalancerStateEnumProvisioning: + return @"provisioning"; + case AWSElasticLoadBalancingLoadBalancerStateEnumActiveImpaired: + return @"active_impaired"; + case AWSElasticLoadBalancingLoadBalancerStateEnumFailed: + return @"failed"; + default: + return nil; + } + }]; +} + @end -@implementation AWSElasticLoadBalancingListenerDescription +@implementation AWSElasticLoadBalancingMatcher + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"listener" : @"Listener", - @"policyNames" : @"PolicyNames", + @"httpCode" : @"HttpCode", }; } -+ (NSValueTransformer *)listenerJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingListener class]]; +@end + +@implementation AWSElasticLoadBalancingModifyListenerInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"alpnPolicy" : @"AlpnPolicy", + @"certificates" : @"Certificates", + @"defaultActions" : @"DefaultActions", + @"listenerArn" : @"ListenerArn", + @"port" : @"Port", + @"protocols" : @"Protocol", + @"sslPolicy" : @"SslPolicy", + }; +} + ++ (NSValueTransformer *)certificatesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingCertificate class]]; +} + ++ (NSValueTransformer *)defaultActionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAction class]]; +} + ++ (NSValueTransformer *)protocolsJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"HTTP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttp); + } + if ([value caseInsensitiveCompare:@"HTTPS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttps); + } + if ([value caseInsensitiveCompare:@"TCP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcp); + } + if ([value caseInsensitiveCompare:@"TLS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTls); + } + if ([value caseInsensitiveCompare:@"UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumUdp); + } + if ([value caseInsensitiveCompare:@"TCP_UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcpUdp); + } + return @(AWSElasticLoadBalancingProtocolEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingProtocolEnumHttp: + return @"HTTP"; + case AWSElasticLoadBalancingProtocolEnumHttps: + return @"HTTPS"; + case AWSElasticLoadBalancingProtocolEnumTcp: + return @"TCP"; + case AWSElasticLoadBalancingProtocolEnumTls: + return @"TLS"; + case AWSElasticLoadBalancingProtocolEnumUdp: + return @"UDP"; + case AWSElasticLoadBalancingProtocolEnumTcpUdp: + return @"TCP_UDP"; + default: + return nil; + } + }]; } @end -@implementation AWSElasticLoadBalancingLoadBalancerAttributes +@implementation AWSElasticLoadBalancingModifyListenerOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"accessLog" : @"AccessLog", - @"additionalAttributes" : @"AdditionalAttributes", - @"connectionDraining" : @"ConnectionDraining", - @"connectionSettings" : @"ConnectionSettings", - @"crossZoneLoadBalancing" : @"CrossZoneLoadBalancing", + @"listeners" : @"Listeners", }; } -+ (NSValueTransformer *)accessLogJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingAccessLog class]]; ++ (NSValueTransformer *)listenersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingListener class]]; } -+ (NSValueTransformer *)additionalAttributesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAdditionalAttribute class]]; +@end + +@implementation AWSElasticLoadBalancingModifyLoadBalancerAttributesInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"attributes" : @"Attributes", + @"loadBalancerArn" : @"LoadBalancerArn", + }; } -+ (NSValueTransformer *)connectionDrainingJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingConnectionDraining class]]; ++ (NSValueTransformer *)attributesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancerAttribute class]]; } -+ (NSValueTransformer *)connectionSettingsJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingConnectionSettings class]]; +@end + +@implementation AWSElasticLoadBalancingModifyLoadBalancerAttributesOutput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"attributes" : @"Attributes", + }; } -+ (NSValueTransformer *)crossZoneLoadBalancingJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingCrossZoneLoadBalancing class]]; ++ (NSValueTransformer *)attributesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancerAttribute class]]; } @end -@implementation AWSElasticLoadBalancingLoadBalancerDescription +@implementation AWSElasticLoadBalancingModifyRuleInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"availabilityZones" : @"AvailabilityZones", - @"backendServerDescriptions" : @"BackendServerDescriptions", - @"canonicalHostedZoneName" : @"CanonicalHostedZoneName", - @"canonicalHostedZoneNameID" : @"CanonicalHostedZoneNameID", - @"createdTime" : @"CreatedTime", - @"DNSName" : @"DNSName", - @"healthCheck" : @"HealthCheck", - @"instances" : @"Instances", - @"listenerDescriptions" : @"ListenerDescriptions", - @"loadBalancerName" : @"LoadBalancerName", - @"policies" : @"Policies", - @"scheme" : @"Scheme", - @"securityGroups" : @"SecurityGroups", - @"sourceSecurityGroup" : @"SourceSecurityGroup", - @"subnets" : @"Subnets", - @"VPCId" : @"VPCId", + @"actions" : @"Actions", + @"conditions" : @"Conditions", + @"ruleArn" : @"RuleArn", }; } -+ (NSValueTransformer *)backendServerDescriptionsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingBackendServerDescription class]]; ++ (NSValueTransformer *)actionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAction class]]; } -+ (NSValueTransformer *)createdTimeJSONTransformer { - return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { - return [NSDate aws_dateFromString:str]; - } reverseBlock:^id(NSDate *date) { -return [date aws_stringValue:AWSDateISO8601DateFormat1]; - }]; ++ (NSValueTransformer *)conditionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingRuleCondition class]]; } -+ (NSValueTransformer *)healthCheckJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingHealthCheck class]]; -} +@end + +@implementation AWSElasticLoadBalancingModifyRuleOutput -+ (NSValueTransformer *)instancesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingInstance class]]; ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"rules" : @"Rules", + }; } -+ (NSValueTransformer *)listenerDescriptionsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingListenerDescription class]]; ++ (NSValueTransformer *)rulesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingRule class]]; } -+ (NSValueTransformer *)policiesJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingPolicies class]]; +@end + +@implementation AWSElasticLoadBalancingModifyTargetGroupAttributesInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"attributes" : @"Attributes", + @"targetGroupArn" : @"TargetGroupArn", + }; } -+ (NSValueTransformer *)sourceSecurityGroupJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingSourceSecurityGroup class]]; ++ (NSValueTransformer *)attributesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetGroupAttribute class]]; } @end -@implementation AWSElasticLoadBalancingModifyLoadBalancerAttributesInput +@implementation AWSElasticLoadBalancingModifyTargetGroupAttributesOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerAttributes" : @"LoadBalancerAttributes", - @"loadBalancerName" : @"LoadBalancerName", + @"attributes" : @"Attributes", }; } -+ (NSValueTransformer *)loadBalancerAttributesJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancerAttributes class]]; ++ (NSValueTransformer *)attributesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetGroupAttribute class]]; } @end -@implementation AWSElasticLoadBalancingModifyLoadBalancerAttributesOutput +@implementation AWSElasticLoadBalancingModifyTargetGroupInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerAttributes" : @"LoadBalancerAttributes", - @"loadBalancerName" : @"LoadBalancerName", + @"healthCheckEnabled" : @"HealthCheckEnabled", + @"healthCheckIntervalSeconds" : @"HealthCheckIntervalSeconds", + @"healthCheckPath" : @"HealthCheckPath", + @"healthCheckPort" : @"HealthCheckPort", + @"healthCheckProtocol" : @"HealthCheckProtocol", + @"healthCheckTimeoutSeconds" : @"HealthCheckTimeoutSeconds", + @"healthyThresholdCount" : @"HealthyThresholdCount", + @"matcher" : @"Matcher", + @"targetGroupArn" : @"TargetGroupArn", + @"unhealthyThresholdCount" : @"UnhealthyThresholdCount", }; } -+ (NSValueTransformer *)loadBalancerAttributesJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingLoadBalancerAttributes class]]; ++ (NSValueTransformer *)healthCheckProtocolJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"HTTP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttp); + } + if ([value caseInsensitiveCompare:@"HTTPS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttps); + } + if ([value caseInsensitiveCompare:@"TCP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcp); + } + if ([value caseInsensitiveCompare:@"TLS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTls); + } + if ([value caseInsensitiveCompare:@"UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumUdp); + } + if ([value caseInsensitiveCompare:@"TCP_UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcpUdp); + } + return @(AWSElasticLoadBalancingProtocolEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingProtocolEnumHttp: + return @"HTTP"; + case AWSElasticLoadBalancingProtocolEnumHttps: + return @"HTTPS"; + case AWSElasticLoadBalancingProtocolEnumTcp: + return @"TCP"; + case AWSElasticLoadBalancingProtocolEnumTls: + return @"TLS"; + case AWSElasticLoadBalancingProtocolEnumUdp: + return @"UDP"; + case AWSElasticLoadBalancingProtocolEnumTcpUdp: + return @"TCP_UDP"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)matcherJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingMatcher class]]; } @end -@implementation AWSElasticLoadBalancingPolicies +@implementation AWSElasticLoadBalancingModifyTargetGroupOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"appCookieStickinessPolicies" : @"AppCookieStickinessPolicies", - @"LBCookieStickinessPolicies" : @"LBCookieStickinessPolicies", - @"otherPolicies" : @"OtherPolicies", + @"targetGroups" : @"TargetGroups", }; } -+ (NSValueTransformer *)appCookieStickinessPoliciesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAppCookieStickinessPolicy class]]; ++ (NSValueTransformer *)targetGroupsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetGroup class]]; } -+ (NSValueTransformer *)LBCookieStickinessPoliciesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingLBCookieStickinessPolicy class]]; +@end + +@implementation AWSElasticLoadBalancingPathPatternConditionConfig + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"values" : @"Values", + }; } @end -@implementation AWSElasticLoadBalancingPolicyAttribute +@implementation AWSElasticLoadBalancingQueryStringConditionConfig + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"attributeName" : @"AttributeName", - @"attributeValue" : @"AttributeValue", + @"values" : @"Values", }; } ++ (NSValueTransformer *)valuesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingQueryStringKeyValuePair class]]; +} + @end -@implementation AWSElasticLoadBalancingPolicyAttributeDescription +@implementation AWSElasticLoadBalancingQueryStringKeyValuePair + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"attributeName" : @"AttributeName", - @"attributeValue" : @"AttributeValue", + @"key" : @"Key", + @"value" : @"Value", }; } @end -@implementation AWSElasticLoadBalancingPolicyAttributeTypeDescription +@implementation AWSElasticLoadBalancingRedirectActionConfig + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"attributeName" : @"AttributeName", - @"attributeType" : @"AttributeType", - @"cardinality" : @"Cardinality", - @"defaultValue" : @"DefaultValue", - @"detail" : @"Description", - }; + @"host" : @"Host", + @"path" : @"Path", + @"port" : @"Port", + @"protocols" : @"Protocol", + @"query" : @"Query", + @"statusCode" : @"StatusCode", + }; +} + ++ (NSValueTransformer *)statusCodeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"HTTP_301"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingRedirectActionStatusCodeEnumHttp301); + } + if ([value caseInsensitiveCompare:@"HTTP_302"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingRedirectActionStatusCodeEnumHttp302); + } + return @(AWSElasticLoadBalancingRedirectActionStatusCodeEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingRedirectActionStatusCodeEnumHttp301: + return @"HTTP_301"; + case AWSElasticLoadBalancingRedirectActionStatusCodeEnumHttp302: + return @"HTTP_302"; + default: + return nil; + } + }]; } @end -@implementation AWSElasticLoadBalancingPolicyDescription +@implementation AWSElasticLoadBalancingRegisterTargetsInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"policyAttributeDescriptions" : @"PolicyAttributeDescriptions", - @"policyName" : @"PolicyName", - @"policyTypeName" : @"PolicyTypeName", + @"targetGroupArn" : @"TargetGroupArn", + @"targets" : @"Targets", }; } -+ (NSValueTransformer *)policyAttributeDescriptionsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingPolicyAttributeDescription class]]; ++ (NSValueTransformer *)targetsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTargetDescription class]]; } @end -@implementation AWSElasticLoadBalancingPolicyTypeDescription +@implementation AWSElasticLoadBalancingRegisterTargetsOutput + +@end + +@implementation AWSElasticLoadBalancingRemoveListenerCertificatesInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"detail" : @"Description", - @"policyAttributeTypeDescriptions" : @"PolicyAttributeTypeDescriptions", - @"policyTypeName" : @"PolicyTypeName", + @"certificates" : @"Certificates", + @"listenerArn" : @"ListenerArn", }; } -+ (NSValueTransformer *)policyAttributeTypeDescriptionsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingPolicyAttributeTypeDescription class]]; ++ (NSValueTransformer *)certificatesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingCertificate class]]; } @end -@implementation AWSElasticLoadBalancingRegisterEndPointsInput +@implementation AWSElasticLoadBalancingRemoveListenerCertificatesOutput + +@end + +@implementation AWSElasticLoadBalancingRemoveTagsInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instances" : @"Instances", - @"loadBalancerName" : @"LoadBalancerName", + @"resourceArns" : @"ResourceArns", + @"tagKeys" : @"TagKeys", + }; +} + +@end + +@implementation AWSElasticLoadBalancingRemoveTagsOutput + +@end + +@implementation AWSElasticLoadBalancingRule + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"actions" : @"Actions", + @"conditions" : @"Conditions", + @"isDefault" : @"IsDefault", + @"priority" : @"Priority", + @"ruleArn" : @"RuleArn", }; } -+ (NSValueTransformer *)instancesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingInstance class]]; ++ (NSValueTransformer *)actionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAction class]]; +} + ++ (NSValueTransformer *)conditionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingRuleCondition class]]; } @end -@implementation AWSElasticLoadBalancingRegisterEndPointsOutput +@implementation AWSElasticLoadBalancingRuleCondition + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instances" : @"Instances", + @"field" : @"Field", + @"hostHeaderConfig" : @"HostHeaderConfig", + @"httpHeaderConfig" : @"HttpHeaderConfig", + @"httpRequestMethodConfig" : @"HttpRequestMethodConfig", + @"pathPatternConfig" : @"PathPatternConfig", + @"queryStringConfig" : @"QueryStringConfig", + @"sourceIpConfig" : @"SourceIpConfig", + @"values" : @"Values", }; } -+ (NSValueTransformer *)instancesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingInstance class]]; ++ (NSValueTransformer *)hostHeaderConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingHostHeaderConditionConfig class]]; +} + ++ (NSValueTransformer *)httpHeaderConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingHttpHeaderConditionConfig class]]; +} + ++ (NSValueTransformer *)httpRequestMethodConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingHttpRequestMethodConditionConfig class]]; +} + ++ (NSValueTransformer *)pathPatternConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingPathPatternConditionConfig class]]; +} + ++ (NSValueTransformer *)queryStringConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingQueryStringConditionConfig class]]; +} + ++ (NSValueTransformer *)sourceIpConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingSourceIpConditionConfig class]]; } @end -@implementation AWSElasticLoadBalancingRemoveAvailabilityZonesInput +@implementation AWSElasticLoadBalancingRulePriorityPair + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"availabilityZones" : @"AvailabilityZones", - @"loadBalancerName" : @"LoadBalancerName", + @"priority" : @"Priority", + @"ruleArn" : @"RuleArn", }; } @end -@implementation AWSElasticLoadBalancingRemoveAvailabilityZonesOutput +@implementation AWSElasticLoadBalancingSetIpAddressTypeInput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"availabilityZones" : @"AvailabilityZones", + @"ipAddressType" : @"IpAddressType", + @"loadBalancerArn" : @"LoadBalancerArn", }; } ++ (NSValueTransformer *)ipAddressTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeIpv4); + } + if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstack); + } + return @(AWSElasticLoadBalancingIpAddressTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingIpAddressTypeIpv4: + return @"ipv4"; + case AWSElasticLoadBalancingIpAddressTypeDualstack: + return @"dualstack"; + default: + return nil; + } + }]; +} + @end -@implementation AWSElasticLoadBalancingRemoveTagsInput +@implementation AWSElasticLoadBalancingSetIpAddressTypeOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerNames" : @"LoadBalancerNames", - @"tags" : @"Tags", + @"ipAddressType" : @"IpAddressType", }; } -+ (NSValueTransformer *)tagsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingTagKeyOnly class]]; ++ (NSValueTransformer *)ipAddressTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeIpv4); + } + if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstack); + } + return @(AWSElasticLoadBalancingIpAddressTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingIpAddressTypeIpv4: + return @"ipv4"; + case AWSElasticLoadBalancingIpAddressTypeDualstack: + return @"dualstack"; + default: + return nil; + } + }]; } @end -@implementation AWSElasticLoadBalancingRemoveTagsOutput +@implementation AWSElasticLoadBalancingSetRulePrioritiesInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"rulePriorities" : @"RulePriorities", + }; +} + ++ (NSValueTransformer *)rulePrioritiesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingRulePriorityPair class]]; +} @end -@implementation AWSElasticLoadBalancingSetLoadBalancerListenerSSLCertificateInput +@implementation AWSElasticLoadBalancingSetRulePrioritiesOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", - @"loadBalancerPort" : @"LoadBalancerPort", - @"SSLCertificateId" : @"SSLCertificateId", + @"rules" : @"Rules", }; } ++ (NSValueTransformer *)rulesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingRule class]]; +} + @end -@implementation AWSElasticLoadBalancingSetLoadBalancerListenerSSLCertificateOutput +@implementation AWSElasticLoadBalancingSetSecurityGroupsInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"loadBalancerArn" : @"LoadBalancerArn", + @"securityGroups" : @"SecurityGroups", + }; +} @end -@implementation AWSElasticLoadBalancingSetLoadBalancerPoliciesForBackendServerInput +@implementation AWSElasticLoadBalancingSetSecurityGroupsOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instancePort" : @"InstancePort", - @"loadBalancerName" : @"LoadBalancerName", - @"policyNames" : @"PolicyNames", + @"securityGroupIds" : @"SecurityGroupIds", }; } @end -@implementation AWSElasticLoadBalancingSetLoadBalancerPoliciesForBackendServerOutput +@implementation AWSElasticLoadBalancingSetSubnetsInput + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"loadBalancerArn" : @"LoadBalancerArn", + @"subnetMappings" : @"SubnetMappings", + @"subnets" : @"Subnets", + }; +} + ++ (NSValueTransformer *)subnetMappingsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingSubnetMapping class]]; +} @end -@implementation AWSElasticLoadBalancingSetLoadBalancerPoliciesOfListenerInput +@implementation AWSElasticLoadBalancingSetSubnetsOutput + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", - @"loadBalancerPort" : @"LoadBalancerPort", - @"policyNames" : @"PolicyNames", + @"availabilityZones" : @"AvailabilityZones", }; } ++ (NSValueTransformer *)availabilityZonesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingAvailabilityZone class]]; +} + @end -@implementation AWSElasticLoadBalancingSetLoadBalancerPoliciesOfListenerOutput +@implementation AWSElasticLoadBalancingSourceIpConditionConfig + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"values" : @"Values", + }; +} @end -@implementation AWSElasticLoadBalancingSourceSecurityGroup +@implementation AWSElasticLoadBalancingSslPolicy + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"groupName" : @"GroupName", - @"ownerAlias" : @"OwnerAlias", + @"ciphers" : @"Ciphers", + @"name" : @"Name", + @"sslProtocols" : @"SslProtocols", + }; +} + ++ (NSValueTransformer *)ciphersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSElasticLoadBalancingCipher class]]; +} + +@end + +@implementation AWSElasticLoadBalancingSubnetMapping + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"allocationId" : @"AllocationId", + @"privateIPv4Address" : @"PrivateIPv4Address", + @"subnetId" : @"SubnetId", }; } @@ -1025,7 +1957,7 @@ @implementation AWSElasticLoadBalancingTagDescription + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"loadBalancerName" : @"LoadBalancerName", + @"resourceArn" : @"ResourceArn", @"tags" : @"Tags", }; } @@ -1036,12 +1968,328 @@ + (NSValueTransformer *)tagsJSONTransformer { @end -@implementation AWSElasticLoadBalancingTagKeyOnly +@implementation AWSElasticLoadBalancingTargetDescription + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"availabilityZone" : @"AvailabilityZone", + @"identifier" : @"Id", + @"port" : @"Port", + }; +} + +@end + +@implementation AWSElasticLoadBalancingTargetGroup + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"healthCheckEnabled" : @"HealthCheckEnabled", + @"healthCheckIntervalSeconds" : @"HealthCheckIntervalSeconds", + @"healthCheckPath" : @"HealthCheckPath", + @"healthCheckPort" : @"HealthCheckPort", + @"healthCheckProtocol" : @"HealthCheckProtocol", + @"healthCheckTimeoutSeconds" : @"HealthCheckTimeoutSeconds", + @"healthyThresholdCount" : @"HealthyThresholdCount", + @"loadBalancerArns" : @"LoadBalancerArns", + @"matcher" : @"Matcher", + @"port" : @"Port", + @"protocols" : @"Protocol", + @"targetGroupArn" : @"TargetGroupArn", + @"targetGroupName" : @"TargetGroupName", + @"targetType" : @"TargetType", + @"unhealthyThresholdCount" : @"UnhealthyThresholdCount", + @"vpcId" : @"VpcId", + }; +} + ++ (NSValueTransformer *)healthCheckProtocolJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"HTTP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttp); + } + if ([value caseInsensitiveCompare:@"HTTPS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttps); + } + if ([value caseInsensitiveCompare:@"TCP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcp); + } + if ([value caseInsensitiveCompare:@"TLS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTls); + } + if ([value caseInsensitiveCompare:@"UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumUdp); + } + if ([value caseInsensitiveCompare:@"TCP_UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcpUdp); + } + return @(AWSElasticLoadBalancingProtocolEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingProtocolEnumHttp: + return @"HTTP"; + case AWSElasticLoadBalancingProtocolEnumHttps: + return @"HTTPS"; + case AWSElasticLoadBalancingProtocolEnumTcp: + return @"TCP"; + case AWSElasticLoadBalancingProtocolEnumTls: + return @"TLS"; + case AWSElasticLoadBalancingProtocolEnumUdp: + return @"UDP"; + case AWSElasticLoadBalancingProtocolEnumTcpUdp: + return @"TCP_UDP"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)matcherJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingMatcher class]]; +} + ++ (NSValueTransformer *)protocolsJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"HTTP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttp); + } + if ([value caseInsensitiveCompare:@"HTTPS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumHttps); + } + if ([value caseInsensitiveCompare:@"TCP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcp); + } + if ([value caseInsensitiveCompare:@"TLS"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTls); + } + if ([value caseInsensitiveCompare:@"UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumUdp); + } + if ([value caseInsensitiveCompare:@"TCP_UDP"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingProtocolEnumTcpUdp); + } + return @(AWSElasticLoadBalancingProtocolEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingProtocolEnumHttp: + return @"HTTP"; + case AWSElasticLoadBalancingProtocolEnumHttps: + return @"HTTPS"; + case AWSElasticLoadBalancingProtocolEnumTcp: + return @"TCP"; + case AWSElasticLoadBalancingProtocolEnumTls: + return @"TLS"; + case AWSElasticLoadBalancingProtocolEnumUdp: + return @"UDP"; + case AWSElasticLoadBalancingProtocolEnumTcpUdp: + return @"TCP_UDP"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)targetTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"instance"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetTypeEnumInstance); + } + if ([value caseInsensitiveCompare:@"ip"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetTypeEnumIp); + } + if ([value caseInsensitiveCompare:@"lambda"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetTypeEnumLambda); + } + return @(AWSElasticLoadBalancingTargetTypeEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingTargetTypeEnumInstance: + return @"instance"; + case AWSElasticLoadBalancingTargetTypeEnumIp: + return @"ip"; + case AWSElasticLoadBalancingTargetTypeEnumLambda: + return @"lambda"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSElasticLoadBalancingTargetGroupAttribute + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"key" : @"Key", + @"value" : @"Value", + }; +} + +@end + +@implementation AWSElasticLoadBalancingTargetGroupStickinessConfig + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"durationSeconds" : @"DurationSeconds", + @"enabled" : @"Enabled", + }; +} + +@end + +@implementation AWSElasticLoadBalancingTargetGroupTuple + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"targetGroupArn" : @"TargetGroupArn", + @"weight" : @"Weight", }; } @end + +@implementation AWSElasticLoadBalancingTargetHealth + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"detail" : @"Description", + @"reason" : @"Reason", + @"state" : @"State", + }; +} + ++ (NSValueTransformer *)reasonJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"Elb.RegistrationInProgress"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumElbRegistrationInProgress); + } + if ([value caseInsensitiveCompare:@"Elb.InitialHealthChecking"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumElbInitialHealthChecking); + } + if ([value caseInsensitiveCompare:@"Target.ResponseCodeMismatch"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumTargetResponseCodeMismatch); + } + if ([value caseInsensitiveCompare:@"Target.Timeout"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumTargetTimeout); + } + if ([value caseInsensitiveCompare:@"Target.FailedHealthChecks"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumTargetFailedHealthChecks); + } + if ([value caseInsensitiveCompare:@"Target.NotRegistered"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumTargetNotRegistered); + } + if ([value caseInsensitiveCompare:@"Target.NotInUse"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumTargetNotInUse); + } + if ([value caseInsensitiveCompare:@"Target.DeregistrationInProgress"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumTargetDeregistrationInProgress); + } + if ([value caseInsensitiveCompare:@"Target.InvalidState"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumTargetInvalidState); + } + if ([value caseInsensitiveCompare:@"Target.IpUnusable"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumTargetIpUnusable); + } + if ([value caseInsensitiveCompare:@"Target.HealthCheckDisabled"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumTargetHealthCheckDisabled); + } + if ([value caseInsensitiveCompare:@"Elb.InternalError"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthReasonEnumElbInternalError); + } + return @(AWSElasticLoadBalancingTargetHealthReasonEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingTargetHealthReasonEnumElbRegistrationInProgress: + return @"Elb.RegistrationInProgress"; + case AWSElasticLoadBalancingTargetHealthReasonEnumElbInitialHealthChecking: + return @"Elb.InitialHealthChecking"; + case AWSElasticLoadBalancingTargetHealthReasonEnumTargetResponseCodeMismatch: + return @"Target.ResponseCodeMismatch"; + case AWSElasticLoadBalancingTargetHealthReasonEnumTargetTimeout: + return @"Target.Timeout"; + case AWSElasticLoadBalancingTargetHealthReasonEnumTargetFailedHealthChecks: + return @"Target.FailedHealthChecks"; + case AWSElasticLoadBalancingTargetHealthReasonEnumTargetNotRegistered: + return @"Target.NotRegistered"; + case AWSElasticLoadBalancingTargetHealthReasonEnumTargetNotInUse: + return @"Target.NotInUse"; + case AWSElasticLoadBalancingTargetHealthReasonEnumTargetDeregistrationInProgress: + return @"Target.DeregistrationInProgress"; + case AWSElasticLoadBalancingTargetHealthReasonEnumTargetInvalidState: + return @"Target.InvalidState"; + case AWSElasticLoadBalancingTargetHealthReasonEnumTargetIpUnusable: + return @"Target.IpUnusable"; + case AWSElasticLoadBalancingTargetHealthReasonEnumTargetHealthCheckDisabled: + return @"Target.HealthCheckDisabled"; + case AWSElasticLoadBalancingTargetHealthReasonEnumElbInternalError: + return @"Elb.InternalError"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)stateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"initial"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthStateEnumInitial); + } + if ([value caseInsensitiveCompare:@"healthy"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthStateEnumHealthy); + } + if ([value caseInsensitiveCompare:@"unhealthy"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthStateEnumUnhealthy); + } + if ([value caseInsensitiveCompare:@"unused"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthStateEnumUnused); + } + if ([value caseInsensitiveCompare:@"draining"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthStateEnumDraining); + } + if ([value caseInsensitiveCompare:@"unavailable"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingTargetHealthStateEnumUnavailable); + } + return @(AWSElasticLoadBalancingTargetHealthStateEnumUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSElasticLoadBalancingTargetHealthStateEnumInitial: + return @"initial"; + case AWSElasticLoadBalancingTargetHealthStateEnumHealthy: + return @"healthy"; + case AWSElasticLoadBalancingTargetHealthStateEnumUnhealthy: + return @"unhealthy"; + case AWSElasticLoadBalancingTargetHealthStateEnumUnused: + return @"unused"; + case AWSElasticLoadBalancingTargetHealthStateEnumDraining: + return @"draining"; + case AWSElasticLoadBalancingTargetHealthStateEnumUnavailable: + return @"unavailable"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSElasticLoadBalancingTargetHealthDescription + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"healthCheckPort" : @"HealthCheckPort", + @"target" : @"Target", + @"targetHealth" : @"TargetHealth", + }; +} + ++ (NSValueTransformer *)targetJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingTargetDescription class]]; +} + ++ (NSValueTransformer *)targetHealthJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSElasticLoadBalancingTargetHealth class]]; +} + +@end diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m index b752de08c50..cd148907386 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m @@ -59,16 +59,35 @@ - (NSString *)definitionString { return @"{\ \"version\":\"2.0\",\ \"metadata\":{\ - \"apiVersion\":\"2012-06-01\",\ + \"apiVersion\":\"2015-12-01\",\ \"endpointPrefix\":\"elasticloadbalancing\",\ \"protocol\":\"query\",\ + \"serviceAbbreviation\":\"Elastic Load Balancing v2\",\ \"serviceFullName\":\"Elastic Load Balancing\",\ - \"serviceId\":\"Elastic Load Balancing\",\ + \"serviceId\":\"Elastic Load Balancing v2\",\ \"signatureVersion\":\"v4\",\ - \"uid\":\"elasticloadbalancing-2012-06-01\",\ - \"xmlNamespace\":\"http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/\"\ + \"uid\":\"elasticloadbalancingv2-2015-12-01\",\ + \"xmlNamespace\":\"http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/\"\ },\ \"operations\":{\ + \"AddListenerCertificates\":{\ + \"name\":\"AddListenerCertificates\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"AddListenerCertificatesInput\"},\ + \"output\":{\ + \"shape\":\"AddListenerCertificatesOutput\",\ + \"resultWrapper\":\"AddListenerCertificatesResult\"\ + },\ + \"errors\":[\ + {\"shape\":\"ListenerNotFoundException\"},\ + {\"shape\":\"TooManyCertificatesException\"},\ + {\"shape\":\"CertificateNotFoundException\"}\ + ],\ + \"documentation\":\"Adds the specified SSL server certificate to the certificate list for the specified HTTPS or TLS listener.
If the certificate in already in the certificate list, the call is successful but the certificate is not added again.
To get the certificate list for a listener, use DescribeListenerCertificates. To remove certificates from the certificate list for a listener, use RemoveListenerCertificates. To replace the default certificate for a listener, use ModifyListener.
For more information, see SSL Certificates in the Application Load Balancers Guide.
\"\ + },\ \"AddTags\":{\ \"name\":\"AddTags\",\ \"http\":{\ @@ -81,430 +100,531 @@ - (NSString *)definitionString { \"resultWrapper\":\"AddTagsResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ + {\"shape\":\"DuplicateTagKeysException\"},\ {\"shape\":\"TooManyTagsException\"},\ - {\"shape\":\"DuplicateTagKeysException\"}\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"}\ ],\ - \"documentation\":\"Adds the specified tags to the specified load balancer. Each load balancer can have a maximum of 10 tags.
Each tag consists of a key and an optional value. If a tag with the same key is already associated with the load balancer, AddTags
updates its value.
For more information, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, and your target groups.
Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags
updates its value.
To list the current tags for your resources, use DescribeTags. To remove tags from your resources, use RemoveTags.
\"\ },\ - \"ApplySecurityGroupsToLoadBalancer\":{\ - \"name\":\"ApplySecurityGroupsToLoadBalancer\",\ + \"CreateListener\":{\ + \"name\":\"CreateListener\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"ApplySecurityGroupsToLoadBalancerInput\"},\ + \"input\":{\"shape\":\"CreateListenerInput\"},\ \"output\":{\ - \"shape\":\"ApplySecurityGroupsToLoadBalancerOutput\",\ - \"resultWrapper\":\"ApplySecurityGroupsToLoadBalancerResult\"\ + \"shape\":\"CreateListenerOutput\",\ + \"resultWrapper\":\"CreateListenerResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ + {\"shape\":\"DuplicateListenerException\"},\ + {\"shape\":\"TooManyListenersException\"},\ + {\"shape\":\"TooManyCertificatesException\"},\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"TargetGroupAssociationLimitException\"},\ {\"shape\":\"InvalidConfigurationRequestException\"},\ - {\"shape\":\"InvalidSecurityGroupException\"}\ + {\"shape\":\"IncompatibleProtocolsException\"},\ + {\"shape\":\"SSLPolicyNotFoundException\"},\ + {\"shape\":\"CertificateNotFoundException\"},\ + {\"shape\":\"UnsupportedProtocolException\"},\ + {\"shape\":\"TooManyRegistrationsForTargetIdException\"},\ + {\"shape\":\"TooManyTargetsException\"},\ + {\"shape\":\"TooManyActionsException\"},\ + {\"shape\":\"InvalidLoadBalancerActionException\"},\ + {\"shape\":\"TooManyUniqueTargetGroupsPerLoadBalancerException\"},\ + {\"shape\":\"ALPNPolicyNotSupportedException\"}\ ],\ - \"documentation\":\"Associates one or more security groups with your load balancer in a virtual private cloud (VPC). The specified security groups override the previously associated security groups.
For more information, see Security Groups for Load Balancers in a VPC in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Creates a listener for the specified Application Load Balancer or Network Load Balancer.
To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds.
For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide.
\"\ },\ - \"AttachLoadBalancerToSubnets\":{\ - \"name\":\"AttachLoadBalancerToSubnets\",\ + \"CreateLoadBalancer\":{\ + \"name\":\"CreateLoadBalancer\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"AttachLoadBalancerToSubnetsInput\"},\ + \"input\":{\"shape\":\"CreateLoadBalancerInput\"},\ \"output\":{\ - \"shape\":\"AttachLoadBalancerToSubnetsOutput\",\ - \"resultWrapper\":\"AttachLoadBalancerToSubnetsResult\"\ + \"shape\":\"CreateLoadBalancerOutput\",\ + \"resultWrapper\":\"CreateLoadBalancerResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ + {\"shape\":\"DuplicateLoadBalancerNameException\"},\ + {\"shape\":\"TooManyLoadBalancersException\"},\ {\"shape\":\"InvalidConfigurationRequestException\"},\ {\"shape\":\"SubnetNotFoundException\"},\ - {\"shape\":\"InvalidSubnetException\"}\ + {\"shape\":\"InvalidSubnetException\"},\ + {\"shape\":\"InvalidSecurityGroupException\"},\ + {\"shape\":\"InvalidSchemeException\"},\ + {\"shape\":\"TooManyTagsException\"},\ + {\"shape\":\"DuplicateTagKeysException\"},\ + {\"shape\":\"ResourceInUseException\"},\ + {\"shape\":\"AllocationIdNotFoundException\"},\ + {\"shape\":\"AvailabilityZoneNotSupportedException\"},\ + {\"shape\":\"OperationNotPermittedException\"}\ ],\ - \"documentation\":\"Adds one or more subnets to the set of configured subnets for the specified load balancer.
The load balancer evenly distributes requests across all registered subnets. For more information, see Add or Remove Subnets for Your Load Balancer in a VPC in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Creates an Application Load Balancer or a Network Load Balancer.
When you create a load balancer, you can specify security groups, public subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.
To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.
For limit information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide.
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds.
For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide.
\"\ },\ - \"ConfigureHealthCheck\":{\ - \"name\":\"ConfigureHealthCheck\",\ + \"CreateRule\":{\ + \"name\":\"CreateRule\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"ConfigureHealthCheckInput\"},\ + \"input\":{\"shape\":\"CreateRuleInput\"},\ \"output\":{\ - \"shape\":\"ConfigureHealthCheckOutput\",\ - \"resultWrapper\":\"ConfigureHealthCheckResult\"\ + \"shape\":\"CreateRuleOutput\",\ + \"resultWrapper\":\"CreateRuleResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"}\ + {\"shape\":\"PriorityInUseException\"},\ + {\"shape\":\"TooManyTargetGroupsException\"},\ + {\"shape\":\"TooManyRulesException\"},\ + {\"shape\":\"TargetGroupAssociationLimitException\"},\ + {\"shape\":\"IncompatibleProtocolsException\"},\ + {\"shape\":\"ListenerNotFoundException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"InvalidConfigurationRequestException\"},\ + {\"shape\":\"TooManyRegistrationsForTargetIdException\"},\ + {\"shape\":\"TooManyTargetsException\"},\ + {\"shape\":\"UnsupportedProtocolException\"},\ + {\"shape\":\"TooManyActionsException\"},\ + {\"shape\":\"InvalidLoadBalancerActionException\"},\ + {\"shape\":\"TooManyUniqueTargetGroupsPerLoadBalancerException\"}\ ],\ - \"documentation\":\"Specifies the health check settings to use when evaluating the health state of your EC2 instances.
For more information, see Configure Health Checks for Your Load Balancer in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer.
Each rule consists of a priority, one or more actions, and one or more conditions. Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see Listener Rules in the Application Load Balancers Guide.
To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.
\"\ },\ - \"CreateAppCookieStickinessPolicy\":{\ - \"name\":\"CreateAppCookieStickinessPolicy\",\ + \"CreateTargetGroup\":{\ + \"name\":\"CreateTargetGroup\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"CreateAppCookieStickinessPolicyInput\"},\ + \"input\":{\"shape\":\"CreateTargetGroupInput\"},\ \"output\":{\ - \"shape\":\"CreateAppCookieStickinessPolicyOutput\",\ - \"resultWrapper\":\"CreateAppCookieStickinessPolicyResult\"\ + \"shape\":\"CreateTargetGroupOutput\",\ + \"resultWrapper\":\"CreateTargetGroupResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"DuplicatePolicyNameException\"},\ - {\"shape\":\"TooManyPoliciesException\"},\ + {\"shape\":\"DuplicateTargetGroupNameException\"},\ + {\"shape\":\"TooManyTargetGroupsException\"},\ {\"shape\":\"InvalidConfigurationRequestException\"}\ ],\ - \"documentation\":\"Generates a stickiness policy with sticky session lifetimes that follow that of an application-generated cookie. This policy can be associated only with HTTP/HTTPS listeners.
This policy is similar to the policy created by CreateLBCookieStickinessPolicy, except that the lifetime of the special Elastic Load Balancing cookie, AWSELB
, follows the lifetime of the application-generated cookie specified in the policy configuration. The load balancer only inserts a new stickiness cookie when the application response includes a new application cookie.
If the application cookie is explicitly removed or expires, the session stops being sticky until a new application cookie is issued.
For more information, see Application-Controlled Session Stickiness in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Creates a target group.
To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.
To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.
To delete a target group, use DeleteTargetGroup.
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds.
For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide or Target Groups for Your Network Load Balancers in the Network Load Balancers Guide.
\"\ },\ - \"CreateLBCookieStickinessPolicy\":{\ - \"name\":\"CreateLBCookieStickinessPolicy\",\ + \"DeleteListener\":{\ + \"name\":\"DeleteListener\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"CreateLBCookieStickinessPolicyInput\"},\ + \"input\":{\"shape\":\"DeleteListenerInput\"},\ \"output\":{\ - \"shape\":\"CreateLBCookieStickinessPolicyOutput\",\ - \"resultWrapper\":\"CreateLBCookieStickinessPolicyResult\"\ + \"shape\":\"DeleteListenerOutput\",\ + \"resultWrapper\":\"DeleteListenerResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"DuplicatePolicyNameException\"},\ - {\"shape\":\"TooManyPoliciesException\"},\ - {\"shape\":\"InvalidConfigurationRequestException\"}\ + {\"shape\":\"ListenerNotFoundException\"}\ ],\ - \"documentation\":\"Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent) or a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners.
When a load balancer implements this policy, the load balancer uses a special cookie to track the instance for each request. When the load balancer receives a request, it first checks to see if this cookie is present in the request. If so, the load balancer sends the request to the application server specified in the cookie. If not, the load balancer sends the request to a server that is chosen based on the existing load-balancing algorithm.
A cookie is inserted into the response for binding subsequent requests from the same user to that server. The validity of the cookie is based on the cookie expiration time, which is specified in the policy configuration.
For more information, see Duration-Based Session Stickiness in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Deletes the specified listener.
Alternatively, your listener is deleted when you delete the load balancer to which it is attached, using DeleteLoadBalancer.
\"\ },\ - \"CreateLoadBalancer\":{\ - \"name\":\"CreateLoadBalancer\",\ + \"DeleteLoadBalancer\":{\ + \"name\":\"DeleteLoadBalancer\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"CreateAccessPointInput\"},\ + \"input\":{\"shape\":\"DeleteLoadBalancerInput\"},\ \"output\":{\ - \"shape\":\"CreateAccessPointOutput\",\ - \"resultWrapper\":\"CreateLoadBalancerResult\"\ + \"shape\":\"DeleteLoadBalancerOutput\",\ + \"resultWrapper\":\"DeleteLoadBalancerResult\"\ },\ \"errors\":[\ - {\"shape\":\"DuplicateAccessPointNameException\"},\ - {\"shape\":\"TooManyAccessPointsException\"},\ - {\"shape\":\"CertificateNotFoundException\"},\ - {\"shape\":\"InvalidConfigurationRequestException\"},\ - {\"shape\":\"SubnetNotFoundException\"},\ - {\"shape\":\"InvalidSubnetException\"},\ - {\"shape\":\"InvalidSecurityGroupException\"},\ - {\"shape\":\"InvalidSchemeException\"},\ - {\"shape\":\"TooManyTagsException\"},\ - {\"shape\":\"DuplicateTagKeysException\"},\ - {\"shape\":\"UnsupportedProtocolException\"},\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ + {\"shape\":\"OperationNotPermittedException\"},\ + {\"shape\":\"ResourceInUseException\"}\ + ],\ + \"documentation\":\"Deletes the specified Application Load Balancer or Network Load Balancer and its attached listeners.
You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.
Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them.
\"\ + },\ + \"DeleteRule\":{\ + \"name\":\"DeleteRule\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DeleteRuleInput\"},\ + \"output\":{\ + \"shape\":\"DeleteRuleOutput\",\ + \"resultWrapper\":\"DeleteRuleResult\"\ + },\ + \"errors\":[\ + {\"shape\":\"RuleNotFoundException\"},\ {\"shape\":\"OperationNotPermittedException\"}\ ],\ - \"documentation\":\"Creates a Classic Load Balancer.
You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using CreateLoadBalancerListeners, ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags.
To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.
You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Deletes the specified rule.
You can't delete the default rule.
\"\ },\ - \"CreateLoadBalancerListeners\":{\ - \"name\":\"CreateLoadBalancerListeners\",\ + \"DeleteTargetGroup\":{\ + \"name\":\"DeleteTargetGroup\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"CreateLoadBalancerListenerInput\"},\ + \"input\":{\"shape\":\"DeleteTargetGroupInput\"},\ \"output\":{\ - \"shape\":\"CreateLoadBalancerListenerOutput\",\ - \"resultWrapper\":\"CreateLoadBalancerListenersResult\"\ + \"shape\":\"DeleteTargetGroupOutput\",\ + \"resultWrapper\":\"DeleteTargetGroupResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"DuplicateListenerException\"},\ - {\"shape\":\"CertificateNotFoundException\"},\ - {\"shape\":\"InvalidConfigurationRequestException\"},\ - {\"shape\":\"UnsupportedProtocolException\"}\ + {\"shape\":\"ResourceInUseException\"}\ ],\ - \"documentation\":\"Creates one or more listeners for the specified load balancer. If a listener with the specified port does not already exist, it is created; otherwise, the properties of the new listener must match the properties of the existing listener.
For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Deletes the specified target group.
You can delete a target group if it is not referenced by any actions. Deleting a target group also deletes any associated health checks.
\"\ },\ - \"CreateLoadBalancerPolicy\":{\ - \"name\":\"CreateLoadBalancerPolicy\",\ + \"DeregisterTargets\":{\ + \"name\":\"DeregisterTargets\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"CreateLoadBalancerPolicyInput\"},\ + \"input\":{\"shape\":\"DeregisterTargetsInput\"},\ \"output\":{\ - \"shape\":\"CreateLoadBalancerPolicyOutput\",\ - \"resultWrapper\":\"CreateLoadBalancerPolicyResult\"\ + \"shape\":\"DeregisterTargetsOutput\",\ + \"resultWrapper\":\"DeregisterTargetsResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"PolicyTypeNotFoundException\"},\ - {\"shape\":\"DuplicatePolicyNameException\"},\ - {\"shape\":\"TooManyPoliciesException\"},\ - {\"shape\":\"InvalidConfigurationRequestException\"}\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"InvalidTargetException\"}\ ],\ - \"documentation\":\"Creates a policy with the specified attributes for the specified load balancer.
Policies are settings that are saved for your load balancer and that can be applied to the listener or the application server, depending on the policy type.
\"\ + \"documentation\":\"Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.
\"\ },\ - \"DeleteLoadBalancer\":{\ - \"name\":\"DeleteLoadBalancer\",\ + \"DescribeAccountLimits\":{\ + \"name\":\"DescribeAccountLimits\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DeleteAccessPointInput\"},\ + \"input\":{\"shape\":\"DescribeAccountLimitsInput\"},\ \"output\":{\ - \"shape\":\"DeleteAccessPointOutput\",\ - \"resultWrapper\":\"DeleteLoadBalancerResult\"\ + \"shape\":\"DescribeAccountLimitsOutput\",\ + \"resultWrapper\":\"DescribeAccountLimitsResult\"\ },\ - \"documentation\":\"Deletes the specified load balancer.
If you are attempting to recreate a load balancer, you must reconfigure all settings. The DNS name associated with a deleted load balancer are no longer usable. The name and associated DNS record of the deleted load balancer no longer exist and traffic sent to any of its IP addresses is no longer delivered to your instances.
If the load balancer does not exist or has already been deleted, the call to DeleteLoadBalancer
still succeeds.
Describes the current Elastic Load Balancing resource limits for your AWS account.
For more information, see Limits for Your Application Load Balancers in the Application Load Balancer Guide or Limits for Your Network Load Balancers in the Network Load Balancers Guide.
\"\ },\ - \"DeleteLoadBalancerListeners\":{\ - \"name\":\"DeleteLoadBalancerListeners\",\ + \"DescribeListenerCertificates\":{\ + \"name\":\"DescribeListenerCertificates\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DeleteLoadBalancerListenerInput\"},\ + \"input\":{\"shape\":\"DescribeListenerCertificatesInput\"},\ \"output\":{\ - \"shape\":\"DeleteLoadBalancerListenerOutput\",\ - \"resultWrapper\":\"DeleteLoadBalancerListenersResult\"\ + \"shape\":\"DescribeListenerCertificatesOutput\",\ + \"resultWrapper\":\"DescribeListenerCertificatesResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"}\ + {\"shape\":\"ListenerNotFoundException\"}\ ],\ - \"documentation\":\"Deletes the specified listeners from the specified load balancer.
\"\ + \"documentation\":\"Describes the default certificate and the certificate list for the specified HTTPS or TLS listener.
If the default certificate is also in the certificate list, it appears twice in the results (once with IsDefault
set to true and once with IsDefault
set to false).
For more information, see SSL Certificates in the Application Load Balancers Guide.
\"\ },\ - \"DeleteLoadBalancerPolicy\":{\ - \"name\":\"DeleteLoadBalancerPolicy\",\ + \"DescribeListeners\":{\ + \"name\":\"DescribeListeners\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DeleteLoadBalancerPolicyInput\"},\ + \"input\":{\"shape\":\"DescribeListenersInput\"},\ \"output\":{\ - \"shape\":\"DeleteLoadBalancerPolicyOutput\",\ - \"resultWrapper\":\"DeleteLoadBalancerPolicyResult\"\ + \"shape\":\"DescribeListenersOutput\",\ + \"resultWrapper\":\"DescribeListenersResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"InvalidConfigurationRequestException\"}\ + {\"shape\":\"ListenerNotFoundException\"},\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ + {\"shape\":\"UnsupportedProtocolException\"}\ ],\ - \"documentation\":\"Deletes the specified policy from the specified load balancer. This policy must not be enabled for any listeners.
\"\ + \"documentation\":\"Describes the specified listeners or the listeners for the specified Application Load Balancer or Network Load Balancer. You must specify either a load balancer or one or more listeners.
For an HTTPS or TLS listener, the output includes the default certificate for the listener. To describe the certificate list for the listener, use DescribeListenerCertificates.
\"\ },\ - \"DeregisterInstancesFromLoadBalancer\":{\ - \"name\":\"DeregisterInstancesFromLoadBalancer\",\ + \"DescribeLoadBalancerAttributes\":{\ + \"name\":\"DescribeLoadBalancerAttributes\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DeregisterEndPointsInput\"},\ + \"input\":{\"shape\":\"DescribeLoadBalancerAttributesInput\"},\ \"output\":{\ - \"shape\":\"DeregisterEndPointsOutput\",\ - \"resultWrapper\":\"DeregisterInstancesFromLoadBalancerResult\"\ + \"shape\":\"DescribeLoadBalancerAttributesOutput\",\ + \"resultWrapper\":\"DescribeLoadBalancerAttributesResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"InvalidEndPointException\"}\ + {\"shape\":\"LoadBalancerNotFoundException\"}\ ],\ - \"documentation\":\"Deregisters the specified instances from the specified load balancer. After the instance is deregistered, it no longer receives traffic from the load balancer.
You can use DescribeLoadBalancers to verify that the instance is deregistered from the load balancer.
For more information, see Register or De-Register EC2 Instances in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Describes the attributes for the specified Application Load Balancer or Network Load Balancer.
For more information, see Load Balancer Attributes in the Application Load Balancers Guide or Load Balancer Attributes in the Network Load Balancers Guide.
\"\ },\ - \"DescribeAccountLimits\":{\ - \"name\":\"DescribeAccountLimits\",\ + \"DescribeLoadBalancers\":{\ + \"name\":\"DescribeLoadBalancers\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DescribeAccountLimitsInput\"},\ + \"input\":{\"shape\":\"DescribeLoadBalancersInput\"},\ \"output\":{\ - \"shape\":\"DescribeAccountLimitsOutput\",\ - \"resultWrapper\":\"DescribeAccountLimitsResult\"\ + \"shape\":\"DescribeLoadBalancersOutput\",\ + \"resultWrapper\":\"DescribeLoadBalancersResult\"\ },\ - \"documentation\":\"Describes the current Elastic Load Balancing resource limits for your AWS account.
For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.
\"\ + \"errors\":[\ + {\"shape\":\"LoadBalancerNotFoundException\"}\ + ],\ + \"documentation\":\"Describes the specified load balancers or all of your load balancers.
To describe the listeners for a load balancer, use DescribeListeners. To describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.
\"\ },\ - \"DescribeInstanceHealth\":{\ - \"name\":\"DescribeInstanceHealth\",\ + \"DescribeRules\":{\ + \"name\":\"DescribeRules\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DescribeEndPointStateInput\"},\ + \"input\":{\"shape\":\"DescribeRulesInput\"},\ \"output\":{\ - \"shape\":\"DescribeEndPointStateOutput\",\ - \"resultWrapper\":\"DescribeInstanceHealthResult\"\ + \"shape\":\"DescribeRulesOutput\",\ + \"resultWrapper\":\"DescribeRulesResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"InvalidEndPointException\"}\ + {\"shape\":\"ListenerNotFoundException\"},\ + {\"shape\":\"RuleNotFoundException\"},\ + {\"shape\":\"UnsupportedProtocolException\"}\ ],\ - \"documentation\":\"Describes the state of the specified instances with respect to the specified load balancer. If no instances are specified, the call describes the state of all instances that are currently registered with the load balancer. If instances are specified, their state is returned even if they are no longer registered with the load balancer. The state of terminated instances is not returned.
\"\ + \"documentation\":\"Describes the specified rules or the rules for the specified listener. You must specify either a listener or one or more rules.
\"\ },\ - \"DescribeLoadBalancerAttributes\":{\ - \"name\":\"DescribeLoadBalancerAttributes\",\ + \"DescribeSSLPolicies\":{\ + \"name\":\"DescribeSSLPolicies\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DescribeLoadBalancerAttributesInput\"},\ + \"input\":{\"shape\":\"DescribeSSLPoliciesInput\"},\ \"output\":{\ - \"shape\":\"DescribeLoadBalancerAttributesOutput\",\ - \"resultWrapper\":\"DescribeLoadBalancerAttributesResult\"\ + \"shape\":\"DescribeSSLPoliciesOutput\",\ + \"resultWrapper\":\"DescribeSSLPoliciesResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"LoadBalancerAttributeNotFoundException\"}\ + {\"shape\":\"SSLPolicyNotFoundException\"}\ ],\ - \"documentation\":\"Describes the attributes for the specified load balancer.
\"\ + \"documentation\":\"Describes the specified policies or all policies used for SSL negotiation.
For more information, see Security Policies in the Application Load Balancers Guide.
\"\ },\ - \"DescribeLoadBalancerPolicies\":{\ - \"name\":\"DescribeLoadBalancerPolicies\",\ + \"DescribeTags\":{\ + \"name\":\"DescribeTags\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DescribeLoadBalancerPoliciesInput\"},\ + \"input\":{\"shape\":\"DescribeTagsInput\"},\ \"output\":{\ - \"shape\":\"DescribeLoadBalancerPoliciesOutput\",\ - \"resultWrapper\":\"DescribeLoadBalancerPoliciesResult\"\ + \"shape\":\"DescribeTagsOutput\",\ + \"resultWrapper\":\"DescribeTagsResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"PolicyNotFoundException\"}\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"ListenerNotFoundException\"},\ + {\"shape\":\"RuleNotFoundException\"}\ ],\ - \"documentation\":\"Describes the specified policies.
If you specify a load balancer name, the action returns the descriptions of all policies created for the load balancer. If you specify a policy name associated with your load balancer, the action returns the description of that policy. If you don't specify a load balancer name, the action returns descriptions of the specified sample policies, or descriptions of all sample policies. The names of the sample policies have the ELBSample-
prefix.
Describes the tags for the specified resources. You can describe the tags for one or more Application Load Balancers, Network Load Balancers, and target groups.
\"\ },\ - \"DescribeLoadBalancerPolicyTypes\":{\ - \"name\":\"DescribeLoadBalancerPolicyTypes\",\ + \"DescribeTargetGroupAttributes\":{\ + \"name\":\"DescribeTargetGroupAttributes\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DescribeLoadBalancerPolicyTypesInput\"},\ + \"input\":{\"shape\":\"DescribeTargetGroupAttributesInput\"},\ \"output\":{\ - \"shape\":\"DescribeLoadBalancerPolicyTypesOutput\",\ - \"resultWrapper\":\"DescribeLoadBalancerPolicyTypesResult\"\ + \"shape\":\"DescribeTargetGroupAttributesOutput\",\ + \"resultWrapper\":\"DescribeTargetGroupAttributesResult\"\ },\ \"errors\":[\ - {\"shape\":\"PolicyTypeNotFoundException\"}\ + {\"shape\":\"TargetGroupNotFoundException\"}\ ],\ - \"documentation\":\"Describes the specified load balancer policy types or all load balancer policy types.
The description of each type indicates how it can be used. For example, some policies can be used only with layer 7 listeners, some policies can be used only with layer 4 listeners, and some policies can be used only with your EC2 instances.
You can use CreateLoadBalancerPolicy to create a policy configuration for any of these policy types. Then, depending on the policy type, use either SetLoadBalancerPoliciesOfListener or SetLoadBalancerPoliciesForBackendServer to set the policy.
\"\ + \"documentation\":\"Describes the attributes for the specified target group.
For more information, see Target Group Attributes in the Application Load Balancers Guide or Target Group Attributes in the Network Load Balancers Guide.
\"\ },\ - \"DescribeLoadBalancers\":{\ - \"name\":\"DescribeLoadBalancers\",\ + \"DescribeTargetGroups\":{\ + \"name\":\"DescribeTargetGroups\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DescribeAccessPointsInput\"},\ + \"input\":{\"shape\":\"DescribeTargetGroupsInput\"},\ \"output\":{\ - \"shape\":\"DescribeAccessPointsOutput\",\ - \"resultWrapper\":\"DescribeLoadBalancersResult\"\ + \"shape\":\"DescribeTargetGroupsOutput\",\ + \"resultWrapper\":\"DescribeTargetGroupsResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"DependencyThrottleException\"}\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"}\ ],\ - \"documentation\":\"Describes the specified the load balancers. If no load balancers are specified, the call describes all of your load balancers.
\"\ + \"documentation\":\"Describes the specified target groups or all of your target groups. By default, all target groups are described. Alternatively, you can specify one of the following to filter the results: the ARN of the load balancer, the names of one or more target groups, or the ARNs of one or more target groups.
To describe the targets for a target group, use DescribeTargetHealth. To describe the attributes of a target group, use DescribeTargetGroupAttributes.
\"\ },\ - \"DescribeTags\":{\ - \"name\":\"DescribeTags\",\ + \"DescribeTargetHealth\":{\ + \"name\":\"DescribeTargetHealth\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DescribeTagsInput\"},\ + \"input\":{\"shape\":\"DescribeTargetHealthInput\"},\ \"output\":{\ - \"shape\":\"DescribeTagsOutput\",\ - \"resultWrapper\":\"DescribeTagsResult\"\ + \"shape\":\"DescribeTargetHealthOutput\",\ + \"resultWrapper\":\"DescribeTargetHealthResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"}\ + {\"shape\":\"InvalidTargetException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"HealthUnavailableException\"}\ ],\ - \"documentation\":\"Describes the tags associated with the specified load balancers.
\"\ + \"documentation\":\"Describes the health of the specified targets or all of your targets.
\"\ },\ - \"DetachLoadBalancerFromSubnets\":{\ - \"name\":\"DetachLoadBalancerFromSubnets\",\ + \"ModifyListener\":{\ + \"name\":\"ModifyListener\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"DetachLoadBalancerFromSubnetsInput\"},\ + \"input\":{\"shape\":\"ModifyListenerInput\"},\ \"output\":{\ - \"shape\":\"DetachLoadBalancerFromSubnetsOutput\",\ - \"resultWrapper\":\"DetachLoadBalancerFromSubnetsResult\"\ + \"shape\":\"ModifyListenerOutput\",\ + \"resultWrapper\":\"ModifyListenerResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"InvalidConfigurationRequestException\"}\ + {\"shape\":\"DuplicateListenerException\"},\ + {\"shape\":\"TooManyListenersException\"},\ + {\"shape\":\"TooManyCertificatesException\"},\ + {\"shape\":\"ListenerNotFoundException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"TargetGroupAssociationLimitException\"},\ + {\"shape\":\"IncompatibleProtocolsException\"},\ + {\"shape\":\"SSLPolicyNotFoundException\"},\ + {\"shape\":\"CertificateNotFoundException\"},\ + {\"shape\":\"InvalidConfigurationRequestException\"},\ + {\"shape\":\"UnsupportedProtocolException\"},\ + {\"shape\":\"TooManyRegistrationsForTargetIdException\"},\ + {\"shape\":\"TooManyTargetsException\"},\ + {\"shape\":\"TooManyActionsException\"},\ + {\"shape\":\"InvalidLoadBalancerActionException\"},\ + {\"shape\":\"TooManyUniqueTargetGroupsPerLoadBalancerException\"},\ + {\"shape\":\"ALPNPolicyNotSupportedException\"}\ ],\ - \"documentation\":\"Removes the specified subnets from the set of configured subnets for the load balancer.
After a subnet is removed, all EC2 instances registered with the load balancer in the removed subnet go into the OutOfService
state. Then, the load balancer balances the traffic among the remaining routable subnets.
Replaces the specified properties of the specified listener. Any properties that you do not specify remain unchanged.
Changing the protocol from HTTPS to HTTP, or from TLS to TCP, removes the security policy and default certificate properties. If you change the protocol from HTTP to HTTPS, or from TCP to TLS, you must add the security policy and default certificate properties.
To add an item to a list, remove an item from a list, or update an item in a list, you must provide the entire list. For example, to add an action, specify a list with the current actions plus the new action.
\"\ },\ - \"DisableAvailabilityZonesForLoadBalancer\":{\ - \"name\":\"DisableAvailabilityZonesForLoadBalancer\",\ + \"ModifyLoadBalancerAttributes\":{\ + \"name\":\"ModifyLoadBalancerAttributes\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"RemoveAvailabilityZonesInput\"},\ + \"input\":{\"shape\":\"ModifyLoadBalancerAttributesInput\"},\ \"output\":{\ - \"shape\":\"RemoveAvailabilityZonesOutput\",\ - \"resultWrapper\":\"DisableAvailabilityZonesForLoadBalancerResult\"\ + \"shape\":\"ModifyLoadBalancerAttributesOutput\",\ + \"resultWrapper\":\"ModifyLoadBalancerAttributesResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ {\"shape\":\"InvalidConfigurationRequestException\"}\ ],\ - \"documentation\":\"Removes the specified Availability Zones from the set of Availability Zones for the specified load balancer in EC2-Classic or a default VPC.
For load balancers in a non-default VPC, use DetachLoadBalancerFromSubnets.
There must be at least one Availability Zone registered with a load balancer at all times. After an Availability Zone is removed, all instances registered with the load balancer that are in the removed Availability Zone go into the OutOfService
state. Then, the load balancer attempts to equally balance the traffic among its remaining Availability Zones.
For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Modifies the specified attributes of the specified Application Load Balancer or Network Load Balancer.
If any of the specified attributes can't be modified as requested, the call fails. Any existing attributes that you do not modify retain their current values.
\"\ },\ - \"EnableAvailabilityZonesForLoadBalancer\":{\ - \"name\":\"EnableAvailabilityZonesForLoadBalancer\",\ + \"ModifyRule\":{\ + \"name\":\"ModifyRule\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"AddAvailabilityZonesInput\"},\ + \"input\":{\"shape\":\"ModifyRuleInput\"},\ \"output\":{\ - \"shape\":\"AddAvailabilityZonesOutput\",\ - \"resultWrapper\":\"EnableAvailabilityZonesForLoadBalancerResult\"\ + \"shape\":\"ModifyRuleOutput\",\ + \"resultWrapper\":\"ModifyRuleResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"}\ + {\"shape\":\"TargetGroupAssociationLimitException\"},\ + {\"shape\":\"IncompatibleProtocolsException\"},\ + {\"shape\":\"RuleNotFoundException\"},\ + {\"shape\":\"OperationNotPermittedException\"},\ + {\"shape\":\"TooManyRegistrationsForTargetIdException\"},\ + {\"shape\":\"TooManyTargetsException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"UnsupportedProtocolException\"},\ + {\"shape\":\"TooManyActionsException\"},\ + {\"shape\":\"InvalidLoadBalancerActionException\"},\ + {\"shape\":\"TooManyUniqueTargetGroupsPerLoadBalancerException\"}\ ],\ - \"documentation\":\"Adds the specified Availability Zones to the set of Availability Zones for the specified load balancer in EC2-Classic or a default VPC.
For load balancers in a non-default VPC, use AttachLoadBalancerToSubnets.
The load balancer evenly distributes requests across all its registered Availability Zones that contain instances. For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Replaces the specified properties of the specified rule. Any properties that you do not specify are unchanged.
To add an item to a list, remove an item from a list, or update an item in a list, you must provide the entire list. For example, to add an action, specify a list with the current actions plus the new action.
To modify the actions for the default rule, use ModifyListener.
\"\ },\ - \"ModifyLoadBalancerAttributes\":{\ - \"name\":\"ModifyLoadBalancerAttributes\",\ + \"ModifyTargetGroup\":{\ + \"name\":\"ModifyTargetGroup\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"ModifyLoadBalancerAttributesInput\"},\ + \"input\":{\"shape\":\"ModifyTargetGroupInput\"},\ \"output\":{\ - \"shape\":\"ModifyLoadBalancerAttributesOutput\",\ - \"resultWrapper\":\"ModifyLoadBalancerAttributesResult\"\ + \"shape\":\"ModifyTargetGroupOutput\",\ + \"resultWrapper\":\"ModifyTargetGroupResult\"\ + },\ + \"errors\":[\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"InvalidConfigurationRequestException\"}\ + ],\ + \"documentation\":\"Modifies the health checks used when evaluating the health state of the targets in the specified target group.
To monitor the health of the targets, use DescribeTargetHealth.
\"\ + },\ + \"ModifyTargetGroupAttributes\":{\ + \"name\":\"ModifyTargetGroupAttributes\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ModifyTargetGroupAttributesInput\"},\ + \"output\":{\ + \"shape\":\"ModifyTargetGroupAttributesOutput\",\ + \"resultWrapper\":\"ModifyTargetGroupAttributesResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"LoadBalancerAttributeNotFoundException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"},\ {\"shape\":\"InvalidConfigurationRequestException\"}\ ],\ - \"documentation\":\"Modifies the attributes of the specified load balancer.
You can modify the load balancer attributes, such as AccessLogs
, ConnectionDraining
, and CrossZoneLoadBalancing
by either enabling or disabling them. Or, you can modify the load balancer attribute ConnectionSettings
by specifying an idle connection timeout value for your load balancer.
For more information, see the following in the Classic Load Balancers Guide:
\"\ + \"documentation\":\"Modifies the specified attributes of the specified target group.
\"\ + },\ + \"RegisterTargets\":{\ + \"name\":\"RegisterTargets\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"RegisterTargetsInput\"},\ + \"output\":{\ + \"shape\":\"RegisterTargetsOutput\",\ + \"resultWrapper\":\"RegisterTargetsResult\"\ + },\ + \"errors\":[\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"TooManyTargetsException\"},\ + {\"shape\":\"InvalidTargetException\"},\ + {\"shape\":\"TooManyRegistrationsForTargetIdException\"}\ + ],\ + \"documentation\":\"Registers the specified targets with the specified target group.
If the target is an EC2 instance, it must be in the running
state when you register it.
By default, the load balancer routes requests to registered targets using the protocol and port for the target group. Alternatively, you can override the port for a target when you register it. You can register each EC2 instance or IP address with the same target group multiple times using different ports.
With a Network Load Balancer, you cannot register instances by instance ID if they have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these types by IP address.
To remove a target from a target group, use DeregisterTargets.
\"\ },\ - \"RegisterInstancesWithLoadBalancer\":{\ - \"name\":\"RegisterInstancesWithLoadBalancer\",\ + \"RemoveListenerCertificates\":{\ + \"name\":\"RemoveListenerCertificates\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"RegisterEndPointsInput\"},\ + \"input\":{\"shape\":\"RemoveListenerCertificatesInput\"},\ \"output\":{\ - \"shape\":\"RegisterEndPointsOutput\",\ - \"resultWrapper\":\"RegisterInstancesWithLoadBalancerResult\"\ + \"shape\":\"RemoveListenerCertificatesOutput\",\ + \"resultWrapper\":\"RemoveListenerCertificatesResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"InvalidEndPointException\"}\ + {\"shape\":\"ListenerNotFoundException\"},\ + {\"shape\":\"OperationNotPermittedException\"}\ ],\ - \"documentation\":\"Adds the specified instances to the specified load balancer.
The instance must be a running instance in the same network as the load balancer (EC2-Classic or the same VPC). If you have EC2-Classic instances and a load balancer in a VPC with ClassicLink enabled, you can link the EC2-Classic instances to that VPC and then register the linked EC2-Classic instances with the load balancer in the VPC.
Note that RegisterInstanceWithLoadBalancer
completes when the request has been registered. Instance registration takes a little time to complete. To check the state of the registered instances, use DescribeLoadBalancers or DescribeInstanceHealth.
After the instance is registered, it starts receiving traffic and requests from the load balancer. Any instance that is not in one of the Availability Zones registered for the load balancer is moved to the OutOfService
state. If an Availability Zone is added to the load balancer later, any instances registered with the load balancer move to the InService
state.
To deregister instances from a load balancer, use DeregisterInstancesFromLoadBalancer.
For more information, see Register or De-Register EC2 Instances in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Removes the specified certificate from the certificate list for the specified HTTPS or TLS listener.
You can't remove the default certificate for a listener. To replace the default certificate, call ModifyListener.
To list the certificates for your listener, use DescribeListenerCertificates.
\"\ },\ \"RemoveTags\":{\ \"name\":\"RemoveTags\",\ @@ -518,296 +638,436 @@ - (NSString *)definitionString { \"resultWrapper\":\"RemoveTagsResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"}\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ + {\"shape\":\"TargetGroupNotFoundException\"},\ + {\"shape\":\"ListenerNotFoundException\"},\ + {\"shape\":\"RuleNotFoundException\"},\ + {\"shape\":\"TooManyTagsException\"}\ ],\ - \"documentation\":\"Removes one or more tags from the specified load balancer.
\"\ + \"documentation\":\"Removes the specified tags from the specified Elastic Load Balancing resource.
To list the current tags for your resources, use DescribeTags.
\"\ },\ - \"SetLoadBalancerListenerSSLCertificate\":{\ - \"name\":\"SetLoadBalancerListenerSSLCertificate\",\ + \"SetIpAddressType\":{\ + \"name\":\"SetIpAddressType\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"SetLoadBalancerListenerSSLCertificateInput\"},\ + \"input\":{\"shape\":\"SetIpAddressTypeInput\"},\ \"output\":{\ - \"shape\":\"SetLoadBalancerListenerSSLCertificateOutput\",\ - \"resultWrapper\":\"SetLoadBalancerListenerSSLCertificateResult\"\ + \"shape\":\"SetIpAddressTypeOutput\",\ + \"resultWrapper\":\"SetIpAddressTypeResult\"\ },\ \"errors\":[\ - {\"shape\":\"CertificateNotFoundException\"},\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"ListenerNotFoundException\"},\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ {\"shape\":\"InvalidConfigurationRequestException\"},\ - {\"shape\":\"UnsupportedProtocolException\"}\ + {\"shape\":\"InvalidSubnetException\"}\ ],\ - \"documentation\":\"Sets the certificate that terminates the specified listener's SSL connections. The specified certificate replaces any prior certificate that was used on the same load balancer and port.
For more information about updating your SSL certificate, see Replace the SSL Certificate for Your Load Balancer in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Sets the type of IP addresses used by the subnets of the specified Application Load Balancer or Network Load Balancer.
\"\ },\ - \"SetLoadBalancerPoliciesForBackendServer\":{\ - \"name\":\"SetLoadBalancerPoliciesForBackendServer\",\ + \"SetRulePriorities\":{\ + \"name\":\"SetRulePriorities\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"SetLoadBalancerPoliciesForBackendServerInput\"},\ + \"input\":{\"shape\":\"SetRulePrioritiesInput\"},\ \"output\":{\ - \"shape\":\"SetLoadBalancerPoliciesForBackendServerOutput\",\ - \"resultWrapper\":\"SetLoadBalancerPoliciesForBackendServerResult\"\ + \"shape\":\"SetRulePrioritiesOutput\",\ + \"resultWrapper\":\"SetRulePrioritiesResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"PolicyNotFoundException\"},\ - {\"shape\":\"InvalidConfigurationRequestException\"}\ + {\"shape\":\"RuleNotFoundException\"},\ + {\"shape\":\"PriorityInUseException\"},\ + {\"shape\":\"OperationNotPermittedException\"}\ ],\ - \"documentation\":\"Replaces the set of policies associated with the specified port on which the EC2 instance is listening with a new set of policies. At this time, only the back-end server authentication policy type can be applied to the instance ports; this policy type is composed of multiple public key policies.
Each time you use SetLoadBalancerPoliciesForBackendServer
to enable the policies, use the PolicyNames
parameter to list the policies that you want to enable.
You can use DescribeLoadBalancers or DescribeLoadBalancerPolicies to verify that the policy is associated with the EC2 instance.
For more information about enabling back-end instance authentication, see Configure Back-end Instance Authentication in the Classic Load Balancers Guide. For more information about Proxy Protocol, see Configure Proxy Protocol Support in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Sets the priorities of the specified rules.
You can reorder the rules as long as there are no priority conflicts in the new order. Any existing rules that you do not specify retain their current priority.
\"\ },\ - \"SetLoadBalancerPoliciesOfListener\":{\ - \"name\":\"SetLoadBalancerPoliciesOfListener\",\ + \"SetSecurityGroups\":{\ + \"name\":\"SetSecurityGroups\",\ \"http\":{\ \"method\":\"POST\",\ \"requestUri\":\"/\"\ },\ - \"input\":{\"shape\":\"SetLoadBalancerPoliciesOfListenerInput\"},\ + \"input\":{\"shape\":\"SetSecurityGroupsInput\"},\ \"output\":{\ - \"shape\":\"SetLoadBalancerPoliciesOfListenerOutput\",\ - \"resultWrapper\":\"SetLoadBalancerPoliciesOfListenerResult\"\ + \"shape\":\"SetSecurityGroupsOutput\",\ + \"resultWrapper\":\"SetSecurityGroupsResult\"\ },\ \"errors\":[\ - {\"shape\":\"AccessPointNotFoundException\"},\ - {\"shape\":\"PolicyNotFoundException\"},\ - {\"shape\":\"ListenerNotFoundException\"},\ - {\"shape\":\"InvalidConfigurationRequestException\"}\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ + {\"shape\":\"InvalidConfigurationRequestException\"},\ + {\"shape\":\"InvalidSecurityGroupException\"}\ + ],\ + \"documentation\":\"Associates the specified security groups with the specified Application Load Balancer. The specified security groups override the previously associated security groups.
You can't specify a security group for a Network Load Balancer.
\"\ + },\ + \"SetSubnets\":{\ + \"name\":\"SetSubnets\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"SetSubnetsInput\"},\ + \"output\":{\ + \"shape\":\"SetSubnetsOutput\",\ + \"resultWrapper\":\"SetSubnetsResult\"\ + },\ + \"errors\":[\ + {\"shape\":\"LoadBalancerNotFoundException\"},\ + {\"shape\":\"InvalidConfigurationRequestException\"},\ + {\"shape\":\"SubnetNotFoundException\"},\ + {\"shape\":\"InvalidSubnetException\"},\ + {\"shape\":\"AllocationIdNotFoundException\"},\ + {\"shape\":\"AvailabilityZoneNotSupportedException\"}\ ],\ - \"documentation\":\"Replaces the current set of policies for the specified load balancer port with the specified set of policies.
To enable back-end server authentication, use SetLoadBalancerPoliciesForBackendServer.
For more information about setting policies, see Update the SSL Negotiation Configuration, Duration-Based Session Stickiness, and Application-Controlled Session Stickiness in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"Enables the Availability Zones for the specified public subnets for the specified load balancer. The specified subnets replace the previously enabled subnets.
When you specify subnets for a Network Load Balancer, you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.
\"\ }\ },\ \"shapes\":{\ - \"AccessLog\":{\ - \"type\":\"structure\",\ - \"required\":[\"Enabled\"],\ - \"members\":{\ - \"Enabled\":{\ - \"shape\":\"AccessLogEnabled\",\ - \"documentation\":\"Specifies whether access logs are enabled for the load balancer.
\"\ - },\ - \"S3BucketName\":{\ - \"shape\":\"S3BucketName\",\ - \"documentation\":\"The name of the Amazon S3 bucket where the access logs are stored.
\"\ - },\ - \"EmitInterval\":{\ - \"shape\":\"AccessLogInterval\",\ - \"documentation\":\"The interval for publishing the access logs. You can specify an interval of either 5 minutes or 60 minutes.
Default: 60 minutes
\"\ - },\ - \"S3BucketPrefix\":{\ - \"shape\":\"AccessLogPrefix\",\ - \"documentation\":\"The logical hierarchy you created for your Amazon S3 bucket, for example my-bucket-prefix/prod
. If the prefix is not provided, the log is placed at the root level of the bucket.
Information about the AccessLog
attribute.
The specified load balancer does not exist.
\",\ + \"documentation\":\"The specified ALPN policy is not supported.
\",\ \"error\":{\ - \"code\":\"LoadBalancerNotFound\",\ + \"code\":\"ALPNPolicyNotFound\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ \"exception\":true\ },\ - \"AccessPointPort\":{\"type\":\"integer\"},\ - \"AddAvailabilityZonesInput\":{\ + \"Action\":{\ + \"type\":\"structure\",\ + \"required\":[\"Type\"],\ + \"members\":{\ + \"Type\":{\ + \"shape\":\"ActionTypeEnum\",\ + \"documentation\":\"The type of action.
\"\ + },\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group. Specify only when Type
is forward
and you want to route to a single target group. To route to one or more target groups, use ForwardConfig
instead.
[HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when Type
is authenticate-oidc
.
[HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only when Type
is authenticate-cognito
.
The order for the action. This value is required for rules with multiple actions. The action with the lowest value for order is performed first.
\"\ + },\ + \"RedirectConfig\":{\ + \"shape\":\"RedirectActionConfig\",\ + \"documentation\":\"[Application Load Balancer] Information for creating a redirect action. Specify only when Type
is redirect
.
[Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when Type
is fixed-response
.
Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when Type
is forward
. If you specify both ForwardConfig
and TargetGroupArn
, you can specify only one target group using ForwardConfig
and it must be the same target group specified in TargetGroupArn
.
Information about an action.
Each rule must include exactly one of the following types of actions: forward
, fixed-response
, or redirect
, and it must be the last action to be performed.
The name of the load balancer.
\"\ + \"ListenerArn\":{\ + \"shape\":\"ListenerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the listener.
\"\ },\ - \"AvailabilityZones\":{\ - \"shape\":\"AvailabilityZones\",\ - \"documentation\":\"The Availability Zones. These must be in the same region as the load balancer.
\"\ + \"Certificates\":{\ + \"shape\":\"CertificateList\",\ + \"documentation\":\"The certificate to add. You can specify one certificate per call. Set CertificateArn
to the certificate ARN but do not set IsDefault
.
Contains the parameters for EnableAvailabilityZonesForLoadBalancer.
\"\ + }\ },\ - \"AddAvailabilityZonesOutput\":{\ + \"AddListenerCertificatesOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"AvailabilityZones\":{\ - \"shape\":\"AvailabilityZones\",\ - \"documentation\":\"The updated list of Availability Zones for the load balancer.
\"\ + \"Certificates\":{\ + \"shape\":\"CertificateList\",\ + \"documentation\":\"Information about the certificates in the certificate list.
\"\ }\ - },\ - \"documentation\":\"Contains the output of EnableAvailabilityZonesForLoadBalancer.
\"\ + }\ },\ \"AddTagsInput\":{\ \"type\":\"structure\",\ \"required\":[\ - \"LoadBalancerNames\",\ + \"ResourceArns\",\ \"Tags\"\ ],\ \"members\":{\ - \"LoadBalancerNames\":{\ - \"shape\":\"LoadBalancerNames\",\ - \"documentation\":\"The name of the load balancer. You can specify one load balancer only.
\"\ + \"ResourceArns\":{\ + \"shape\":\"ResourceArns\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the resource.
\"\ },\ \"Tags\":{\ \"shape\":\"TagList\",\ \"documentation\":\"The tags.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for AddTags.
\"\ + }\ },\ \"AddTagsOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - },\ - \"documentation\":\"Contains the output of AddTags.
\"\ + }\ },\ - \"AdditionalAttribute\":{\ + \"AllocationId\":{\"type\":\"string\"},\ + \"AllocationIdNotFoundException\":{\ \"type\":\"structure\",\ \"members\":{\ - \"Key\":{\ - \"shape\":\"AdditionalAttributeKey\",\ - \"documentation\":\"This parameter is reserved.
\"\ - },\ - \"Value\":{\ - \"shape\":\"AdditionalAttributeValue\",\ - \"documentation\":\"This parameter is reserved.
\"\ - }\ },\ - \"documentation\":\"This data type is reserved.
\"\ - },\ - \"AdditionalAttributeKey\":{\ - \"type\":\"string\",\ - \"max\":256,\ - \"pattern\":\"^[a-zA-Z0-9.]+$\"\ - },\ - \"AdditionalAttributeValue\":{\ - \"type\":\"string\",\ - \"max\":256,\ - \"pattern\":\"^[a-zA-Z0-9.]+$\"\ + \"documentation\":\"The specified allocation ID does not exist.
\",\ + \"error\":{\ + \"code\":\"AllocationIdNotFound\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ },\ - \"AdditionalAttributes\":{\ + \"AlpnPolicyName\":{\ \"type\":\"list\",\ - \"member\":{\"shape\":\"AdditionalAttribute\"},\ - \"max\":10\ + \"member\":{\"shape\":\"AlpnPolicyValue\"}\ },\ - \"AppCookieStickinessPolicies\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"AppCookieStickinessPolicy\"}\ + \"AlpnPolicyValue\":{\"type\":\"string\"},\ + \"AuthenticateCognitoActionAuthenticationRequestExtraParams\":{\ + \"type\":\"map\",\ + \"key\":{\"shape\":\"AuthenticateCognitoActionAuthenticationRequestParamName\"},\ + \"value\":{\"shape\":\"AuthenticateCognitoActionAuthenticationRequestParamValue\"}\ + },\ + \"AuthenticateCognitoActionAuthenticationRequestParamName\":{\"type\":\"string\"},\ + \"AuthenticateCognitoActionAuthenticationRequestParamValue\":{\"type\":\"string\"},\ + \"AuthenticateCognitoActionConditionalBehaviorEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"deny\",\ + \"allow\",\ + \"authenticate\"\ + ]\ },\ - \"AppCookieStickinessPolicy\":{\ + \"AuthenticateCognitoActionConfig\":{\ \"type\":\"structure\",\ + \"required\":[\ + \"UserPoolArn\",\ + \"UserPoolClientId\",\ + \"UserPoolDomain\"\ + ],\ \"members\":{\ - \"PolicyName\":{\ - \"shape\":\"PolicyName\",\ - \"documentation\":\"The mnemonic name for the policy being created. The name must be unique within a set of policies for this load balancer.
\"\ - },\ - \"CookieName\":{\ - \"shape\":\"CookieName\",\ - \"documentation\":\"The name of the application cookie used for stickiness.
\"\ - }\ - },\ - \"documentation\":\"Information about a policy for application-controlled session stickiness.
\"\ + \"UserPoolArn\":{\ + \"shape\":\"AuthenticateCognitoActionUserPoolArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the Amazon Cognito user pool.
\"\ + },\ + \"UserPoolClientId\":{\ + \"shape\":\"AuthenticateCognitoActionUserPoolClientId\",\ + \"documentation\":\"The ID of the Amazon Cognito user pool client.
\"\ + },\ + \"UserPoolDomain\":{\ + \"shape\":\"AuthenticateCognitoActionUserPoolDomain\",\ + \"documentation\":\"The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.
\"\ + },\ + \"SessionCookieName\":{\ + \"shape\":\"AuthenticateCognitoActionSessionCookieName\",\ + \"documentation\":\"The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.
\"\ + },\ + \"Scope\":{\ + \"shape\":\"AuthenticateCognitoActionScope\",\ + \"documentation\":\"The set of user claims to be requested from the IdP. The default is openid
.
To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.
\"\ + },\ + \"SessionTimeout\":{\ + \"shape\":\"AuthenticateCognitoActionSessionTimeout\",\ + \"documentation\":\"The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).
\"\ + },\ + \"AuthenticationRequestExtraParams\":{\ + \"shape\":\"AuthenticateCognitoActionAuthenticationRequestExtraParams\",\ + \"documentation\":\"The query parameters (up to 10) to include in the redirect request to the authorization endpoint.
\"\ + },\ + \"OnUnauthenticatedRequest\":{\ + \"shape\":\"AuthenticateCognitoActionConditionalBehaviorEnum\",\ + \"documentation\":\"The behavior if the user is not authenticated. The following are possible values:
deny - Return an HTTP 401 Unauthorized error.
allow - Allow the request to be forwarded to the target.
authenticate - Redirect the request to the IdP authorization endpoint. This is the default value.
Request parameters to use when integrating with Amazon Cognito to authenticate users.
\"\ + },\ + \"AuthenticateCognitoActionScope\":{\"type\":\"string\"},\ + \"AuthenticateCognitoActionSessionCookieName\":{\"type\":\"string\"},\ + \"AuthenticateCognitoActionSessionTimeout\":{\"type\":\"long\"},\ + \"AuthenticateCognitoActionUserPoolArn\":{\"type\":\"string\"},\ + \"AuthenticateCognitoActionUserPoolClientId\":{\"type\":\"string\"},\ + \"AuthenticateCognitoActionUserPoolDomain\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionAuthenticationRequestExtraParams\":{\ + \"type\":\"map\",\ + \"key\":{\"shape\":\"AuthenticateOidcActionAuthenticationRequestParamName\"},\ + \"value\":{\"shape\":\"AuthenticateOidcActionAuthenticationRequestParamValue\"}\ + },\ + \"AuthenticateOidcActionAuthenticationRequestParamName\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionAuthenticationRequestParamValue\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionAuthorizationEndpoint\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionClientId\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionClientSecret\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionConditionalBehaviorEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"deny\",\ + \"allow\",\ + \"authenticate\"\ + ]\ },\ - \"ApplySecurityGroupsToLoadBalancerInput\":{\ + \"AuthenticateOidcActionConfig\":{\ \"type\":\"structure\",\ \"required\":[\ - \"LoadBalancerName\",\ - \"SecurityGroups\"\ + \"Issuer\",\ + \"AuthorizationEndpoint\",\ + \"TokenEndpoint\",\ + \"UserInfoEndpoint\",\ + \"ClientId\"\ ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"Issuer\":{\ + \"shape\":\"AuthenticateOidcActionIssuer\",\ + \"documentation\":\"The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
\"\ },\ - \"SecurityGroups\":{\ - \"shape\":\"SecurityGroups\",\ - \"documentation\":\"The IDs of the security groups to associate with the load balancer. Note that you cannot specify the name of the security group.
\"\ + \"AuthorizationEndpoint\":{\ + \"shape\":\"AuthenticateOidcActionAuthorizationEndpoint\",\ + \"documentation\":\"The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
\"\ + },\ + \"TokenEndpoint\":{\ + \"shape\":\"AuthenticateOidcActionTokenEndpoint\",\ + \"documentation\":\"The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
\"\ + },\ + \"UserInfoEndpoint\":{\ + \"shape\":\"AuthenticateOidcActionUserInfoEndpoint\",\ + \"documentation\":\"The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
\"\ + },\ + \"ClientId\":{\ + \"shape\":\"AuthenticateOidcActionClientId\",\ + \"documentation\":\"The OAuth 2.0 client identifier.
\"\ + },\ + \"ClientSecret\":{\ + \"shape\":\"AuthenticateOidcActionClientSecret\",\ + \"documentation\":\"The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, you can omit this parameter if you set UseExistingClientSecret
to true.
The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.
\"\ + },\ + \"Scope\":{\ + \"shape\":\"AuthenticateOidcActionScope\",\ + \"documentation\":\"The set of user claims to be requested from the IdP. The default is openid
.
To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.
\"\ + },\ + \"SessionTimeout\":{\ + \"shape\":\"AuthenticateOidcActionSessionTimeout\",\ + \"documentation\":\"The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).
\"\ + },\ + \"AuthenticationRequestExtraParams\":{\ + \"shape\":\"AuthenticateOidcActionAuthenticationRequestExtraParams\",\ + \"documentation\":\"The query parameters (up to 10) to include in the redirect request to the authorization endpoint.
\"\ + },\ + \"OnUnauthenticatedRequest\":{\ + \"shape\":\"AuthenticateOidcActionConditionalBehaviorEnum\",\ + \"documentation\":\"The behavior if the user is not authenticated. The following are possible values:
deny - Return an HTTP 401 Unauthorized error.
allow - Allow the request to be forwarded to the target.
authenticate - Redirect the request to the IdP authorization endpoint. This is the default value.
Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false.
\"\ }\ },\ - \"documentation\":\"Contains the parameters for ApplySecurityGroupsToLoadBalancer.
\"\ + \"documentation\":\"Request parameters when using an identity provider (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.
\"\ },\ - \"ApplySecurityGroupsToLoadBalancerOutput\":{\ + \"AuthenticateOidcActionIssuer\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionScope\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionSessionCookieName\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionSessionTimeout\":{\"type\":\"long\"},\ + \"AuthenticateOidcActionTokenEndpoint\":{\"type\":\"string\"},\ + \"AuthenticateOidcActionUseExistingClientSecret\":{\"type\":\"boolean\"},\ + \"AuthenticateOidcActionUserInfoEndpoint\":{\"type\":\"string\"},\ + \"AvailabilityZone\":{\ \"type\":\"structure\",\ \"members\":{\ - \"SecurityGroups\":{\ - \"shape\":\"SecurityGroups\",\ - \"documentation\":\"The IDs of the security groups associated with the load balancer.
\"\ + \"ZoneName\":{\ + \"shape\":\"ZoneName\",\ + \"documentation\":\"The name of the Availability Zone.
\"\ + },\ + \"SubnetId\":{\ + \"shape\":\"SubnetId\",\ + \"documentation\":\"The ID of the subnet. You can specify one subnet per Availability Zone.
\"\ + },\ + \"LoadBalancerAddresses\":{\ + \"shape\":\"LoadBalancerAddresses\",\ + \"documentation\":\"[Network Load Balancers] If you need static IP addresses for your load balancer, you can specify one Elastic IP address per Availability Zone when you create an internal-facing load balancer. For internal load balancers, you can specify a private IP address from the IPv4 range of the subnet.
\"\ }\ },\ - \"documentation\":\"Contains the output of ApplySecurityGroupsToLoadBalancer.
\"\ + \"documentation\":\"Information about an Availability Zone.
\"\ },\ - \"AttachLoadBalancerToSubnetsInput\":{\ + \"AvailabilityZoneNotSupportedException\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"Subnets\"\ - ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ - },\ - \"Subnets\":{\ - \"shape\":\"Subnets\",\ - \"documentation\":\"The IDs of the subnets to add. You can add only one subnet per Availability Zone.
\"\ - }\ },\ - \"documentation\":\"Contains the parameters for AttachLoaBalancerToSubnets.
\"\ - },\ - \"AttachLoadBalancerToSubnetsOutput\":{\ - \"type\":\"structure\",\ - \"members\":{\ - \"Subnets\":{\ - \"shape\":\"Subnets\",\ - \"documentation\":\"The IDs of the subnets attached to the load balancer.
\"\ - }\ + \"documentation\":\"The specified Availability Zone is not supported.
\",\ + \"error\":{\ + \"code\":\"AvailabilityZoneNotSupported\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ },\ - \"documentation\":\"Contains the output of AttachLoadBalancerToSubnets.
\"\ + \"exception\":true\ },\ - \"AttributeName\":{\"type\":\"string\"},\ - \"AttributeType\":{\"type\":\"string\"},\ - \"AttributeValue\":{\"type\":\"string\"},\ - \"AvailabilityZone\":{\"type\":\"string\"},\ \"AvailabilityZones\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"AvailabilityZone\"}\ },\ - \"BackendServerDescription\":{\ + \"CanonicalHostedZoneId\":{\"type\":\"string\"},\ + \"Certificate\":{\ \"type\":\"structure\",\ \"members\":{\ - \"InstancePort\":{\ - \"shape\":\"InstancePort\",\ - \"documentation\":\"The port on which the EC2 instance is listening.
\"\ + \"CertificateArn\":{\ + \"shape\":\"CertificateArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the certificate.
\"\ },\ - \"PolicyNames\":{\ - \"shape\":\"PolicyNames\",\ - \"documentation\":\"The names of the policies enabled for the EC2 instance.
\"\ + \"IsDefault\":{\ + \"shape\":\"Default\",\ + \"documentation\":\"Indicates whether the certificate is the default certificate. Do not set this value when specifying a certificate as an input. This value is not included in the output when describing a listener, but is included when describing listener certificates.
\"\ }\ },\ - \"documentation\":\"Information about the configuration of an EC2 instance.
\"\ + \"documentation\":\"Information about an SSL server certificate.
\"\ },\ - \"BackendServerDescriptions\":{\ + \"CertificateArn\":{\"type\":\"string\"},\ + \"CertificateList\":{\ \"type\":\"list\",\ - \"member\":{\"shape\":\"BackendServerDescription\"}\ + \"member\":{\"shape\":\"Certificate\"}\ },\ - \"Cardinality\":{\"type\":\"string\"},\ \"CertificateNotFoundException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The specified ARN does not refer to a valid SSL certificate in AWS Identity and Access Management (IAM) or AWS Certificate Manager (ACM). Note that if you recently uploaded the certificate to IAM, this error might indicate that the certificate is not fully available yet.
\",\ + \"documentation\":\"The specified certificate does not exist.
\",\ \"error\":{\ \"code\":\"CertificateNotFound\",\ \"httpStatusCode\":400,\ @@ -815,381 +1075,351 @@ - (NSString *)definitionString { },\ \"exception\":true\ },\ - \"ConfigureHealthCheckInput\":{\ + \"Cipher\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"HealthCheck\"\ - ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"Name\":{\ + \"shape\":\"CipherName\",\ + \"documentation\":\"The name of the cipher.
\"\ },\ - \"HealthCheck\":{\ - \"shape\":\"HealthCheck\",\ - \"documentation\":\"The configuration information.
\"\ + \"Priority\":{\ + \"shape\":\"CipherPriority\",\ + \"documentation\":\"The priority of the cipher.
\"\ }\ },\ - \"documentation\":\"Contains the parameters for ConfigureHealthCheck.
\"\ + \"documentation\":\"Information about a cipher used in a policy.
\"\ },\ - \"ConfigureHealthCheckOutput\":{\ - \"type\":\"structure\",\ - \"members\":{\ - \"HealthCheck\":{\ - \"shape\":\"HealthCheck\",\ - \"documentation\":\"The updated health check.
\"\ - }\ - },\ - \"documentation\":\"Contains the output of ConfigureHealthCheck.
\"\ + \"CipherName\":{\"type\":\"string\"},\ + \"CipherPriority\":{\"type\":\"integer\"},\ + \"Ciphers\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"Cipher\"}\ + },\ + \"ConditionFieldName\":{\ + \"type\":\"string\",\ + \"max\":64\ },\ - \"ConnectionDraining\":{\ + \"CreateListenerInput\":{\ \"type\":\"structure\",\ - \"required\":[\"Enabled\"],\ + \"required\":[\ + \"LoadBalancerArn\",\ + \"Protocol\",\ + \"Port\",\ + \"DefaultActions\"\ + ],\ \"members\":{\ - \"Enabled\":{\ - \"shape\":\"ConnectionDrainingEnabled\",\ - \"documentation\":\"Specifies whether connection draining is enabled for the load balancer.
\"\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ },\ - \"Timeout\":{\ - \"shape\":\"ConnectionDrainingTimeout\",\ - \"documentation\":\"The maximum time, in seconds, to keep the existing connections open before deregistering the instances.
\"\ + \"Protocol\":{\ + \"shape\":\"ProtocolEnum\",\ + \"documentation\":\"The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP.
\"\ + },\ + \"Port\":{\ + \"shape\":\"Port\",\ + \"documentation\":\"The port on which the load balancer is listening.
\"\ + },\ + \"SslPolicy\":{\ + \"shape\":\"SslPolicyName\",\ + \"documentation\":\"[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. The following are the possible values:
ELBSecurityPolicy-2016-08
ELBSecurityPolicy-TLS-1-0-2015-04
ELBSecurityPolicy-TLS-1-1-2017-01
ELBSecurityPolicy-TLS-1-2-2017-01
ELBSecurityPolicy-TLS-1-2-Ext-2018-06
ELBSecurityPolicy-FS-2018-06
ELBSecurityPolicy-FS-1-1-2019-08
ELBSecurityPolicy-FS-1-2-2019-08
ELBSecurityPolicy-FS-1-2-Res-2019-08
For more information, see Security Policies in the Application Load Balancers Guide and Security Policies in the Network Load Balancers Guide.
\"\ + },\ + \"Certificates\":{\ + \"shape\":\"CertificateList\",\ + \"documentation\":\"[HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. Set CertificateArn
to the certificate ARN but do not set IsDefault
.
To create a certificate list for the listener, use AddListenerCertificates.
\"\ + },\ + \"DefaultActions\":{\ + \"shape\":\"Actions\",\ + \"documentation\":\"The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.
If the action type is forward
, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.
[HTTPS listeners] If the action type is authenticate-oidc
, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.
[HTTPS listeners] If the action type is authenticate-cognito
, you authenticate users through the user pools supported by Amazon Cognito.
[Application Load Balancer] If the action type is redirect
, you redirect specified client requests from one URL to another.
[Application Load Balancer] If the action type is fixed-response
, you drop specified client requests and return a custom HTTP response.
[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You can specify one policy name. The following are the possible values:
HTTP1Only
HTTP2Only
HTTP2Optional
HTTP2Preferred
None
For more information, see ALPN Policies in the Network Load Balancers Guide.
\"\ }\ - },\ - \"documentation\":\"Information about the ConnectionDraining
attribute.
The time, in seconds, that the connection is allowed to be idle (no data has been sent over the connection) before it is closed by the load balancer.
\"\ + \"Listeners\":{\ + \"shape\":\"Listeners\",\ + \"documentation\":\"Information about the listener.
\"\ }\ - },\ - \"documentation\":\"Information about the ConnectionSettings
attribute.
The name of the load balancer.
This name must be unique within your set of load balancers for the region, must have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.
\"\ - },\ - \"Listeners\":{\ - \"shape\":\"Listeners\",\ - \"documentation\":\"The listeners.
For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.
\"\ - },\ - \"AvailabilityZones\":{\ - \"shape\":\"AvailabilityZones\",\ - \"documentation\":\"One or more Availability Zones from the same region as the load balancer.
You must specify at least one Availability Zone.
You can add more Availability Zones after you create the load balancer using EnableAvailabilityZonesForLoadBalancer.
\"\ + \"Name\":{\ + \"shape\":\"LoadBalancerName\",\ + \"documentation\":\"The name of the load balancer.
This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \\\"internal-\\\".
\"\ },\ \"Subnets\":{\ \"shape\":\"Subnets\",\ - \"documentation\":\"The IDs of the subnets in your VPC to attach to the load balancer. Specify one subnet per Availability Zone specified in AvailabilityZones
.
The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
[Application Load Balancers] You must specify subnets from at least two Availability Zones.
[Network Load Balancers] You can specify subnets from one or more Availability Zones.
\"\ + },\ + \"SubnetMappings\":{\ + \"shape\":\"SubnetMappings\",\ + \"documentation\":\"The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.
[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet.
\"\ },\ \"SecurityGroups\":{\ \"shape\":\"SecurityGroups\",\ - \"documentation\":\"The IDs of the security groups to assign to the load balancer.
\"\ + \"documentation\":\"[Application Load Balancers] The IDs of the security groups for the load balancer.
\"\ },\ \"Scheme\":{\ - \"shape\":\"LoadBalancerScheme\",\ - \"documentation\":\"The type of a load balancer. Valid only for load balancers in a VPC.
By default, Elastic Load Balancing creates an Internet-facing load balancer with a DNS name that resolves to public IP addresses. For more information about Internet-facing and Internal load balancers, see Load Balancer Scheme in the Elastic Load Balancing User Guide.
Specify internal
to create a load balancer with a DNS name that resolves to private IP addresses.
The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.
The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.
The default is an Internet-facing load balancer.
\"\ },\ \"Tags\":{\ \"shape\":\"TagList\",\ - \"documentation\":\"A list of tags to assign to the load balancer.
For more information about tagging your load balancer, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide.
\"\ + \"documentation\":\"One or more tags to assign to the load balancer.
\"\ + },\ + \"Type\":{\ + \"shape\":\"LoadBalancerTypeEnum\",\ + \"documentation\":\"The type of load balancer. The default is application
.
[Application Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
(for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses). Internal load balancers must use ipv4
.
Contains the parameters for CreateLoadBalancer.
\"\ + }\ },\ - \"CreateAccessPointOutput\":{\ + \"CreateLoadBalancerOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"DNSName\":{\ - \"shape\":\"DNSName\",\ - \"documentation\":\"The DNS name of the load balancer.
\"\ + \"LoadBalancers\":{\ + \"shape\":\"LoadBalancers\",\ + \"documentation\":\"Information about the load balancer.
\"\ }\ - },\ - \"documentation\":\"Contains the output for CreateLoadBalancer.
\"\ + }\ },\ - \"CreateAppCookieStickinessPolicyInput\":{\ + \"CreateRuleInput\":{\ \"type\":\"structure\",\ \"required\":[\ - \"LoadBalancerName\",\ - \"PolicyName\",\ - \"CookieName\"\ + \"ListenerArn\",\ + \"Conditions\",\ + \"Priority\",\ + \"Actions\"\ ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"ListenerArn\":{\ + \"shape\":\"ListenerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the listener.
\"\ + },\ + \"Conditions\":{\ + \"shape\":\"RuleConditionList\",\ + \"documentation\":\"The conditions. Each rule can optionally include up to one of each of the following conditions: http-request-method
, host-header
, path-pattern
, and source-ip
. Each rule can also optionally include one or more of each of the following conditions: http-header
and query-string
.
The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.
\"\ + \"Priority\":{\ + \"shape\":\"RulePriority\",\ + \"documentation\":\"The rule priority. A listener can't have multiple rules with the same priority.
\"\ },\ - \"CookieName\":{\ - \"shape\":\"CookieName\",\ - \"documentation\":\"The name of the application cookie used for stickiness.
\"\ + \"Actions\":{\ + \"shape\":\"Actions\",\ + \"documentation\":\"The actions. Each rule must include exactly one of the following types of actions: forward
, fixed-response
, or redirect
, and it must be the last action to be performed.
If the action type is forward
, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.
[HTTPS listeners] If the action type is authenticate-oidc
, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.
[HTTPS listeners] If the action type is authenticate-cognito
, you authenticate users through the user pools supported by Amazon Cognito.
[Application Load Balancer] If the action type is redirect
, you redirect specified client requests from one URL to another.
[Application Load Balancer] If the action type is fixed-response
, you drop specified client requests and return a custom HTTP response.
Contains the parameters for CreateAppCookieStickinessPolicy.
\"\ + }\ },\ - \"CreateAppCookieStickinessPolicyOutput\":{\ + \"CreateRuleOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - },\ - \"documentation\":\"Contains the output for CreateAppCookieStickinessPolicy.
\"\ + \"Rules\":{\ + \"shape\":\"Rules\",\ + \"documentation\":\"Information about the rule.
\"\ + }\ + }\ },\ - \"CreateLBCookieStickinessPolicyInput\":{\ + \"CreateTargetGroupInput\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"PolicyName\"\ - ],\ + \"required\":[\"Name\"],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"Name\":{\ + \"shape\":\"TargetGroupName\",\ + \"documentation\":\"The name of the target group.
This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.
\"\ },\ - \"PolicyName\":{\ - \"shape\":\"PolicyName\",\ - \"documentation\":\"The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.
\"\ + \"Protocol\":{\ + \"shape\":\"ProtocolEnum\",\ + \"documentation\":\"The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a Lambda function, this parameter does not apply.
\"\ },\ - \"CookieExpirationPeriod\":{\ - \"shape\":\"CookieExpirationPeriod\",\ - \"documentation\":\"The time period, in seconds, after which the cookie should be considered stale. If you do not specify this parameter, the default value is 0, which indicates that the sticky session should last for the duration of the browser session.
\"\ - }\ - },\ - \"documentation\":\"Contains the parameters for CreateLBCookieStickinessPolicy.
\"\ - },\ - \"CreateLBCookieStickinessPolicyOutput\":{\ - \"type\":\"structure\",\ - \"members\":{\ - },\ - \"documentation\":\"Contains the output for CreateLBCookieStickinessPolicy.
\"\ - },\ - \"CreateLoadBalancerListenerInput\":{\ - \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"Listeners\"\ - ],\ - \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"Port\":{\ + \"shape\":\"Port\",\ + \"documentation\":\"The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply.
\"\ },\ - \"Listeners\":{\ - \"shape\":\"Listeners\",\ - \"documentation\":\"The listeners.
\"\ - }\ - },\ - \"documentation\":\"Contains the parameters for CreateLoadBalancerListeners.
\"\ - },\ - \"CreateLoadBalancerListenerOutput\":{\ - \"type\":\"structure\",\ - \"members\":{\ - },\ - \"documentation\":\"Contains the parameters for CreateLoadBalancerListener.
\"\ - },\ - \"CreateLoadBalancerPolicyInput\":{\ - \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"PolicyName\",\ - \"PolicyTypeName\"\ - ],\ - \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"VpcId\":{\ + \"shape\":\"VpcId\",\ + \"documentation\":\"The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply. Otherwise, this parameter is required.
\"\ + },\ + \"HealthCheckProtocol\":{\ + \"shape\":\"ProtocolEnum\",\ + \"documentation\":\"The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks.
\"\ + },\ + \"HealthCheckPort\":{\ + \"shape\":\"HealthCheckPort\",\ + \"documentation\":\"The port the load balancer uses when performing health checks on targets. The default is traffic-port
, which is the port on which each target receives traffic from the load balancer.
Indicates whether health checks are enabled. If the target type is lambda
, health checks are disabled by default but can be enabled. If the target type is instance
or ip
, health checks are always enabled and cannot be disabled.
[HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks. The default is /.
\"\ + },\ + \"HealthCheckIntervalSeconds\":{\ + \"shape\":\"HealthCheckIntervalSeconds\",\ + \"documentation\":\"The approximate amount of time, in seconds, between health checks of an individual target. For HTTP and HTTPS health checks, the range is 5–300 seconds. For TCP health checks, the supported values are 10 and 30 seconds. If the target type is instance
or ip
, the default is 30 seconds. If the target type is lambda
, the default is 35 seconds.
The amount of time, in seconds, during which no response from a target means a failed health check. For target groups with a protocol of HTTP or HTTPS, the default is 5 seconds. For target groups with a protocol of TCP or TLS, this value must be 6 seconds for HTTP health checks and 10 seconds for TCP and HTTPS health checks. If the target type is lambda
, the default is 30 seconds.
The number of consecutive health checks successes required before considering an unhealthy target healthy. For target groups with a protocol of HTTP or HTTPS, the default is 5. For target groups with a protocol of TCP or TLS, the default is 3. If the target type is lambda
, the default is 5.
The name of the load balancer policy to be created. This name must be unique within the set of policies for this load balancer.
\"\ + \"UnhealthyThresholdCount\":{\ + \"shape\":\"HealthCheckThresholdCount\",\ + \"documentation\":\"The number of consecutive health check failures required before considering a target unhealthy. For target groups with a protocol of HTTP or HTTPS, the default is 2. For target groups with a protocol of TCP or TLS, this value must be the same as the healthy threshold count. If the target type is lambda
, the default is 2.
The name of the base policy type. To get the list of policy types, use DescribeLoadBalancerPolicyTypes.
\"\ + \"Matcher\":{\ + \"shape\":\"Matcher\",\ + \"documentation\":\"[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.
\"\ },\ - \"PolicyAttributes\":{\ - \"shape\":\"PolicyAttributes\",\ - \"documentation\":\"The policy attributes.
\"\ + \"TargetType\":{\ + \"shape\":\"TargetTypeEnum\",\ + \"documentation\":\"The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type.
instance
- Targets are specified by instance ID. This is the default value.
ip
- Targets are specified by IP address. You can specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.
lambda
- The target groups contains a single Lambda function.
Contains the parameters for CreateLoadBalancerPolicy.
\"\ - },\ - \"CreateLoadBalancerPolicyOutput\":{\ - \"type\":\"structure\",\ - \"members\":{\ - },\ - \"documentation\":\"Contains the output of CreateLoadBalancerPolicy.
\"\ + }\ },\ - \"CreatedTime\":{\"type\":\"timestamp\"},\ - \"CrossZoneLoadBalancing\":{\ + \"CreateTargetGroupOutput\":{\ \"type\":\"structure\",\ - \"required\":[\"Enabled\"],\ \"members\":{\ - \"Enabled\":{\ - \"shape\":\"CrossZoneLoadBalancingEnabled\",\ - \"documentation\":\"Specifies whether cross-zone load balancing is enabled for the load balancer.
\"\ + \"TargetGroups\":{\ + \"shape\":\"TargetGroups\",\ + \"documentation\":\"Information about the target group.
\"\ }\ - },\ - \"documentation\":\"Information about the CrossZoneLoadBalancing
attribute.
The name of the load balancer.
\"\ + \"ListenerArn\":{\ + \"shape\":\"ListenerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the listener.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DeleteLoadBalancer.
\"\ + }\ },\ - \"DeleteAccessPointOutput\":{\ + \"DeleteListenerOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - },\ - \"documentation\":\"Contains the output of DeleteLoadBalancer.
\"\ + }\ },\ - \"DeleteLoadBalancerListenerInput\":{\ + \"DeleteLoadBalancerInput\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"LoadBalancerPorts\"\ - ],\ + \"required\":[\"LoadBalancerArn\"],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ - },\ - \"LoadBalancerPorts\":{\ - \"shape\":\"Ports\",\ - \"documentation\":\"The client port numbers of the listeners.
\"\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DeleteLoadBalancerListeners.
\"\ + }\ },\ - \"DeleteLoadBalancerListenerOutput\":{\ + \"DeleteLoadBalancerOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - },\ - \"documentation\":\"Contains the output of DeleteLoadBalancerListeners.
\"\ + }\ },\ - \"DeleteLoadBalancerPolicyInput\":{\ + \"DeleteRuleInput\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"PolicyName\"\ - ],\ + \"required\":[\"RuleArn\"],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ - },\ - \"PolicyName\":{\ - \"shape\":\"PolicyName\",\ - \"documentation\":\"The name of the policy.
\"\ + \"RuleArn\":{\ + \"shape\":\"RuleArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the rule.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DeleteLoadBalancerPolicy.
\"\ + }\ },\ - \"DeleteLoadBalancerPolicyOutput\":{\ + \"DeleteRuleOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - },\ - \"documentation\":\"Contains the output of DeleteLoadBalancerPolicy.
\"\ + }\ },\ - \"DependencyThrottleException\":{\ + \"DeleteTargetGroupInput\":{\ \"type\":\"structure\",\ + \"required\":[\"TargetGroupArn\"],\ \"members\":{\ - },\ - \"documentation\":\"A request made by Elastic Load Balancing to another service exceeds the maximum request rate permitted for your account.
\",\ - \"error\":{\ - \"code\":\"DependencyThrottle\",\ - \"httpStatusCode\":400,\ - \"senderFault\":true\ - },\ - \"exception\":true\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group.
\"\ + }\ + }\ + },\ + \"DeleteTargetGroupOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ },\ - \"DeregisterEndPointsInput\":{\ + \"DeregisterTargetsInput\":{\ \"type\":\"structure\",\ \"required\":[\ - \"LoadBalancerName\",\ - \"Instances\"\ + \"TargetGroupArn\",\ + \"Targets\"\ ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group.
\"\ },\ - \"Instances\":{\ - \"shape\":\"Instances\",\ - \"documentation\":\"The IDs of the instances.
\"\ + \"Targets\":{\ + \"shape\":\"TargetDescriptions\",\ + \"documentation\":\"The targets. If you specified a port override when you registered a target, you must specify both the target ID and the port when you deregister it.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DeregisterInstancesFromLoadBalancer.
\"\ + }\ },\ - \"DeregisterEndPointsOutput\":{\ + \"DeregisterTargetsOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"Instances\":{\ - \"shape\":\"Instances\",\ - \"documentation\":\"The remaining instances registered with the load balancer.
\"\ - }\ - },\ - \"documentation\":\"Contains the output of DeregisterInstancesFromLoadBalancer.
\"\ + }\ },\ - \"DescribeAccessPointsInput\":{\ + \"DescribeAccountLimitsInput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"LoadBalancerNames\":{\ - \"shape\":\"LoadBalancerNames\",\ - \"documentation\":\"The names of the load balancers.
\"\ - },\ \"Marker\":{\ \"shape\":\"Marker\",\ \"documentation\":\"The marker for the next set of results. (You received this marker from a previous call.)
\"\ },\ \"PageSize\":{\ \"shape\":\"PageSize\",\ - \"documentation\":\"The maximum number of results to return with this call (a number from 1 to 400). The default is 400.
\"\ + \"documentation\":\"The maximum number of results to return with this call.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DescribeLoadBalancers.
\"\ + }\ },\ - \"DescribeAccessPointsOutput\":{\ + \"DescribeAccountLimitsOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"LoadBalancerDescriptions\":{\ - \"shape\":\"LoadBalancerDescriptions\",\ - \"documentation\":\"Information about the load balancers.
\"\ + \"Limits\":{\ + \"shape\":\"Limits\",\ + \"documentation\":\"Information about the limits.
\"\ },\ \"NextMarker\":{\ \"shape\":\"Marker\",\ - \"documentation\":\"The marker to use when requesting the next set of results. If there are no additional results, the string is empty.
\"\ + \"documentation\":\"If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DescribeLoadBalancers.
\"\ + }\ },\ - \"DescribeAccountLimitsInput\":{\ + \"DescribeListenerCertificatesInput\":{\ \"type\":\"structure\",\ + \"required\":[\"ListenerArn\"],\ \"members\":{\ + \"ListenerArn\":{\ + \"shape\":\"ListenerArn\",\ + \"documentation\":\"The Amazon Resource Names (ARN) of the listener.
\"\ + },\ \"Marker\":{\ \"shape\":\"Marker\",\ \"documentation\":\"The marker for the next set of results. (You received this marker from a previous call.)
\"\ @@ -1200,327 +1430,460 @@ - (NSString *)definitionString { }\ }\ },\ - \"DescribeAccountLimitsOutput\":{\ + \"DescribeListenerCertificatesOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"Limits\":{\ - \"shape\":\"Limits\",\ - \"documentation\":\"Information about the limits.
\"\ + \"Certificates\":{\ + \"shape\":\"CertificateList\",\ + \"documentation\":\"Information about the certificates.
\"\ },\ \"NextMarker\":{\ \"shape\":\"Marker\",\ - \"documentation\":\"The marker to use when requesting the next set of results. If there are no additional results, the string is empty.
\"\ + \"documentation\":\"If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
\"\ }\ }\ },\ - \"DescribeEndPointStateInput\":{\ + \"DescribeListenersInput\":{\ \"type\":\"structure\",\ - \"required\":[\"LoadBalancerName\"],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ + },\ + \"ListenerArns\":{\ + \"shape\":\"ListenerArns\",\ + \"documentation\":\"The Amazon Resource Names (ARN) of the listeners.
\"\ + },\ + \"Marker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"The marker for the next set of results. (You received this marker from a previous call.)
\"\ },\ - \"Instances\":{\ - \"shape\":\"Instances\",\ - \"documentation\":\"The IDs of the instances.
\"\ + \"PageSize\":{\ + \"shape\":\"PageSize\",\ + \"documentation\":\"The maximum number of results to return with this call.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DescribeInstanceHealth.
\"\ + }\ },\ - \"DescribeEndPointStateOutput\":{\ + \"DescribeListenersOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"InstanceStates\":{\ - \"shape\":\"InstanceStates\",\ - \"documentation\":\"Information about the health of the instances.
\"\ + \"Listeners\":{\ + \"shape\":\"Listeners\",\ + \"documentation\":\"Information about the listeners.
\"\ + },\ + \"NextMarker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
\"\ }\ - },\ - \"documentation\":\"Contains the output for DescribeInstanceHealth.
\"\ + }\ },\ \"DescribeLoadBalancerAttributesInput\":{\ \"type\":\"structure\",\ - \"required\":[\"LoadBalancerName\"],\ + \"required\":[\"LoadBalancerArn\"],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DescribeLoadBalancerAttributes.
\"\ + }\ },\ \"DescribeLoadBalancerAttributesOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"LoadBalancerAttributes\":{\ + \"Attributes\":{\ \"shape\":\"LoadBalancerAttributes\",\ \"documentation\":\"Information about the load balancer attributes.
\"\ }\ - },\ - \"documentation\":\"Contains the output of DescribeLoadBalancerAttributes.
\"\ + }\ },\ - \"DescribeLoadBalancerPoliciesInput\":{\ + \"DescribeLoadBalancersInput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"LoadBalancerArns\":{\ + \"shape\":\"LoadBalancerArns\",\ + \"documentation\":\"The Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load balancers in a single call.
\"\ },\ - \"PolicyNames\":{\ - \"shape\":\"PolicyNames\",\ - \"documentation\":\"The names of the policies.
\"\ + \"Names\":{\ + \"shape\":\"LoadBalancerNames\",\ + \"documentation\":\"The names of the load balancers.
\"\ + },\ + \"Marker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"The marker for the next set of results. (You received this marker from a previous call.)
\"\ + },\ + \"PageSize\":{\ + \"shape\":\"PageSize\",\ + \"documentation\":\"The maximum number of results to return with this call.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DescribeLoadBalancerPolicies.
\"\ + }\ },\ - \"DescribeLoadBalancerPoliciesOutput\":{\ + \"DescribeLoadBalancersOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"PolicyDescriptions\":{\ - \"shape\":\"PolicyDescriptions\",\ - \"documentation\":\"Information about the policies.
\"\ + \"LoadBalancers\":{\ + \"shape\":\"LoadBalancers\",\ + \"documentation\":\"Information about the load balancers.
\"\ + },\ + \"NextMarker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
\"\ }\ - },\ - \"documentation\":\"Contains the output of DescribeLoadBalancerPolicies.
\"\ + }\ },\ - \"DescribeLoadBalancerPolicyTypesInput\":{\ + \"DescribeRulesInput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"PolicyTypeNames\":{\ - \"shape\":\"PolicyTypeNames\",\ - \"documentation\":\"The names of the policy types. If no names are specified, describes all policy types defined by Elastic Load Balancing.
\"\ + \"ListenerArn\":{\ + \"shape\":\"ListenerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the listener.
\"\ + },\ + \"RuleArns\":{\ + \"shape\":\"RuleArns\",\ + \"documentation\":\"The Amazon Resource Names (ARN) of the rules.
\"\ + },\ + \"Marker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"The marker for the next set of results. (You received this marker from a previous call.)
\"\ + },\ + \"PageSize\":{\ + \"shape\":\"PageSize\",\ + \"documentation\":\"The maximum number of results to return with this call.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DescribeLoadBalancerPolicyTypes.
\"\ + }\ },\ - \"DescribeLoadBalancerPolicyTypesOutput\":{\ + \"DescribeRulesOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"PolicyTypeDescriptions\":{\ - \"shape\":\"PolicyTypeDescriptions\",\ - \"documentation\":\"Information about the policy types.
\"\ + \"Rules\":{\ + \"shape\":\"Rules\",\ + \"documentation\":\"Information about the rules.
\"\ + },\ + \"NextMarker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
\"\ }\ - },\ - \"documentation\":\"Contains the output of DescribeLoadBalancerPolicyTypes.
\"\ + }\ },\ - \"DescribeTagsInput\":{\ + \"DescribeSSLPoliciesInput\":{\ \"type\":\"structure\",\ - \"required\":[\"LoadBalancerNames\"],\ \"members\":{\ - \"LoadBalancerNames\":{\ - \"shape\":\"LoadBalancerNamesMax20\",\ - \"documentation\":\"The names of the load balancers.
\"\ - }\ - },\ - \"documentation\":\"Contains the parameters for DescribeTags.
\"\ - },\ - \"DescribeTagsOutput\":{\ - \"type\":\"structure\",\ + \"Names\":{\ + \"shape\":\"SslPolicyNames\",\ + \"documentation\":\"The names of the policies.
\"\ + },\ + \"Marker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"The marker for the next set of results. (You received this marker from a previous call.)
\"\ + },\ + \"PageSize\":{\ + \"shape\":\"PageSize\",\ + \"documentation\":\"The maximum number of results to return with this call.
\"\ + }\ + }\ + },\ + \"DescribeSSLPoliciesOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"SslPolicies\":{\ + \"shape\":\"SslPolicies\",\ + \"documentation\":\"Information about the security policies.
\"\ + },\ + \"NextMarker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
\"\ + }\ + }\ + },\ + \"DescribeTagsInput\":{\ + \"type\":\"structure\",\ + \"required\":[\"ResourceArns\"],\ + \"members\":{\ + \"ResourceArns\":{\ + \"shape\":\"ResourceArns\",\ + \"documentation\":\"The Amazon Resource Names (ARN) of the resources. You can specify up to 20 resources in a single call.
\"\ + }\ + }\ + },\ + \"DescribeTagsOutput\":{\ + \"type\":\"structure\",\ \"members\":{\ \"TagDescriptions\":{\ \"shape\":\"TagDescriptions\",\ \"documentation\":\"Information about the tags.
\"\ }\ - },\ - \"documentation\":\"Contains the output for DescribeTags.
\"\ + }\ },\ - \"Description\":{\"type\":\"string\"},\ - \"DetachLoadBalancerFromSubnetsInput\":{\ + \"DescribeTargetGroupAttributesInput\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"Subnets\"\ - ],\ + \"required\":[\"TargetGroupArn\"],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group.
\"\ + }\ + }\ + },\ + \"DescribeTargetGroupAttributesOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Attributes\":{\ + \"shape\":\"TargetGroupAttributes\",\ + \"documentation\":\"Information about the target group attributes
\"\ + }\ + }\ + },\ + \"DescribeTargetGroupsInput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ },\ - \"Subnets\":{\ - \"shape\":\"Subnets\",\ - \"documentation\":\"The IDs of the subnets.
\"\ + \"TargetGroupArns\":{\ + \"shape\":\"TargetGroupArns\",\ + \"documentation\":\"The Amazon Resource Names (ARN) of the target groups.
\"\ + },\ + \"Names\":{\ + \"shape\":\"TargetGroupNames\",\ + \"documentation\":\"The names of the target groups.
\"\ + },\ + \"Marker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"The marker for the next set of results. (You received this marker from a previous call.)
\"\ + },\ + \"PageSize\":{\ + \"shape\":\"PageSize\",\ + \"documentation\":\"The maximum number of results to return with this call.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DetachLoadBalancerFromSubnets.
\"\ + }\ },\ - \"DetachLoadBalancerFromSubnetsOutput\":{\ + \"DescribeTargetGroupsOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"Subnets\":{\ - \"shape\":\"Subnets\",\ - \"documentation\":\"The IDs of the remaining subnets for the load balancer.
\"\ + \"TargetGroups\":{\ + \"shape\":\"TargetGroups\",\ + \"documentation\":\"Information about the target groups.
\"\ + },\ + \"NextMarker\":{\ + \"shape\":\"Marker\",\ + \"documentation\":\"If there are additional results, this is the marker for the next set of results. Otherwise, this is null.
\"\ }\ - },\ - \"documentation\":\"Contains the output of DetachLoadBalancerFromSubnets.
\"\ + }\ + },\ + \"DescribeTargetHealthInput\":{\ + \"type\":\"structure\",\ + \"required\":[\"TargetGroupArn\"],\ + \"members\":{\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group.
\"\ + },\ + \"Targets\":{\ + \"shape\":\"TargetDescriptions\",\ + \"documentation\":\"The targets.
\"\ + }\ + }\ + },\ + \"DescribeTargetHealthOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TargetHealthDescriptions\":{\ + \"shape\":\"TargetHealthDescriptions\",\ + \"documentation\":\"Information about the health of the targets.
\"\ + }\ + }\ },\ - \"DuplicateAccessPointNameException\":{\ + \"Description\":{\"type\":\"string\"},\ + \"DuplicateListenerException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The specified load balancer name already exists for this account.
\",\ + \"documentation\":\"A listener with the specified port already exists.
\",\ \"error\":{\ - \"code\":\"DuplicateLoadBalancerName\",\ + \"code\":\"DuplicateListener\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ \"exception\":true\ },\ - \"DuplicateListenerException\":{\ + \"DuplicateLoadBalancerNameException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"A listener already exists for the specified load balancer name and port, but with a different instance port, protocol, or SSL certificate.
\",\ + \"documentation\":\"A load balancer with the specified name already exists.
\",\ \"error\":{\ - \"code\":\"DuplicateListener\",\ + \"code\":\"DuplicateLoadBalancerName\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ \"exception\":true\ },\ - \"DuplicatePolicyNameException\":{\ + \"DuplicateTagKeysException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"A policy with the specified name already exists for this load balancer.
\",\ + \"documentation\":\"A tag key was specified more than once.
\",\ \"error\":{\ - \"code\":\"DuplicatePolicyName\",\ + \"code\":\"DuplicateTagKeys\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ \"exception\":true\ },\ - \"DuplicateTagKeysException\":{\ + \"DuplicateTargetGroupNameException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"A tag key was specified more than once.
\",\ + \"documentation\":\"A target group with the specified name already exists.
\",\ \"error\":{\ - \"code\":\"DuplicateTagKeys\",\ + \"code\":\"DuplicateTargetGroupName\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ \"exception\":true\ },\ - \"EndPointPort\":{\"type\":\"integer\"},\ - \"HealthCheck\":{\ + \"FixedResponseActionConfig\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"Target\",\ - \"Interval\",\ - \"Timeout\",\ - \"UnhealthyThreshold\",\ - \"HealthyThreshold\"\ - ],\ + \"required\":[\"StatusCode\"],\ \"members\":{\ - \"Target\":{\ - \"shape\":\"HealthCheckTarget\",\ - \"documentation\":\"The instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535.
TCP is the default, specified as a TCP: port pair, for example \\\"TCP:5000\\\". In this case, a health check simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy.
SSL is also specified as SSL: port pair, for example, SSL:5000.
For HTTP/HTTPS, you must include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example \\\"HTTP:80/weather/us/wa/seattle\\\". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than \\\"200 OK\\\" within the timeout period is considered unhealthy.
The total length of the HTTP ping target must be 1024 16-bit Unicode characters or less.
\"\ + \"MessageBody\":{\ + \"shape\":\"FixedResponseActionMessage\",\ + \"documentation\":\"The message.
\"\ },\ - \"Interval\":{\ - \"shape\":\"HealthCheckInterval\",\ - \"documentation\":\"The approximate interval, in seconds, between health checks of an individual instance.
\"\ + \"StatusCode\":{\ + \"shape\":\"FixedResponseActionStatusCode\",\ + \"documentation\":\"The HTTP response code (2XX, 4XX, or 5XX).
\"\ },\ - \"Timeout\":{\ - \"shape\":\"HealthCheckTimeout\",\ - \"documentation\":\"The amount of time, in seconds, during which no response means a failed health check.
This value must be less than the Interval
value.
The number of consecutive health check failures required before moving the instance to the Unhealthy
state.
The content type.
Valid Values: text/plain | text/css | text/html | application/javascript | application/json
\"\ + }\ + },\ + \"documentation\":\"Information about an action that returns a custom HTTP response.
\"\ + },\ + \"FixedResponseActionContentType\":{\ + \"type\":\"string\",\ + \"max\":32,\ + \"min\":0\ + },\ + \"FixedResponseActionMessage\":{\ + \"type\":\"string\",\ + \"max\":1024,\ + \"min\":0\ + },\ + \"FixedResponseActionStatusCode\":{\ + \"type\":\"string\",\ + \"pattern\":\"^(2|4|5)\\\\d\\\\d$\"\ + },\ + \"ForwardActionConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TargetGroups\":{\ + \"shape\":\"TargetGroupList\",\ + \"documentation\":\"One or more target groups. For Network Load Balancers, you can specify a single target group.
\"\ },\ - \"HealthyThreshold\":{\ - \"shape\":\"HealthyThreshold\",\ - \"documentation\":\"The number of consecutive health checks successes required before moving the instance to the Healthy
state.
The target group stickiness for the rule.
\"\ }\ },\ - \"documentation\":\"Information about a health check.
\"\ + \"documentation\":\"Information about a forward action.
\"\ },\ - \"HealthCheckInterval\":{\ + \"HealthCheckEnabled\":{\"type\":\"boolean\"},\ + \"HealthCheckIntervalSeconds\":{\ \"type\":\"integer\",\ \"max\":300,\ \"min\":5\ },\ - \"HealthCheckTarget\":{\"type\":\"string\"},\ - \"HealthCheckTimeout\":{\ + \"HealthCheckPort\":{\"type\":\"string\"},\ + \"HealthCheckThresholdCount\":{\ \"type\":\"integer\",\ - \"max\":60,\ + \"max\":10,\ \"min\":2\ },\ - \"HealthyThreshold\":{\ + \"HealthCheckTimeoutSeconds\":{\ \"type\":\"integer\",\ - \"max\":10,\ + \"max\":120,\ \"min\":2\ },\ - \"IdleTimeout\":{\ - \"type\":\"integer\",\ - \"max\":3600,\ - \"min\":1\ + \"HealthUnavailableException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"The health of the specified targets could not be retrieved due to an internal error.
\",\ + \"error\":{\ + \"code\":\"HealthUnavailable\",\ + \"httpStatusCode\":500\ + },\ + \"exception\":true\ },\ - \"Instance\":{\ + \"HostHeaderConditionConfig\":{\ \"type\":\"structure\",\ \"members\":{\ - \"InstanceId\":{\ - \"shape\":\"InstanceId\",\ - \"documentation\":\"The instance ID.
\"\ + \"Values\":{\ + \"shape\":\"ListOfString\",\ + \"documentation\":\"One or more host names. The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).
If you specify multiple strings, the condition is satisfied if one of the strings matches the host name.
\"\ }\ },\ - \"documentation\":\"The ID of an EC2 instance.
\"\ - },\ - \"InstanceId\":{\"type\":\"string\"},\ - \"InstancePort\":{\ - \"type\":\"integer\",\ - \"max\":65535,\ - \"min\":1\ + \"documentation\":\"Information about a host header condition.
\"\ },\ - \"InstanceState\":{\ + \"HttpCode\":{\"type\":\"string\"},\ + \"HttpHeaderConditionConfig\":{\ \"type\":\"structure\",\ \"members\":{\ - \"InstanceId\":{\ - \"shape\":\"InstanceId\",\ - \"documentation\":\"The ID of the instance.
\"\ - },\ - \"State\":{\ - \"shape\":\"State\",\ - \"documentation\":\"The current state of the instance.
Valid values: InService
| OutOfService
| Unknown
The name of the HTTP header field. The maximum size is 40 characters. The header name is case insensitive. The allowed characters are specified by RFC 7230. Wildcards are not supported.
You can't use an HTTP header condition to specify the host header. Use HostHeaderConditionConfig to specify a host header condition.
\"\ },\ - \"ReasonCode\":{\ - \"shape\":\"ReasonCode\",\ - \"documentation\":\"Information about the cause of OutOfService
instances. Specifically, whether the cause is Elastic Load Balancing or the instance.
Valid values: ELB
| Instance
| N/A
A description of the instance state. This string can contain one or more of the following messages.
N/A
A transient error occurred. Please try again later.
Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
Instance has not passed the configured HealthyThreshold number of health checks consecutively.
Instance registration is still in progress.
Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.
Instance is not currently registered with the LoadBalancer.
Instance deregistration currently in progress.
Disable Availability Zone is currently in progress.
Instance is in pending state.
Instance is in stopped state.
Instance is in terminated state.
One or more strings to compare against the value of the HTTP header. The maximum size of each string is 128 characters. The comparison strings are case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).
If the same header appears multiple times in the request, we search them in order until a match is found.
If you specify multiple strings, the condition is satisfied if one of the strings matches the value of the HTTP header. To require that all of the strings are a match, create one condition per string.
\"\ }\ },\ - \"documentation\":\"Information about the state of an EC2 instance.
\"\ + \"documentation\":\"Information about an HTTP header condition.
There is a set of standard HTTP header fields. You can also define custom HTTP header fields.
\"\ },\ - \"InstanceStates\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"InstanceState\"}\ + \"HttpHeaderConditionName\":{\"type\":\"string\"},\ + \"HttpRequestMethodConditionConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Values\":{\ + \"shape\":\"ListOfString\",\ + \"documentation\":\"The name of the request method. The maximum size is 40 characters. The allowed characters are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not supported; therefore, the method name must be an exact match.
If you specify multiple strings, the condition is satisfied if one of the strings matches the HTTP request method. We recommend that you route GET and HEAD requests in the same way, because the response to a HEAD request may be cached.
\"\ + }\ + },\ + \"documentation\":\"Information about an HTTP method condition.
HTTP defines a set of request methods, also referred to as HTTP verbs. For more information, see the HTTP Method Registry. You can also define custom HTTP methods.
\"\ },\ - \"Instances\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"Instance\"}\ + \"IncompatibleProtocolsException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"The specified configuration is not valid with this protocol.
\",\ + \"error\":{\ + \"code\":\"IncompatibleProtocols\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ },\ \"InvalidConfigurationRequestException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The requested configuration change is not valid.
\",\ + \"documentation\":\"The requested configuration is not valid.
\",\ \"error\":{\ \"code\":\"InvalidConfigurationRequest\",\ - \"httpStatusCode\":409,\ + \"httpStatusCode\":400,\ \"senderFault\":true\ },\ \"exception\":true\ },\ - \"InvalidEndPointException\":{\ + \"InvalidLoadBalancerActionException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The specified endpoint is not valid.
\",\ + \"documentation\":\"The requested action is not valid.
\",\ \"error\":{\ - \"code\":\"InvalidInstance\",\ + \"code\":\"InvalidLoadBalancerAction\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ @@ -1530,7 +1893,7 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The specified value for the schema is not valid. You can only specify a scheme for load balancers in a VPC.
\",\ + \"documentation\":\"The requested scheme is not valid.
\",\ \"error\":{\ \"code\":\"InvalidScheme\",\ \"httpStatusCode\":400,\ @@ -1542,7 +1905,7 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"One or more of the specified security groups do not exist.
\",\ + \"documentation\":\"The specified security group does not exist.
\",\ \"error\":{\ \"code\":\"InvalidSecurityGroup\",\ \"httpStatusCode\":400,\ @@ -1554,7 +1917,7 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The specified VPC has no associated Internet gateway.
\",\ + \"documentation\":\"The specified subnet is out of available addresses.
\",\ \"error\":{\ \"code\":\"InvalidSubnet\",\ \"httpStatusCode\":400,\ @@ -1562,30 +1925,33 @@ - (NSString *)definitionString { },\ \"exception\":true\ },\ - \"LBCookieStickinessPolicies\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"LBCookieStickinessPolicy\"}\ - },\ - \"LBCookieStickinessPolicy\":{\ + \"InvalidTargetException\":{\ \"type\":\"structure\",\ \"members\":{\ - \"PolicyName\":{\ - \"shape\":\"PolicyName\",\ - \"documentation\":\"The name of the policy. This name must be unique within the set of policies for this load balancer.
\"\ - },\ - \"CookieExpirationPeriod\":{\ - \"shape\":\"CookieExpirationPeriod\",\ - \"documentation\":\"The time period, in seconds, after which the cookie should be considered stale. If this parameter is not specified, the stickiness session lasts for the duration of the browser session.
\"\ - }\ },\ - \"documentation\":\"Information about a policy for duration-based session stickiness.
\"\ + \"documentation\":\"The specified target does not exist, is not in the same VPC as the target group, or has an unsupported instance type.
\",\ + \"error\":{\ + \"code\":\"InvalidTarget\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"IpAddress\":{\"type\":\"string\"},\ + \"IpAddressType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"ipv4\",\ + \"dualstack\"\ + ]\ },\ + \"IsDefault\":{\"type\":\"boolean\"},\ \"Limit\":{\ \"type\":\"structure\",\ \"members\":{\ \"Name\":{\ \"shape\":\"Name\",\ - \"documentation\":\"The name of the limit. The possible values are:
classic-listeners
classic-load-balancers
classic-registered-instances
The name of the limit. The possible values are:
application-load-balancers
listeners-per-application-load-balancer
listeners-per-network-load-balancer
network-load-balancers
rules-per-application-load-balancer
target-groups
target-groups-per-action-on-application-load-balancer
target-groups-per-action-on-network-load-balancer
target-groups-per-application-load-balancer
targets-per-application-load-balancer
targets-per-availability-zone-per-network-load-balancer
targets-per-network-load-balancer
The load balancer transport protocol to use for routing: HTTP, HTTPS, TCP, or SSL.
\"\ + \"ListenerArn\":{\ + \"shape\":\"ListenerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the listener.
\"\ },\ - \"LoadBalancerPort\":{\ - \"shape\":\"AccessPointPort\",\ - \"documentation\":\"The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535.
\"\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ },\ - \"InstanceProtocol\":{\ - \"shape\":\"Protocol\",\ - \"documentation\":\"The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or SSL.
If the front-end protocol is HTTP, HTTPS, TCP, or SSL, InstanceProtocol
must be at the same protocol.
If there is another listener with the same InstancePort
whose InstanceProtocol
is secure, (HTTPS or SSL), the listener's InstanceProtocol
must also be secure.
If there is another listener with the same InstancePort
whose InstanceProtocol
is HTTP or TCP, the listener's InstanceProtocol
must be HTTP or TCP.
The port on which the load balancer is listening.
\"\ },\ - \"InstancePort\":{\ - \"shape\":\"InstancePort\",\ - \"documentation\":\"The port on which the instance is listening.
\"\ + \"Protocol\":{\ + \"shape\":\"ProtocolEnum\",\ + \"documentation\":\"The protocol for connections from clients to the load balancer.
\"\ },\ - \"SSLCertificateId\":{\ - \"shape\":\"SSLCertificateId\",\ - \"documentation\":\"The Amazon Resource Name (ARN) of the server certificate.
\"\ - }\ - },\ - \"documentation\":\"Information about a listener.
For information about the protocols and the ports supported by Elastic Load Balancing, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.
\"\ - },\ - \"ListenerDescription\":{\ - \"type\":\"structure\",\ - \"members\":{\ - \"Listener\":{\ - \"shape\":\"Listener\",\ - \"documentation\":\"The listener.
\"\ + \"Certificates\":{\ + \"shape\":\"CertificateList\",\ + \"documentation\":\"[HTTPS or TLS listener] The default certificate for the listener.
\"\ + },\ + \"SslPolicy\":{\ + \"shape\":\"SslPolicyName\",\ + \"documentation\":\"[HTTPS or TLS listener] The security policy that defines which protocols and ciphers are supported.
\"\ },\ - \"PolicyNames\":{\ - \"shape\":\"PolicyNames\",\ - \"documentation\":\"The policies. If there are no policies enabled, the list is empty.
\"\ + \"DefaultActions\":{\ + \"shape\":\"Actions\",\ + \"documentation\":\"The default actions for the listener.
\"\ + },\ + \"AlpnPolicy\":{\ + \"shape\":\"AlpnPolicyName\",\ + \"documentation\":\"[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.
\"\ }\ },\ - \"documentation\":\"The policies enabled for a listener.
\"\ + \"documentation\":\"Information about a listener.
\"\ },\ - \"ListenerDescriptions\":{\ + \"ListenerArn\":{\"type\":\"string\"},\ + \"ListenerArns\":{\ \"type\":\"list\",\ - \"member\":{\"shape\":\"ListenerDescription\"}\ + \"member\":{\"shape\":\"ListenerArn\"}\ },\ \"ListenerNotFoundException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The load balancer does not have a listener configured at the specified port.
\",\ + \"documentation\":\"The specified listener does not exist.
\",\ \"error\":{\ \"code\":\"ListenerNotFound\",\ \"httpStatusCode\":400,\ @@ -1663,546 +2027,894 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"Listener\"}\ },\ - \"LoadBalancerAttributeNotFoundException\":{\ - \"type\":\"structure\",\ - \"members\":{\ - },\ - \"documentation\":\"The specified load balancer attribute does not exist.
\",\ - \"error\":{\ - \"code\":\"LoadBalancerAttributeNotFound\",\ - \"httpStatusCode\":400,\ - \"senderFault\":true\ - },\ - \"exception\":true\ - },\ - \"LoadBalancerAttributes\":{\ + \"LoadBalancer\":{\ \"type\":\"structure\",\ \"members\":{\ - \"CrossZoneLoadBalancing\":{\ - \"shape\":\"CrossZoneLoadBalancing\",\ - \"documentation\":\"If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
For more information, see Configure Cross-Zone Load Balancing in the Classic Load Balancers Guide.
\"\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ },\ - \"AccessLog\":{\ - \"shape\":\"AccessLog\",\ - \"documentation\":\"If enabled, the load balancer captures detailed information of all requests and delivers the information to the Amazon S3 bucket that you specify.
For more information, see Enable Access Logs in the Classic Load Balancers Guide.
\"\ + \"DNSName\":{\ + \"shape\":\"DNSName\",\ + \"documentation\":\"The public DNS name of the load balancer.
\"\ },\ - \"ConnectionDraining\":{\ - \"shape\":\"ConnectionDraining\",\ - \"documentation\":\"If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.
For more information, see Configure Connection Draining in the Classic Load Balancers Guide.
\"\ + \"CanonicalHostedZoneId\":{\ + \"shape\":\"CanonicalHostedZoneId\",\ + \"documentation\":\"The ID of the Amazon Route 53 hosted zone associated with the load balancer.
\"\ },\ - \"ConnectionSettings\":{\ - \"shape\":\"ConnectionSettings\",\ - \"documentation\":\"If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.
By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. For more information, see Configure Idle Connection Timeout in the Classic Load Balancers Guide.
\"\ + \"CreatedTime\":{\ + \"shape\":\"CreatedTime\",\ + \"documentation\":\"The date and time the load balancer was created.
\"\ },\ - \"AdditionalAttributes\":{\ - \"shape\":\"AdditionalAttributes\",\ - \"documentation\":\"This parameter is reserved.
\"\ - }\ - },\ - \"documentation\":\"The attributes for a load balancer.
\"\ - },\ - \"LoadBalancerDescription\":{\ - \"type\":\"structure\",\ - \"members\":{\ \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ + \"shape\":\"LoadBalancerName\",\ \"documentation\":\"The name of the load balancer.
\"\ },\ - \"DNSName\":{\ - \"shape\":\"DNSName\",\ - \"documentation\":\"The DNS name of the load balancer.
\"\ - },\ - \"CanonicalHostedZoneName\":{\ - \"shape\":\"DNSName\",\ - \"documentation\":\"The DNS name of the load balancer.
For more information, see Configure a Custom Domain Name in the Classic Load Balancers Guide.
\"\ - },\ - \"CanonicalHostedZoneNameID\":{\ - \"shape\":\"DNSName\",\ - \"documentation\":\"The ID of the Amazon Route 53 hosted zone for the load balancer.
\"\ + \"Scheme\":{\ + \"shape\":\"LoadBalancerSchemeEnum\",\ + \"documentation\":\"The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.
The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.
\"\ },\ - \"ListenerDescriptions\":{\ - \"shape\":\"ListenerDescriptions\",\ - \"documentation\":\"The listeners for the load balancer.
\"\ + \"VpcId\":{\ + \"shape\":\"VpcId\",\ + \"documentation\":\"The ID of the VPC for the load balancer.
\"\ },\ - \"Policies\":{\ - \"shape\":\"Policies\",\ - \"documentation\":\"The policies defined for the load balancer.
\"\ + \"State\":{\ + \"shape\":\"LoadBalancerState\",\ + \"documentation\":\"The state of the load balancer.
\"\ },\ - \"BackendServerDescriptions\":{\ - \"shape\":\"BackendServerDescriptions\",\ - \"documentation\":\"Information about your EC2 instances.
\"\ + \"Type\":{\ + \"shape\":\"LoadBalancerTypeEnum\",\ + \"documentation\":\"The type of load balancer.
\"\ },\ \"AvailabilityZones\":{\ \"shape\":\"AvailabilityZones\",\ \"documentation\":\"The Availability Zones for the load balancer.
\"\ },\ - \"Subnets\":{\ - \"shape\":\"Subnets\",\ - \"documentation\":\"The IDs of the subnets for the load balancer.
\"\ - },\ - \"VPCId\":{\ - \"shape\":\"VPCId\",\ - \"documentation\":\"The ID of the VPC for the load balancer.
\"\ - },\ - \"Instances\":{\ - \"shape\":\"Instances\",\ - \"documentation\":\"The IDs of the instances for the load balancer.
\"\ - },\ - \"HealthCheck\":{\ - \"shape\":\"HealthCheck\",\ - \"documentation\":\"Information about the health checks conducted on the load balancer.
\"\ - },\ - \"SourceSecurityGroup\":{\ - \"shape\":\"SourceSecurityGroup\",\ - \"documentation\":\"The security group for the load balancer, which you can use as part of your inbound rules for your registered instances. To only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.
\"\ - },\ \"SecurityGroups\":{\ \"shape\":\"SecurityGroups\",\ - \"documentation\":\"The security groups for the load balancer. Valid only for load balancers in a VPC.
\"\ + \"documentation\":\"The IDs of the security groups for the load balancer.
\"\ },\ - \"CreatedTime\":{\ - \"shape\":\"CreatedTime\",\ - \"documentation\":\"The date and time the load balancer was created.
\"\ - },\ - \"Scheme\":{\ - \"shape\":\"LoadBalancerScheme\",\ - \"documentation\":\"The type of load balancer. Valid only for load balancers in a VPC.
If Scheme
is internet-facing
, the load balancer has a public DNS name that resolves to a public IP address.
If Scheme
is internal
, the load balancer has a public DNS name that resolves to a private IP address.
The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
(for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
Information about a load balancer.
\"\ },\ - \"LoadBalancerDescriptions\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"LoadBalancerDescription\"}\ - },\ - \"LoadBalancerNames\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"AccessPointName\"}\ - },\ - \"LoadBalancerNamesMax20\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"AccessPointName\"},\ - \"max\":20,\ - \"min\":1\ - },\ - \"LoadBalancerScheme\":{\"type\":\"string\"},\ - \"Marker\":{\"type\":\"string\"},\ - \"Max\":{\"type\":\"string\"},\ - \"ModifyLoadBalancerAttributesInput\":{\ + \"LoadBalancerAddress\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"LoadBalancerAttributes\"\ - ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"IpAddress\":{\ + \"shape\":\"IpAddress\",\ + \"documentation\":\"The static IP address.
\"\ },\ - \"LoadBalancerAttributes\":{\ - \"shape\":\"LoadBalancerAttributes\",\ - \"documentation\":\"The attributes for the load balancer.
\"\ + \"AllocationId\":{\ + \"shape\":\"AllocationId\",\ + \"documentation\":\"[Network Load Balancers] The allocation ID of the Elastic IP address for an internal-facing load balancer.
\"\ + },\ + \"PrivateIPv4Address\":{\ + \"shape\":\"PrivateIPv4Address\",\ + \"documentation\":\"[Network Load Balancers] The private IPv4 address for an internal load balancer.
\"\ }\ },\ - \"documentation\":\"Contains the parameters for ModifyLoadBalancerAttributes.
\"\ + \"documentation\":\"Information about a static IP address for a load balancer.
\"\ },\ - \"ModifyLoadBalancerAttributesOutput\":{\ + \"LoadBalancerAddresses\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"LoadBalancerAddress\"}\ + },\ + \"LoadBalancerArn\":{\"type\":\"string\"},\ + \"LoadBalancerArns\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"LoadBalancerArn\"}\ + },\ + \"LoadBalancerAttribute\":{\ \"type\":\"structure\",\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"Key\":{\ + \"shape\":\"LoadBalancerAttributeKey\",\ + \"documentation\":\"The name of the attribute.
The following attributes are supported by both Application Load Balancers and Network Load Balancers:
access_logs.s3.enabled
- Indicates whether access logs are enabled. The value is true
or false
. The default is false
.
access_logs.s3.bucket
- The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.
access_logs.s3.prefix
- The prefix for the location in the S3 bucket for the access logs.
deletion_protection.enabled
- Indicates whether deletion protection is enabled. The value is true
or false
. The default is false
.
The following attributes are supported by only Application Load Balancers:
idle_timeout.timeout_seconds
- The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.
routing.http.desync_mitigation_mode
- Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor
, defensive
, and strictest
. The default is defensive
.
routing.http.drop_invalid_header_fields.enabled
- Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true
) or routed to targets (false
). The default is false
.
routing.http2.enabled
- Indicates whether HTTP/2 is enabled. The value is true
or false
. The default is true
. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.
The following attributes are supported by only Network Load Balancers:
load_balancing.cross_zone.enabled
- Indicates whether cross-zone load balancing is enabled. The value is true
or false
. The default is false
.
Information about the load balancer attributes.
\"\ + \"Value\":{\ + \"shape\":\"LoadBalancerAttributeValue\",\ + \"documentation\":\"The value of the attribute.
\"\ }\ },\ - \"documentation\":\"Contains the output of ModifyLoadBalancerAttributes.
\"\ + \"documentation\":\"Information about a load balancer attribute.
\"\ },\ - \"Name\":{\"type\":\"string\"},\ - \"OperationNotPermittedException\":{\ + \"LoadBalancerAttributeKey\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"pattern\":\"^[a-zA-Z0-9._]+$\"\ + },\ + \"LoadBalancerAttributeValue\":{\ + \"type\":\"string\",\ + \"max\":1024\ + },\ + \"LoadBalancerAttributes\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"LoadBalancerAttribute\"},\ + \"max\":20\ + },\ + \"LoadBalancerName\":{\"type\":\"string\"},\ + \"LoadBalancerNames\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"LoadBalancerName\"}\ + },\ + \"LoadBalancerNotFoundException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"This operation is not allowed.
\",\ + \"documentation\":\"The specified load balancer does not exist.
\",\ \"error\":{\ - \"code\":\"OperationNotPermitted\",\ + \"code\":\"LoadBalancerNotFound\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ \"exception\":true\ },\ - \"PageSize\":{\ - \"type\":\"integer\",\ - \"max\":400,\ - \"min\":1\ + \"LoadBalancerSchemeEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"internet-facing\",\ + \"internal\"\ + ]\ },\ - \"Policies\":{\ + \"LoadBalancerState\":{\ \"type\":\"structure\",\ \"members\":{\ - \"AppCookieStickinessPolicies\":{\ - \"shape\":\"AppCookieStickinessPolicies\",\ - \"documentation\":\"The stickiness policies created using CreateAppCookieStickinessPolicy.
\"\ + \"Code\":{\ + \"shape\":\"LoadBalancerStateEnum\",\ + \"documentation\":\"The state code. The initial state of the load balancer is provisioning
. After the load balancer is fully set up and ready to route traffic, its state is active
. If the load balancer could not be set up, its state is failed
.
The stickiness policies created using CreateLBCookieStickinessPolicy.
\"\ - },\ - \"OtherPolicies\":{\ - \"shape\":\"PolicyNames\",\ - \"documentation\":\"The policies other than the stickiness policies.
\"\ + \"Reason\":{\ + \"shape\":\"StateReason\",\ + \"documentation\":\"A description of the state.
\"\ }\ },\ - \"documentation\":\"The policies for a load balancer.
\"\ + \"documentation\":\"Information about the state of the load balancer.
\"\ + },\ + \"LoadBalancerStateEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"active\",\ + \"provisioning\",\ + \"active_impaired\",\ + \"failed\"\ + ]\ + },\ + \"LoadBalancerTypeEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"application\",\ + \"network\"\ + ]\ },\ - \"PolicyAttribute\":{\ + \"LoadBalancers\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"LoadBalancer\"}\ + },\ + \"Marker\":{\"type\":\"string\"},\ + \"Matcher\":{\ \"type\":\"structure\",\ + \"required\":[\"HttpCode\"],\ \"members\":{\ - \"AttributeName\":{\ - \"shape\":\"AttributeName\",\ - \"documentation\":\"The name of the attribute.
\"\ - },\ - \"AttributeValue\":{\ - \"shape\":\"AttributeValue\",\ - \"documentation\":\"The value of the attribute.
\"\ + \"HttpCode\":{\ + \"shape\":\"HttpCode\",\ + \"documentation\":\"The HTTP codes.
For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, \\\"200,202\\\") or a range of values (for example, \\\"200-299\\\").
For Network Load Balancers, this is 200–399.
\"\ }\ },\ - \"documentation\":\"Information about a policy attribute.
\"\ + \"documentation\":\"Information to use when checking for a successful response from a target.
\"\ },\ - \"PolicyAttributeDescription\":{\ + \"Max\":{\"type\":\"string\"},\ + \"ModifyListenerInput\":{\ \"type\":\"structure\",\ + \"required\":[\"ListenerArn\"],\ \"members\":{\ - \"AttributeName\":{\ - \"shape\":\"AttributeName\",\ - \"documentation\":\"The name of the attribute.
\"\ + \"ListenerArn\":{\ + \"shape\":\"ListenerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the listener.
\"\ },\ - \"AttributeValue\":{\ - \"shape\":\"AttributeValue\",\ - \"documentation\":\"The value of the attribute.
\"\ + \"Port\":{\ + \"shape\":\"Port\",\ + \"documentation\":\"The port for connections from clients to the load balancer.
\"\ + },\ + \"Protocol\":{\ + \"shape\":\"ProtocolEnum\",\ + \"documentation\":\"The protocol for connections from clients to the load balancer. Application Load Balancers support the HTTP and HTTPS protocols. Network Load Balancers support the TCP, TLS, UDP, and TCP_UDP protocols.
\"\ + },\ + \"SslPolicy\":{\ + \"shape\":\"SslPolicyName\",\ + \"documentation\":\"[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. The following are the possible values:
ELBSecurityPolicy-2016-08
ELBSecurityPolicy-TLS-1-0-2015-04
ELBSecurityPolicy-TLS-1-1-2017-01
ELBSecurityPolicy-TLS-1-2-2017-01
ELBSecurityPolicy-TLS-1-2-Ext-2018-06
ELBSecurityPolicy-FS-2018-06
ELBSecurityPolicy-FS-1-1-2019-08
ELBSecurityPolicy-FS-1-2-2019-08
ELBSecurityPolicy-FS-1-2-Res-2019-08
For more information, see Security Policies in the Application Load Balancers Guide and Security Policies in the Network Load Balancers Guide.
\"\ + },\ + \"Certificates\":{\ + \"shape\":\"CertificateList\",\ + \"documentation\":\"[HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. Set CertificateArn
to the certificate ARN but do not set IsDefault
.
To create a certificate list, use AddListenerCertificates.
\"\ + },\ + \"DefaultActions\":{\ + \"shape\":\"Actions\",\ + \"documentation\":\"The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.
If the action type is forward
, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.
[HTTPS listeners] If the action type is authenticate-oidc
, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.
[HTTPS listeners] If the action type is authenticate-cognito
, you authenticate users through the user pools supported by Amazon Cognito.
[Application Load Balancer] If the action type is redirect
, you redirect specified client requests from one URL to another.
[Application Load Balancer] If the action type is fixed-response
, you drop specified client requests and return a custom HTTP response.
[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You can specify one policy name. The following are the possible values:
HTTP1Only
HTTP2Only
HTTP2Optional
HTTP2Preferred
None
For more information, see ALPN Policies in the Network Load Balancers Guide.
\"\ }\ - },\ - \"documentation\":\"Information about a policy attribute.
\"\ + }\ },\ - \"PolicyAttributeDescriptions\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"PolicyAttributeDescription\"}\ + \"ModifyListenerOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Listeners\":{\ + \"shape\":\"Listeners\",\ + \"documentation\":\"Information about the modified listener.
\"\ + }\ + }\ },\ - \"PolicyAttributeTypeDescription\":{\ + \"ModifyLoadBalancerAttributesInput\":{\ \"type\":\"structure\",\ + \"required\":[\ + \"LoadBalancerArn\",\ + \"Attributes\"\ + ],\ \"members\":{\ - \"AttributeName\":{\ - \"shape\":\"AttributeName\",\ - \"documentation\":\"The name of the attribute.
\"\ - },\ - \"AttributeType\":{\ - \"shape\":\"AttributeType\",\ - \"documentation\":\"The type of the attribute. For example, Boolean
or Integer
.
The Amazon Resource Name (ARN) of the load balancer.
\"\ },\ - \"Description\":{\ - \"shape\":\"Description\",\ - \"documentation\":\"A description of the attribute.
\"\ + \"Attributes\":{\ + \"shape\":\"LoadBalancerAttributes\",\ + \"documentation\":\"The load balancer attributes.
\"\ + }\ + }\ + },\ + \"ModifyLoadBalancerAttributesOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Attributes\":{\ + \"shape\":\"LoadBalancerAttributes\",\ + \"documentation\":\"Information about the load balancer attributes.
\"\ + }\ + }\ + },\ + \"ModifyRuleInput\":{\ + \"type\":\"structure\",\ + \"required\":[\"RuleArn\"],\ + \"members\":{\ + \"RuleArn\":{\ + \"shape\":\"RuleArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the rule.
\"\ },\ - \"DefaultValue\":{\ - \"shape\":\"DefaultValue\",\ - \"documentation\":\"The default value of the attribute, if applicable.
\"\ + \"Conditions\":{\ + \"shape\":\"RuleConditionList\",\ + \"documentation\":\"The conditions. Each rule can include zero or one of the following conditions: http-request-method
, host-header
, path-pattern
, and source-ip
, and zero or more of the following conditions: http-header
and query-string
.
The cardinality of the attribute.
Valid values:
ONE(1) : Single value required
ZERO_OR_ONE(0..1) : Up to one value is allowed
ZERO_OR_MORE(0..*) : Optional. Multiple values are allowed
ONE_OR_MORE(1..*0) : Required. Multiple values are allowed
The actions. Each rule must include exactly one of the following types of actions: forward
, fixed-response
, or redirect
, and it must be the last action to be performed.
If the action type is forward
, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.
[HTTPS listeners] If the action type is authenticate-oidc
, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.
[HTTPS listeners] If the action type is authenticate-cognito
, you authenticate users through the user pools supported by Amazon Cognito.
[Application Load Balancer] If the action type is redirect
, you redirect specified client requests from one URL to another.
[Application Load Balancer] If the action type is fixed-response
, you drop specified client requests and return a custom HTTP response.
Information about a policy attribute type.
\"\ + }\ },\ - \"PolicyAttributeTypeDescriptions\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"PolicyAttributeTypeDescription\"}\ + \"ModifyRuleOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Rules\":{\ + \"shape\":\"Rules\",\ + \"documentation\":\"Information about the modified rule.
\"\ + }\ + }\ },\ - \"PolicyAttributes\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"PolicyAttribute\"}\ + \"ModifyTargetGroupAttributesInput\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"TargetGroupArn\",\ + \"Attributes\"\ + ],\ + \"members\":{\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group.
\"\ + },\ + \"Attributes\":{\ + \"shape\":\"TargetGroupAttributes\",\ + \"documentation\":\"The attributes.
\"\ + }\ + }\ },\ - \"PolicyDescription\":{\ + \"ModifyTargetGroupAttributesOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"PolicyName\":{\ - \"shape\":\"PolicyName\",\ - \"documentation\":\"The name of the policy.
\"\ + \"Attributes\":{\ + \"shape\":\"TargetGroupAttributes\",\ + \"documentation\":\"Information about the attributes.
\"\ + }\ + }\ + },\ + \"ModifyTargetGroupInput\":{\ + \"type\":\"structure\",\ + \"required\":[\"TargetGroupArn\"],\ + \"members\":{\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group.
\"\ + },\ + \"HealthCheckProtocol\":{\ + \"shape\":\"ProtocolEnum\",\ + \"documentation\":\"The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks.
With Network Load Balancers, you can't modify this setting.
\"\ + },\ + \"HealthCheckPort\":{\ + \"shape\":\"HealthCheckPort\",\ + \"documentation\":\"The port the load balancer uses when performing health checks on targets.
\"\ },\ - \"PolicyTypeName\":{\ - \"shape\":\"PolicyTypeName\",\ - \"documentation\":\"The name of the policy type.
\"\ + \"HealthCheckPath\":{\ + \"shape\":\"Path\",\ + \"documentation\":\"[HTTP/HTTPS health checks] The ping path that is the destination for the health check request.
\"\ },\ - \"PolicyAttributeDescriptions\":{\ - \"shape\":\"PolicyAttributeDescriptions\",\ - \"documentation\":\"The policy attributes.
\"\ + \"HealthCheckEnabled\":{\ + \"shape\":\"HealthCheckEnabled\",\ + \"documentation\":\"Indicates whether health checks are enabled.
\"\ + },\ + \"HealthCheckIntervalSeconds\":{\ + \"shape\":\"HealthCheckIntervalSeconds\",\ + \"documentation\":\"The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds.
With Network Load Balancers, you can't modify this setting.
\"\ + },\ + \"HealthCheckTimeoutSeconds\":{\ + \"shape\":\"HealthCheckTimeoutSeconds\",\ + \"documentation\":\"[HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check.
With Network Load Balancers, you can't modify this setting.
\"\ + },\ + \"HealthyThresholdCount\":{\ + \"shape\":\"HealthCheckThresholdCount\",\ + \"documentation\":\"The number of consecutive health checks successes required before considering an unhealthy target healthy.
\"\ + },\ + \"UnhealthyThresholdCount\":{\ + \"shape\":\"HealthCheckThresholdCount\",\ + \"documentation\":\"The number of consecutive health check failures required before considering the target unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold count.
\"\ + },\ + \"Matcher\":{\ + \"shape\":\"Matcher\",\ + \"documentation\":\"[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. The possible values are from 200 to 499. You can specify multiple values (for example, \\\"200,202\\\") or a range of values (for example, \\\"200-299\\\"). The default is 200.
With Network Load Balancers, you can't modify this setting.
\"\ }\ - },\ - \"documentation\":\"Information about a policy.
\"\ - },\ - \"PolicyDescriptions\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"PolicyDescription\"}\ + }\ },\ - \"PolicyName\":{\"type\":\"string\"},\ - \"PolicyNames\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"PolicyName\"}\ + \"ModifyTargetGroupOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TargetGroups\":{\ + \"shape\":\"TargetGroups\",\ + \"documentation\":\"Information about the modified target group.
\"\ + }\ + }\ },\ - \"PolicyNotFoundException\":{\ + \"Name\":{\"type\":\"string\"},\ + \"OperationNotPermittedException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"One or more of the specified policies do not exist.
\",\ + \"documentation\":\"This operation is not allowed.
\",\ \"error\":{\ - \"code\":\"PolicyNotFound\",\ + \"code\":\"OperationNotPermitted\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ \"exception\":true\ },\ - \"PolicyTypeDescription\":{\ + \"PageSize\":{\ + \"type\":\"integer\",\ + \"max\":400,\ + \"min\":1\ + },\ + \"Path\":{\ + \"type\":\"string\",\ + \"max\":1024,\ + \"min\":1\ + },\ + \"PathPatternConditionConfig\":{\ \"type\":\"structure\",\ \"members\":{\ - \"PolicyTypeName\":{\ - \"shape\":\"PolicyTypeName\",\ - \"documentation\":\"The name of the policy type.
\"\ - },\ - \"Description\":{\ - \"shape\":\"Description\",\ - \"documentation\":\"A description of the policy type.
\"\ - },\ - \"PolicyAttributeTypeDescriptions\":{\ - \"shape\":\"PolicyAttributeTypeDescriptions\",\ - \"documentation\":\"The description of the policy attributes associated with the policies defined by Elastic Load Balancing.
\"\ + \"Values\":{\ + \"shape\":\"ListOfString\",\ + \"documentation\":\"One or more path patterns to compare against the request URL. The maximum size of each string is 128 characters. The comparison is case sensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).
If you specify multiple strings, the condition is satisfied if one of them matches the request URL. The path pattern is compared only to the path of the URL, not to its query string. To compare against the query string, use QueryStringConditionConfig.
\"\ }\ },\ - \"documentation\":\"Information about a policy type.
\"\ + \"documentation\":\"Information about a path pattern condition.
\"\ },\ - \"PolicyTypeDescriptions\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"PolicyTypeDescription\"}\ - },\ - \"PolicyTypeName\":{\"type\":\"string\"},\ - \"PolicyTypeNames\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"PolicyTypeName\"}\ + \"Port\":{\ + \"type\":\"integer\",\ + \"max\":65535,\ + \"min\":1\ },\ - \"PolicyTypeNotFoundException\":{\ + \"PriorityInUseException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"One or more of the specified policy types do not exist.
\",\ + \"documentation\":\"The specified priority is in use.
\",\ \"error\":{\ - \"code\":\"PolicyTypeNotFound\",\ + \"code\":\"PriorityInUse\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ \"exception\":true\ },\ - \"Ports\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"AccessPointPort\"}\ + \"PrivateIPv4Address\":{\"type\":\"string\"},\ + \"ProtocolEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"HTTP\",\ + \"HTTPS\",\ + \"TCP\",\ + \"TLS\",\ + \"UDP\",\ + \"TCP_UDP\"\ + ]\ },\ - \"Protocol\":{\"type\":\"string\"},\ - \"ReasonCode\":{\"type\":\"string\"},\ - \"RegisterEndPointsInput\":{\ + \"QueryStringConditionConfig\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"Instances\"\ - ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"Values\":{\ + \"shape\":\"QueryStringKeyValuePairList\",\ + \"documentation\":\"One or more key/value pairs or values to find in the query string. The maximum size of each string is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). To search for a literal '*' or '?' character in a query string, you must escape these characters in Values
using a '\\\\' character.
If you specify multiple key/value pairs or values, the condition is satisfied if one of them is found in the query string.
\"\ + }\ + },\ + \"documentation\":\"Information about a query string condition.
The query string component of a URI starts after the first '?' character and is terminated by either a '#' character or the end of the URI. A typical query string contains key/value pairs separated by '&' characters. The allowed characters are specified by RFC 3986. Any character can be percentage encoded.
\"\ + },\ + \"QueryStringKeyValuePair\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Key\":{\ + \"shape\":\"StringValue\",\ + \"documentation\":\"The key. You can omit the key.
\"\ },\ - \"Instances\":{\ - \"shape\":\"Instances\",\ - \"documentation\":\"The IDs of the instances.
\"\ + \"Value\":{\ + \"shape\":\"StringValue\",\ + \"documentation\":\"The value.
\"\ }\ },\ - \"documentation\":\"Contains the parameters for RegisterInstancesWithLoadBalancer.
\"\ + \"documentation\":\"Information about a key/value pair.
\"\ },\ - \"RegisterEndPointsOutput\":{\ + \"QueryStringKeyValuePairList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"QueryStringKeyValuePair\"}\ + },\ + \"RedirectActionConfig\":{\ \"type\":\"structure\",\ + \"required\":[\"StatusCode\"],\ \"members\":{\ - \"Instances\":{\ - \"shape\":\"Instances\",\ - \"documentation\":\"The updated list of instances for the load balancer.
\"\ + \"Protocol\":{\ + \"shape\":\"RedirectActionProtocol\",\ + \"documentation\":\"The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.
\"\ + },\ + \"Port\":{\ + \"shape\":\"RedirectActionPort\",\ + \"documentation\":\"The port. You can specify a value from 1 to 65535 or #{port}.
\"\ + },\ + \"Host\":{\ + \"shape\":\"RedirectActionHost\",\ + \"documentation\":\"The hostname. This component is not percent-encoded. The hostname can contain #{host}.
\"\ + },\ + \"Path\":{\ + \"shape\":\"RedirectActionPath\",\ + \"documentation\":\"The absolute path, starting with the leading \\\"/\\\". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}.
\"\ + },\ + \"Query\":{\ + \"shape\":\"RedirectActionQuery\",\ + \"documentation\":\"The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading \\\"?\\\", as it is automatically added. You can specify any of the reserved keywords.
\"\ + },\ + \"StatusCode\":{\ + \"shape\":\"RedirectActionStatusCodeEnum\",\ + \"documentation\":\"The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).
\"\ }\ },\ - \"documentation\":\"Contains the output of RegisterInstancesWithLoadBalancer.
\"\ + \"documentation\":\"Information about a redirect action.
A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.
You can reuse URI components using the following reserved keywords:
#{protocol}
#{host}
#{port}
#{path} (the leading \\\"/\\\" is removed)
#{query}
For example, you can change the path to \\\"/new/#{path}\\\", the hostname to \\\"example.#{host}\\\", or the query to \\\"#{query}&value=xyz\\\".
\"\ + },\ + \"RedirectActionHost\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1\ + },\ + \"RedirectActionPath\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1\ + },\ + \"RedirectActionPort\":{\"type\":\"string\"},\ + \"RedirectActionProtocol\":{\ + \"type\":\"string\",\ + \"pattern\":\"^(HTTPS?|#\\\\{protocol\\\\})$\"\ },\ - \"RemoveAvailabilityZonesInput\":{\ + \"RedirectActionQuery\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":0\ + },\ + \"RedirectActionStatusCodeEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"HTTP_301\",\ + \"HTTP_302\"\ + ]\ + },\ + \"RegisterTargetsInput\":{\ \"type\":\"structure\",\ \"required\":[\ - \"LoadBalancerName\",\ - \"AvailabilityZones\"\ + \"TargetGroupArn\",\ + \"Targets\"\ ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group.
\"\ },\ - \"AvailabilityZones\":{\ - \"shape\":\"AvailabilityZones\",\ - \"documentation\":\"The Availability Zones.
\"\ + \"Targets\":{\ + \"shape\":\"TargetDescriptions\",\ + \"documentation\":\"The targets.
To register a target by instance ID, specify the instance ID. To register a target by IP address, specify the IP address. To register a Lambda function, specify the ARN of the Lambda function.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for DisableAvailabilityZonesForLoadBalancer.
\"\ + }\ },\ - \"RemoveAvailabilityZonesOutput\":{\ + \"RegisterTargetsOutput\":{\ \"type\":\"structure\",\ \"members\":{\ - \"AvailabilityZones\":{\ - \"shape\":\"AvailabilityZones\",\ - \"documentation\":\"The remaining Availability Zones for the load balancer.
\"\ + }\ + },\ + \"RemoveListenerCertificatesInput\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"ListenerArn\",\ + \"Certificates\"\ + ],\ + \"members\":{\ + \"ListenerArn\":{\ + \"shape\":\"ListenerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the listener.
\"\ + },\ + \"Certificates\":{\ + \"shape\":\"CertificateList\",\ + \"documentation\":\"The certificate to remove. You can specify one certificate per call. Set CertificateArn
to the certificate ARN but do not set IsDefault
.
Contains the output for DisableAvailabilityZonesForLoadBalancer.
\"\ + }\ + },\ + \"RemoveListenerCertificatesOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ },\ \"RemoveTagsInput\":{\ \"type\":\"structure\",\ \"required\":[\ - \"LoadBalancerNames\",\ - \"Tags\"\ + \"ResourceArns\",\ + \"TagKeys\"\ ],\ \"members\":{\ - \"LoadBalancerNames\":{\ - \"shape\":\"LoadBalancerNames\",\ - \"documentation\":\"The name of the load balancer. You can specify a maximum of one load balancer name.
\"\ + \"ResourceArns\":{\ + \"shape\":\"ResourceArns\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the resource.
\"\ },\ - \"Tags\":{\ - \"shape\":\"TagKeyList\",\ - \"documentation\":\"The list of tag keys to remove.
\"\ + \"TagKeys\":{\ + \"shape\":\"TagKeys\",\ + \"documentation\":\"The tag keys for the tags to remove.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for RemoveTags.
\"\ + }\ },\ \"RemoveTagsOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ + },\ + \"ResourceArn\":{\"type\":\"string\"},\ + \"ResourceArns\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ResourceArn\"}\ + },\ + \"ResourceInUseException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"Contains the output of RemoveTags.
\"\ + \"documentation\":\"A specified resource is in use.
\",\ + \"error\":{\ + \"code\":\"ResourceInUse\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ },\ - \"S3BucketName\":{\"type\":\"string\"},\ - \"SSLCertificateId\":{\"type\":\"string\"},\ - \"SecurityGroupId\":{\"type\":\"string\"},\ - \"SecurityGroupName\":{\"type\":\"string\"},\ - \"SecurityGroupOwnerAlias\":{\"type\":\"string\"},\ - \"SecurityGroups\":{\ + \"Rule\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"RuleArn\":{\ + \"shape\":\"RuleArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the rule.
\"\ + },\ + \"Priority\":{\ + \"shape\":\"String\",\ + \"documentation\":\"The priority.
\"\ + },\ + \"Conditions\":{\ + \"shape\":\"RuleConditionList\",\ + \"documentation\":\"The conditions. Each rule can include zero or one of the following conditions: http-request-method
, host-header
, path-pattern
, and source-ip
, and zero or more of the following conditions: http-header
and query-string
.
The actions. Each rule must include exactly one of the following types of actions: forward
, redirect
, or fixed-response
, and it must be the last action to be performed.
Indicates whether this is the default rule.
\"\ + }\ + },\ + \"documentation\":\"Information about a rule.
\"\ + },\ + \"RuleArn\":{\"type\":\"string\"},\ + \"RuleArns\":{\ \"type\":\"list\",\ - \"member\":{\"shape\":\"SecurityGroupId\"}\ + \"member\":{\"shape\":\"RuleArn\"}\ },\ - \"SetLoadBalancerListenerSSLCertificateInput\":{\ + \"RuleCondition\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"LoadBalancerPort\",\ - \"SSLCertificateId\"\ - ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"Field\":{\ + \"shape\":\"ConditionFieldName\",\ + \"documentation\":\"The field in the HTTP request. The following are the possible values:
http-header
http-request-method
host-header
path-pattern
query-string
source-ip
The condition value. Specify only when Field
is host-header
or path-pattern
. Alternatively, to specify multiple host names or multiple path patterns, use HostHeaderConfig
or PathPatternConfig
.
If Field
is host-header
and you are not using HostHeaderConfig
, you can specify a single host name (for example, my.example.com) in Values
. A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters.
A-Z, a-z, 0-9
- .
* (matches 0 or more characters)
? (matches exactly 1 character)
If Field
is path-pattern
and you are not using PathPatternConfig
, you can specify a single path pattern (for example, /img/*) in Values
. A path pattern is case-sensitive, can be up to 128 characters in length, and can contain any of the following characters.
A-Z, a-z, 0-9
_ - . $ / ~ \\\" ' @ : +
& (using &)
* (matches 0 or more characters)
? (matches exactly 1 character)
Information for a host header condition. Specify only when Field
is host-header
.
Information for a path pattern condition. Specify only when Field
is path-pattern
.
The port that uses the specified SSL certificate.
\"\ + \"HttpHeaderConfig\":{\ + \"shape\":\"HttpHeaderConditionConfig\",\ + \"documentation\":\"Information for an HTTP header condition. Specify only when Field
is http-header
.
The Amazon Resource Name (ARN) of the SSL certificate.
\"\ + \"QueryStringConfig\":{\ + \"shape\":\"QueryStringConditionConfig\",\ + \"documentation\":\"Information for a query string condition. Specify only when Field
is query-string
.
Information for an HTTP method condition. Specify only when Field
is http-request-method
.
Information for a source IP condition. Specify only when Field
is source-ip
.
Contains the parameters for SetLoadBalancerListenerSSLCertificate.
\"\ + \"documentation\":\"Information about a condition for a rule.
Each rule can optionally include up to one of each of the following conditions: http-request-method
, host-header
, path-pattern
, and source-ip
. Each rule can also optionally include one or more of each of the following conditions: http-header
and query-string
.
Contains the output of SetLoadBalancerListenerSSLCertificate.
\"\ + \"documentation\":\"The specified rule does not exist.
\",\ + \"error\":{\ + \"code\":\"RuleNotFound\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"RulePriority\":{\ + \"type\":\"integer\",\ + \"max\":50000,\ + \"min\":1\ },\ - \"SetLoadBalancerPoliciesForBackendServerInput\":{\ + \"RulePriorityList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"RulePriorityPair\"}\ + },\ + \"RulePriorityPair\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"LoadBalancerName\",\ - \"InstancePort\",\ - \"PolicyNames\"\ - ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ - },\ - \"InstancePort\":{\ - \"shape\":\"EndPointPort\",\ - \"documentation\":\"The port number associated with the EC2 instance.
\"\ + \"RuleArn\":{\ + \"shape\":\"RuleArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the rule.
\"\ },\ - \"PolicyNames\":{\ - \"shape\":\"PolicyNames\",\ - \"documentation\":\"The names of the policies. If the list is empty, then all current polices are removed from the EC2 instance.
\"\ + \"Priority\":{\ + \"shape\":\"RulePriority\",\ + \"documentation\":\"The rule priority.
\"\ }\ },\ - \"documentation\":\"Contains the parameters for SetLoadBalancerPoliciesForBackendServer.
\"\ + \"documentation\":\"Information about the priorities for the rules for a listener.
\"\ },\ - \"SetLoadBalancerPoliciesForBackendServerOutput\":{\ + \"Rules\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"Rule\"}\ + },\ + \"SSLPolicyNotFoundException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"Contains the output of SetLoadBalancerPoliciesForBackendServer.
\"\ + \"documentation\":\"The specified SSL policy does not exist.
\",\ + \"error\":{\ + \"code\":\"SSLPolicyNotFound\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"SecurityGroupId\":{\"type\":\"string\"},\ + \"SecurityGroups\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"SecurityGroupId\"}\ },\ - \"SetLoadBalancerPoliciesOfListenerInput\":{\ + \"SetIpAddressTypeInput\":{\ \"type\":\"structure\",\ \"required\":[\ - \"LoadBalancerName\",\ - \"LoadBalancerPort\",\ - \"PolicyNames\"\ + \"LoadBalancerArn\",\ + \"IpAddressType\"\ ],\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ },\ - \"LoadBalancerPort\":{\ - \"shape\":\"AccessPointPort\",\ - \"documentation\":\"The external port of the load balancer.
\"\ + \"IpAddressType\":{\ + \"shape\":\"IpAddressType\",\ + \"documentation\":\"The IP address type. The possible values are ipv4
(for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses). Internal load balancers must use ipv4
. Network Load Balancers must use ipv4
.
The IP address type.
\"\ + }\ + }\ + },\ + \"SetRulePrioritiesInput\":{\ + \"type\":\"structure\",\ + \"required\":[\"RulePriorities\"],\ + \"members\":{\ + \"RulePriorities\":{\ + \"shape\":\"RulePriorityList\",\ + \"documentation\":\"The rule priorities.
\"\ + }\ + }\ + },\ + \"SetRulePrioritiesOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Rules\":{\ + \"shape\":\"Rules\",\ + \"documentation\":\"Information about the rules.
\"\ + }\ + }\ + },\ + \"SetSecurityGroupsInput\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"LoadBalancerArn\",\ + \"SecurityGroups\"\ + ],\ + \"members\":{\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ },\ - \"PolicyNames\":{\ - \"shape\":\"PolicyNames\",\ - \"documentation\":\"The names of the policies. This list must include all policies to be enabled. If you omit a policy that is currently enabled, it is disabled. If the list is empty, all current policies are disabled.
\"\ + \"SecurityGroups\":{\ + \"shape\":\"SecurityGroups\",\ + \"documentation\":\"The IDs of the security groups.
\"\ }\ - },\ - \"documentation\":\"Contains the parameters for SetLoadBalancePoliciesOfListener.
\"\ + }\ + },\ + \"SetSecurityGroupsOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"SecurityGroupIds\":{\ + \"shape\":\"SecurityGroups\",\ + \"documentation\":\"The IDs of the security groups associated with the load balancer.
\"\ + }\ + }\ + },\ + \"SetSubnetsInput\":{\ + \"type\":\"structure\",\ + \"required\":[\"LoadBalancerArn\"],\ + \"members\":{\ + \"LoadBalancerArn\":{\ + \"shape\":\"LoadBalancerArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the load balancer.
\"\ + },\ + \"Subnets\":{\ + \"shape\":\"Subnets\",\ + \"documentation\":\"The IDs of the public subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
\"\ + },\ + \"SubnetMappings\":{\ + \"shape\":\"SubnetMappings\",\ + \"documentation\":\"The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.
[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.
[Network Load Balancers] You can specify subnets from one or more Availability Zones. If you need static IP addresses for your internet-facing load balancer, you can specify one Elastic IP address per subnet. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet.
\"\ + }\ + }\ },\ - \"SetLoadBalancerPoliciesOfListenerOutput\":{\ + \"SetSubnetsOutput\":{\ \"type\":\"structure\",\ \"members\":{\ + \"AvailabilityZones\":{\ + \"shape\":\"AvailabilityZones\",\ + \"documentation\":\"Information about the subnet and Availability Zone.
\"\ + }\ + }\ + },\ + \"SourceIpConditionConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Values\":{\ + \"shape\":\"ListOfString\",\ + \"documentation\":\"One or more source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. Wildcards are not supported.
If you specify multiple addresses, the condition is satisfied if the source IP address of the request matches one of the CIDR blocks. This condition is not satisfied by the addresses in the X-Forwarded-For header. To search for addresses in the X-Forwarded-For header, use HttpHeaderConditionConfig.
\"\ + }\ },\ - \"documentation\":\"Contains the output of SetLoadBalancePoliciesOfListener.
\"\ + \"documentation\":\"Information about a source IP condition.
You can use this condition to route based on the IP address of the source that connects to the load balancer. If a client is behind a proxy, this is the IP address of the proxy not the IP address of the client.
\"\ },\ - \"SourceSecurityGroup\":{\ + \"SslPolicies\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"SslPolicy\"}\ + },\ + \"SslPolicy\":{\ \"type\":\"structure\",\ \"members\":{\ - \"OwnerAlias\":{\ - \"shape\":\"SecurityGroupOwnerAlias\",\ - \"documentation\":\"The owner of the security group.
\"\ + \"SslProtocols\":{\ + \"shape\":\"SslProtocols\",\ + \"documentation\":\"The protocols.
\"\ },\ - \"GroupName\":{\ - \"shape\":\"SecurityGroupName\",\ - \"documentation\":\"The name of the security group.
\"\ + \"Ciphers\":{\ + \"shape\":\"Ciphers\",\ + \"documentation\":\"The ciphers.
\"\ + },\ + \"Name\":{\ + \"shape\":\"SslPolicyName\",\ + \"documentation\":\"The name of the policy.
\"\ }\ },\ - \"documentation\":\"Information about a source security group.
\"\ + \"documentation\":\"Information about a policy used for SSL negotiation.
\"\ + },\ + \"SslPolicyName\":{\"type\":\"string\"},\ + \"SslPolicyNames\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"SslPolicyName\"}\ },\ - \"State\":{\"type\":\"string\"},\ + \"SslProtocol\":{\"type\":\"string\"},\ + \"SslProtocols\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"SslProtocol\"}\ + },\ + \"StateReason\":{\"type\":\"string\"},\ + \"String\":{\"type\":\"string\"},\ + \"StringValue\":{\"type\":\"string\"},\ \"SubnetId\":{\"type\":\"string\"},\ + \"SubnetMapping\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"SubnetId\":{\ + \"shape\":\"SubnetId\",\ + \"documentation\":\"The ID of the subnet.
\"\ + },\ + \"AllocationId\":{\ + \"shape\":\"AllocationId\",\ + \"documentation\":\"[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.
\"\ + },\ + \"PrivateIPv4Address\":{\ + \"shape\":\"PrivateIPv4Address\",\ + \"documentation\":\"[Network Load Balancers] The private IPv4 address for an internal load balancer.
\"\ + }\ + },\ + \"documentation\":\"Information about a subnet mapping.
\"\ + },\ + \"SubnetMappings\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"SubnetMapping\"}\ + },\ \"SubnetNotFoundException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"One or more of the specified subnets do not exist.
\",\ + \"documentation\":\"The specified subnet does not exist.
\",\ \"error\":{\ \"code\":\"SubnetNotFound\",\ \"httpStatusCode\":400,\ @@ -2232,16 +2944,16 @@ - (NSString *)definitionString { \"TagDescription\":{\ \"type\":\"structure\",\ \"members\":{\ - \"LoadBalancerName\":{\ - \"shape\":\"AccessPointName\",\ - \"documentation\":\"The name of the load balancer.
\"\ + \"ResourceArn\":{\ + \"shape\":\"ResourceArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the resource.
\"\ },\ \"Tags\":{\ \"shape\":\"TagList\",\ - \"documentation\":\"The tags.
\"\ + \"documentation\":\"Information about the tags.
\"\ }\ },\ - \"documentation\":\"The tags associated with a load balancer.
\"\ + \"documentation\":\"The tags associated with a resource.
\"\ },\ \"TagDescriptions\":{\ \"type\":\"list\",\ @@ -2253,20 +2965,9 @@ - (NSString *)definitionString { \"min\":1,\ \"pattern\":\"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\"\ },\ - \"TagKeyList\":{\ + \"TagKeys\":{\ \"type\":\"list\",\ - \"member\":{\"shape\":\"TagKeyOnly\"},\ - \"min\":1\ - },\ - \"TagKeyOnly\":{\ - \"type\":\"structure\",\ - \"members\":{\ - \"Key\":{\ - \"shape\":\"TagKey\",\ - \"documentation\":\"The name of the key.
\"\ - }\ - },\ - \"documentation\":\"The key of a tag.
\"\ + \"member\":{\"shape\":\"TagKey\"}\ },\ \"TagList\":{\ \"type\":\"list\",\ @@ -2279,11 +2980,314 @@ - (NSString *)definitionString { \"min\":0,\ \"pattern\":\"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\"\ },\ - \"TooManyAccessPointsException\":{\ + \"TargetDescription\":{\ + \"type\":\"structure\",\ + \"required\":[\"Id\"],\ + \"members\":{\ + \"Id\":{\ + \"shape\":\"TargetId\",\ + \"documentation\":\"The ID of the target. If the target type of the target group is instance
, specify an instance ID. If the target type is ip
, specify an IP address. If the target type is lambda
, specify the ARN of the Lambda function.
The port on which the target is listening. Not used if the target is a Lambda function.
\"\ + },\ + \"AvailabilityZone\":{\ + \"shape\":\"ZoneName\",\ + \"documentation\":\"An Availability Zone or all
. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.
This parameter is not supported if the target type of the target group is instance
.
If the target type is ip
and the IP address is in a subnet of the VPC for the target group, the Availability Zone is automatically detected and this parameter is optional. If the IP address is outside the VPC, this parameter is required.
With an Application Load Balancer, if the target type is ip
and the IP address is outside the VPC for the target group, the only supported value is all
.
If the target type is lambda
, this parameter is optional and the only supported value is all
.
Information about a target.
\"\ + },\ + \"TargetDescriptions\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"TargetDescription\"}\ + },\ + \"TargetGroup\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group.
\"\ + },\ + \"TargetGroupName\":{\ + \"shape\":\"TargetGroupName\",\ + \"documentation\":\"The name of the target group.
\"\ + },\ + \"Protocol\":{\ + \"shape\":\"ProtocolEnum\",\ + \"documentation\":\"The protocol to use for routing traffic to the targets.
\"\ + },\ + \"Port\":{\ + \"shape\":\"Port\",\ + \"documentation\":\"The port on which the targets are listening. Not used if the target is a Lambda function.
\"\ + },\ + \"VpcId\":{\ + \"shape\":\"VpcId\",\ + \"documentation\":\"The ID of the VPC for the targets.
\"\ + },\ + \"HealthCheckProtocol\":{\ + \"shape\":\"ProtocolEnum\",\ + \"documentation\":\"The protocol to use to connect with the target.
\"\ + },\ + \"HealthCheckPort\":{\ + \"shape\":\"HealthCheckPort\",\ + \"documentation\":\"The port to use to connect with the target.
\"\ + },\ + \"HealthCheckEnabled\":{\ + \"shape\":\"HealthCheckEnabled\",\ + \"documentation\":\"Indicates whether health checks are enabled.
\"\ + },\ + \"HealthCheckIntervalSeconds\":{\ + \"shape\":\"HealthCheckIntervalSeconds\",\ + \"documentation\":\"The approximate amount of time, in seconds, between health checks of an individual target.
\"\ + },\ + \"HealthCheckTimeoutSeconds\":{\ + \"shape\":\"HealthCheckTimeoutSeconds\",\ + \"documentation\":\"The amount of time, in seconds, during which no response means a failed health check.
\"\ + },\ + \"HealthyThresholdCount\":{\ + \"shape\":\"HealthCheckThresholdCount\",\ + \"documentation\":\"The number of consecutive health checks successes required before considering an unhealthy target healthy.
\"\ + },\ + \"UnhealthyThresholdCount\":{\ + \"shape\":\"HealthCheckThresholdCount\",\ + \"documentation\":\"The number of consecutive health check failures required before considering the target unhealthy.
\"\ + },\ + \"HealthCheckPath\":{\ + \"shape\":\"Path\",\ + \"documentation\":\"The destination for the health check request.
\"\ + },\ + \"Matcher\":{\ + \"shape\":\"Matcher\",\ + \"documentation\":\"The HTTP codes to use when checking for a successful response from a target.
\"\ + },\ + \"LoadBalancerArns\":{\ + \"shape\":\"LoadBalancerArns\",\ + \"documentation\":\"The Amazon Resource Names (ARN) of the load balancers that route traffic to this target group.
\"\ + },\ + \"TargetType\":{\ + \"shape\":\"TargetTypeEnum\",\ + \"documentation\":\"The type of target that you must specify when registering targets with this target group. The possible values are instance
(targets are specified by instance ID) or ip
(targets are specified by IP address).
Information about a target group.
\"\ + },\ + \"TargetGroupArn\":{\"type\":\"string\"},\ + \"TargetGroupArns\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"TargetGroupArn\"}\ + },\ + \"TargetGroupAssociationLimitException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The quota for the number of load balancers has been reached.
\",\ + \"documentation\":\"You've reached the limit on the number of load balancers per target group.
\",\ + \"error\":{\ + \"code\":\"TargetGroupAssociationLimit\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"TargetGroupAttribute\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Key\":{\ + \"shape\":\"TargetGroupAttributeKey\",\ + \"documentation\":\"The name of the attribute.
The following attributes are supported by both Application Load Balancers and Network Load Balancers:
deregistration_delay.timeout_seconds
- The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining
to unused
. The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported.
stickiness.enabled
- Indicates whether sticky sessions are enabled. The value is true
or false
. The default is false
.
stickiness.type
- The type of sticky sessions. The possible values are lb_cookie
for Application Load Balancers or source_ip
for Network Load Balancers.
The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:
load_balancing.algorithm.type
- The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is round_robin
or least_outstanding_requests
. The default is round_robin
.
slow_start.duration_seconds
- The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).
stickiness.lb_cookie.duration_seconds
- The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).
The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:
lambda.multi_value_headers.enabled
- Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is true
or false
. The default is false
. If the value is false
and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client.
The following attribute is supported only by Network Load Balancers:
proxy_protocol_v2.enabled
- Indicates whether Proxy Protocol version 2 is enabled. The value is true
or false
. The default is false
.
The value of the attribute.
\"\ + }\ + },\ + \"documentation\":\"Information about a target group attribute.
\"\ + },\ + \"TargetGroupAttributeKey\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"pattern\":\"^[a-zA-Z0-9._]+$\"\ + },\ + \"TargetGroupAttributeValue\":{\"type\":\"string\"},\ + \"TargetGroupAttributes\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"TargetGroupAttribute\"}\ + },\ + \"TargetGroupList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"TargetGroupTuple\"}\ + },\ + \"TargetGroupName\":{\"type\":\"string\"},\ + \"TargetGroupNames\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"TargetGroupName\"}\ + },\ + \"TargetGroupNotFoundException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"The specified target group does not exist.
\",\ + \"error\":{\ + \"code\":\"TargetGroupNotFound\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"TargetGroupStickinessConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Enabled\":{\ + \"shape\":\"TargetGroupStickinessEnabled\",\ + \"documentation\":\"Indicates whether target group stickiness is enabled.
\"\ + },\ + \"DurationSeconds\":{\ + \"shape\":\"TargetGroupStickinessDurationSeconds\",\ + \"documentation\":\"The time period, in seconds, during which requests from a client should be routed to the same target group. The range is 1-604800 seconds (7 days).
\"\ + }\ + },\ + \"documentation\":\"Information about the target group stickiness for a rule.
\"\ + },\ + \"TargetGroupStickinessDurationSeconds\":{\"type\":\"integer\"},\ + \"TargetGroupStickinessEnabled\":{\"type\":\"boolean\"},\ + \"TargetGroupTuple\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TargetGroupArn\":{\ + \"shape\":\"TargetGroupArn\",\ + \"documentation\":\"The Amazon Resource Name (ARN) of the target group.
\"\ + },\ + \"Weight\":{\ + \"shape\":\"TargetGroupWeight\",\ + \"documentation\":\"The weight. The range is 0 to 999.
\"\ + }\ + },\ + \"documentation\":\"Information about how traffic will be distributed between multiple target groups in a forward rule.
\"\ + },\ + \"TargetGroupWeight\":{\"type\":\"integer\"},\ + \"TargetGroups\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"TargetGroup\"}\ + },\ + \"TargetHealth\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"State\":{\ + \"shape\":\"TargetHealthStateEnum\",\ + \"documentation\":\"The state of the target.
\"\ + },\ + \"Reason\":{\ + \"shape\":\"TargetHealthReasonEnum\",\ + \"documentation\":\"The reason code.
If the target state is healthy
, a reason code is not provided.
If the target state is initial
, the reason code can be one of the following values:
Elb.RegistrationInProgress
- The target is in the process of being registered with the load balancer.
Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of health checks required to determine its health status.
If the target state is unhealthy
, the reason code can be one of the following values:
Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies only to Application Load Balancers.
Target.Timeout
- The health check requests timed out. Applies only to Application Load Balancers.
Target.FailedHealthChecks
- The load balancer received an error while establishing a connection to the target or the target response was malformed.
Elb.InternalError
- The health checks failed due to an internal error. Applies only to Application Load Balancers.
If the target state is unused
, the reason code can be one of the following values:
Target.NotRegistered
- The target is not registered with the target group.
Target.NotInUse
- The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.
Target.InvalidState
- The target is in the stopped or terminated state.
Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
If the target state is draining
, the reason code can be the following value:
Target.DeregistrationInProgress
- The target is in the process of being deregistered and the deregistration delay period has not expired.
If the target state is unavailable
, the reason code can be the following value:
Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to Application Load Balancers.
Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to Network Load Balancers.
A description of the target health that provides additional details. If the state is healthy
, a description is not provided.
Information about the current health of a target.
\"\ + },\ + \"TargetHealthDescription\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Target\":{\ + \"shape\":\"TargetDescription\",\ + \"documentation\":\"The description of the target.
\"\ + },\ + \"HealthCheckPort\":{\ + \"shape\":\"HealthCheckPort\",\ + \"documentation\":\"The port to use to connect with the target.
\"\ + },\ + \"TargetHealth\":{\ + \"shape\":\"TargetHealth\",\ + \"documentation\":\"The health information for the target.
\"\ + }\ + },\ + \"documentation\":\"Information about the health of a target.
\"\ + },\ + \"TargetHealthDescriptions\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"TargetHealthDescription\"}\ + },\ + \"TargetHealthReasonEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"Elb.RegistrationInProgress\",\ + \"Elb.InitialHealthChecking\",\ + \"Target.ResponseCodeMismatch\",\ + \"Target.Timeout\",\ + \"Target.FailedHealthChecks\",\ + \"Target.NotRegistered\",\ + \"Target.NotInUse\",\ + \"Target.DeregistrationInProgress\",\ + \"Target.InvalidState\",\ + \"Target.IpUnusable\",\ + \"Target.HealthCheckDisabled\",\ + \"Elb.InternalError\"\ + ]\ + },\ + \"TargetHealthStateEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"initial\",\ + \"healthy\",\ + \"unhealthy\",\ + \"unused\",\ + \"draining\",\ + \"unavailable\"\ + ]\ + },\ + \"TargetId\":{\"type\":\"string\"},\ + \"TargetTypeEnum\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"instance\",\ + \"ip\",\ + \"lambda\"\ + ]\ + },\ + \"TooManyActionsException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"You've reached the limit on the number of actions per rule.
\",\ + \"error\":{\ + \"code\":\"TooManyActions\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"TooManyCertificatesException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"You've reached the limit on the number of certificates per load balancer.
\",\ + \"error\":{\ + \"code\":\"TooManyCertificates\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"TooManyListenersException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"You've reached the limit on the number of listeners per load balancer.
\",\ + \"error\":{\ + \"code\":\"TooManyListeners\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"TooManyLoadBalancersException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"You've reached the limit on the number of load balancers for your AWS account.
\",\ \"error\":{\ \"code\":\"TooManyLoadBalancers\",\ \"httpStatusCode\":400,\ @@ -2291,13 +3295,25 @@ - (NSString *)definitionString { },\ \"exception\":true\ },\ - \"TooManyPoliciesException\":{\ + \"TooManyRegistrationsForTargetIdException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"You've reached the limit on the number of times a target can be registered with a load balancer.
\",\ + \"error\":{\ + \"code\":\"TooManyRegistrationsForTargetId\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"TooManyRulesException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The quota for the number of policies for this load balancer has been reached.
\",\ + \"documentation\":\"You've reached the limit on the number of rules per load balancer.
\",\ \"error\":{\ - \"code\":\"TooManyPolicies\",\ + \"code\":\"TooManyRules\",\ \"httpStatusCode\":400,\ \"senderFault\":true\ },\ @@ -2307,7 +3323,7 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The quota for the number of tags that can be assigned to a load balancer has been reached.
\",\ + \"documentation\":\"You've reached the limit on the number of tags per load balancer.
\",\ \"error\":{\ \"code\":\"TooManyTags\",\ \"httpStatusCode\":400,\ @@ -2315,16 +3331,47 @@ - (NSString *)definitionString { },\ \"exception\":true\ },\ - \"UnhealthyThreshold\":{\ - \"type\":\"integer\",\ - \"max\":10,\ - \"min\":2\ + \"TooManyTargetGroupsException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"You've reached the limit on the number of target groups for your AWS account.
\",\ + \"error\":{\ + \"code\":\"TooManyTargetGroups\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"TooManyTargetsException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"You've reached the limit on the number of targets.
\",\ + \"error\":{\ + \"code\":\"TooManyTargets\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ + },\ + \"TooManyUniqueTargetGroupsPerLoadBalancerException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"You've reached the limit on the number of unique target groups per load balancer across all listeners. If a target group is used by multiple actions for a load balancer, it is counted as only one use.
\",\ + \"error\":{\ + \"code\":\"TooManyUniqueTargetGroupsPerLoadBalancer\",\ + \"httpStatusCode\":400,\ + \"senderFault\":true\ + },\ + \"exception\":true\ },\ \"UnsupportedProtocolException\":{\ \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"The specified protocol or signature version is not supported.
\",\ + \"documentation\":\"The specified protocol is not supported.
\",\ \"error\":{\ \"code\":\"UnsupportedProtocol\",\ \"httpStatusCode\":400,\ @@ -2332,9 +3379,10 @@ - (NSString *)definitionString { },\ \"exception\":true\ },\ - \"VPCId\":{\"type\":\"string\"}\ + \"VpcId\":{\"type\":\"string\"},\ + \"ZoneName\":{\"type\":\"string\"}\ },\ - \"documentation\":\"A load balancer can distribute incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances.
Elastic Load Balancing supports three types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. You can select a load balancer based on your application needs. For more information, see the Elastic Load Balancing User Guide.
This reference covers the 2012-06-01 API, which supports Classic Load Balancers. The 2015-12-01 API supports Application Load Balancers and Network Load Balancers.
To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.
All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code.
\"\ + \"documentation\":\"A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.
Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. This reference covers Application Load Balancers and Network Load Balancers.
An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS). A Network Load Balancer makes routing and load balancing decisions at the transport layer (TCP/TLS). Both Application Load Balancers and Network Load Balancers can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the Elastic Load Balancing User Guide.
All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.
\"\ }\ "; } diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.h b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.h index 9259de3f202..253f9cbeccc 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.h +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.h @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT NSString *const AWSElasticLoadBalancingSDKVersion; /** -A load balancer can distribute incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances.
Elastic Load Balancing supports three types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. You can select a load balancer based on your application needs. For more information, see the Elastic Load Balancing User Guide.
This reference covers the 2012-06-01 API, which supports Classic Load Balancers. The 2015-12-01 API supports Application Load Balancers and Network Load Balancers.
To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.
All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code.
+A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.
Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. This reference covers Application Load Balancers and Network Load Balancers.
An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS). A Network Load Balancer makes routing and load balancing decisions at the transport layer (TCP/TLS). Both Application Load Balancers and Network Load Balancers can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the Elastic Load Balancing User Guide.
All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.
*/ @interface AWSElasticLoadBalancing : AWSService @@ -175,386 +175,361 @@ FOUNDATION_EXPORT NSString *const AWSElasticLoadBalancingSDKVersion; + (void)removeElasticLoadBalancingForKey:(NSString *)key; /** -Adds the specified tags to the specified load balancer. Each load balancer can have a maximum of 10 tags.
Each tag consists of a key and an optional value. If a tag with the same key is already associated with the load balancer, AddTags
updates its value.
For more information, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide.
+Adds the specified SSL server certificate to the certificate list for the specified HTTPS or TLS listener.
If the certificate in already in the certificate list, the call is successful but the certificate is not added again.
To get the certificate list for a listener, use DescribeListenerCertificates. To remove certificates from the certificate list for a listener, use RemoveListenerCertificates. To replace the default certificate for a listener, use ModifyListener.
For more information, see SSL Certificates in the Application Load Balancers Guide.
- @param request A container for the necessary parameters to execute the AddTags service method. + @param request A container for the necessary parameters to execute the AddListenerCertificates service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingAddTagsOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorTooManyTags`, `AWSElasticLoadBalancingErrorDuplicateTagKeys`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingAddListenerCertificatesOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorListenerNotFound`, `AWSElasticLoadBalancingErrorTooManyCertificates`, `AWSElasticLoadBalancingErrorCertificateNotFound`. - @see AWSElasticLoadBalancingAddTagsInput - @see AWSElasticLoadBalancingAddTagsOutput + @see AWSElasticLoadBalancingAddListenerCertificatesInput + @see AWSElasticLoadBalancingAddListenerCertificatesOutput */ -- (AWSTaskAdds the specified tags to the specified load balancer. Each load balancer can have a maximum of 10 tags.
Each tag consists of a key and an optional value. If a tag with the same key is already associated with the load balancer, AddTags
updates its value.
For more information, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide.
+Adds the specified SSL server certificate to the certificate list for the specified HTTPS or TLS listener.
If the certificate in already in the certificate list, the call is successful but the certificate is not added again.
To get the certificate list for a listener, use DescribeListenerCertificates. To remove certificates from the certificate list for a listener, use RemoveListenerCertificates. To replace the default certificate for a listener, use ModifyListener.
For more information, see SSL Certificates in the Application Load Balancers Guide.
- @param request A container for the necessary parameters to execute the AddTags service method. + @param request A container for the necessary parameters to execute the AddListenerCertificates 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorTooManyTags`, `AWSElasticLoadBalancingErrorDuplicateTagKeys`. - - @see AWSElasticLoadBalancingAddTagsInput - @see AWSElasticLoadBalancingAddTagsOutput - */ -- (void)addTags:(AWSElasticLoadBalancingAddTagsInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingAddTagsOutput * _Nullable response, NSError * _Nullable error))completionHandler; - -/** -Associates one or more security groups with your load balancer in a virtual private cloud (VPC). The specified security groups override the previously associated security groups.
For more information, see Security Groups for Load Balancers in a VPC in the Classic Load Balancers Guide.
- - @param request A container for the necessary parameters to execute the ApplySecurityGroupsToLoadBalancer service method. - - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorInvalidSecurityGroup`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorListenerNotFound`, `AWSElasticLoadBalancingErrorTooManyCertificates`, `AWSElasticLoadBalancingErrorCertificateNotFound`. - @see AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerInput - @see AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerOutput + @see AWSElasticLoadBalancingAddListenerCertificatesInput + @see AWSElasticLoadBalancingAddListenerCertificatesOutput */ -- (AWSTaskAssociates one or more security groups with your load balancer in a virtual private cloud (VPC). The specified security groups override the previously associated security groups.
For more information, see Security Groups for Load Balancers in a VPC in the Classic Load Balancers Guide.
+Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, and your target groups.
Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags
updates its value.
To list the current tags for your resources, use DescribeTags. To remove tags from your resources, use RemoveTags.
- @param request A container for the necessary parameters to execute the ApplySecurityGroupsToLoadBalancer 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorInvalidSecurityGroup`. - - @see AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerInput - @see AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerOutput - */ -- (void)applySecurityGroupsToLoadBalancer:(AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingApplySecurityGroupsToLoadBalancerOutput * _Nullable response, NSError * _Nullable error))completionHandler; - -/** -Adds one or more subnets to the set of configured subnets for the specified load balancer.
The load balancer evenly distributes requests across all registered subnets. For more information, see Add or Remove Subnets for Your Load Balancer in a VPC in the Classic Load Balancers Guide.
- - @param request A container for the necessary parameters to execute the AttachLoadBalancerToSubnets service method. + @param request A container for the necessary parameters to execute the AddTags service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingAttachLoadBalancerToSubnetsOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorSubnetNotFound`, `AWSElasticLoadBalancingErrorInvalidSubnet`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingAddTagsOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateTagKeys`, `AWSElasticLoadBalancingErrorTooManyTags`, `AWSElasticLoadBalancingErrorLoadBalancerNotFound`, `AWSElasticLoadBalancingErrorTargetGroupNotFound`. - @see AWSElasticLoadBalancingAttachLoadBalancerToSubnetsInput - @see AWSElasticLoadBalancingAttachLoadBalancerToSubnetsOutput + @see AWSElasticLoadBalancingAddTagsInput + @see AWSElasticLoadBalancingAddTagsOutput */ -- (AWSTaskAdds one or more subnets to the set of configured subnets for the specified load balancer.
The load balancer evenly distributes requests across all registered subnets. For more information, see Add or Remove Subnets for Your Load Balancer in a VPC in the Classic Load Balancers Guide.
+Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, and your target groups.
Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags
updates its value.
To list the current tags for your resources, use DescribeTags. To remove tags from your resources, use RemoveTags.
- @param request A container for the necessary parameters to execute the AttachLoadBalancerToSubnets service method. + @param request A container for the necessary parameters to execute the AddTags 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorSubnetNotFound`, `AWSElasticLoadBalancingErrorInvalidSubnet`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateTagKeys`, `AWSElasticLoadBalancingErrorTooManyTags`, `AWSElasticLoadBalancingErrorLoadBalancerNotFound`, `AWSElasticLoadBalancingErrorTargetGroupNotFound`. - @see AWSElasticLoadBalancingAttachLoadBalancerToSubnetsInput - @see AWSElasticLoadBalancingAttachLoadBalancerToSubnetsOutput + @see AWSElasticLoadBalancingAddTagsInput + @see AWSElasticLoadBalancingAddTagsOutput */ -- (void)attachLoadBalancerToSubnets:(AWSElasticLoadBalancingAttachLoadBalancerToSubnetsInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingAttachLoadBalancerToSubnetsOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)addTags:(AWSElasticLoadBalancingAddTagsInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingAddTagsOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Specifies the health check settings to use when evaluating the health state of your EC2 instances.
For more information, see Configure Health Checks for Your Load Balancer in the Classic Load Balancers Guide.
+Creates a listener for the specified Application Load Balancer or Network Load Balancer.
To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds.
For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide.
- @param request A container for the necessary parameters to execute the ConfigureHealthCheck service method. + @param request A container for the necessary parameters to execute the CreateListener service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingConfigureHealthCheckOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingCreateListenerOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateListener`, `AWSElasticLoadBalancingErrorTooManyListeners`, `AWSElasticLoadBalancingErrorTooManyCertificates`, `AWSElasticLoadBalancingErrorLoadBalancerNotFound`, `AWSElasticLoadBalancingErrorTargetGroupNotFound`, `AWSElasticLoadBalancingErrorTargetGroupAssociationLimit`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorIncompatibleProtocols`, `AWSElasticLoadBalancingErrorSSLPolicyNotFound`, `AWSElasticLoadBalancingErrorCertificateNotFound`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`, `AWSElasticLoadBalancingErrorTooManyRegistrationsForTargetId`, `AWSElasticLoadBalancingErrorTooManyTargets`, `AWSElasticLoadBalancingErrorTooManyActions`, `AWSElasticLoadBalancingErrorInvalidLoadBalancerAction`, `AWSElasticLoadBalancingErrorTooManyUniqueTargetGroupsPerLoadBalancer`, `AWSElasticLoadBalancingErrorALPNPolicyNotSupported`. - @see AWSElasticLoadBalancingConfigureHealthCheckInput - @see AWSElasticLoadBalancingConfigureHealthCheckOutput + @see AWSElasticLoadBalancingCreateListenerInput + @see AWSElasticLoadBalancingCreateListenerOutput */ -- (AWSTaskSpecifies the health check settings to use when evaluating the health state of your EC2 instances.
For more information, see Configure Health Checks for Your Load Balancer in the Classic Load Balancers Guide.
+Creates a listener for the specified Application Load Balancer or Network Load Balancer.
To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds.
For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide.
- @param request A container for the necessary parameters to execute the ConfigureHealthCheck service method. + @param request A container for the necessary parameters to execute the CreateListener 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateListener`, `AWSElasticLoadBalancingErrorTooManyListeners`, `AWSElasticLoadBalancingErrorTooManyCertificates`, `AWSElasticLoadBalancingErrorLoadBalancerNotFound`, `AWSElasticLoadBalancingErrorTargetGroupNotFound`, `AWSElasticLoadBalancingErrorTargetGroupAssociationLimit`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorIncompatibleProtocols`, `AWSElasticLoadBalancingErrorSSLPolicyNotFound`, `AWSElasticLoadBalancingErrorCertificateNotFound`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`, `AWSElasticLoadBalancingErrorTooManyRegistrationsForTargetId`, `AWSElasticLoadBalancingErrorTooManyTargets`, `AWSElasticLoadBalancingErrorTooManyActions`, `AWSElasticLoadBalancingErrorInvalidLoadBalancerAction`, `AWSElasticLoadBalancingErrorTooManyUniqueTargetGroupsPerLoadBalancer`, `AWSElasticLoadBalancingErrorALPNPolicyNotSupported`. - @see AWSElasticLoadBalancingConfigureHealthCheckInput - @see AWSElasticLoadBalancingConfigureHealthCheckOutput + @see AWSElasticLoadBalancingCreateListenerInput + @see AWSElasticLoadBalancingCreateListenerOutput */ -- (void)configureHealthCheck:(AWSElasticLoadBalancingConfigureHealthCheckInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingConfigureHealthCheckOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)createListener:(AWSElasticLoadBalancingCreateListenerInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingCreateListenerOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Generates a stickiness policy with sticky session lifetimes that follow that of an application-generated cookie. This policy can be associated only with HTTP/HTTPS listeners.
This policy is similar to the policy created by CreateLBCookieStickinessPolicy, except that the lifetime of the special Elastic Load Balancing cookie, AWSELB
, follows the lifetime of the application-generated cookie specified in the policy configuration. The load balancer only inserts a new stickiness cookie when the application response includes a new application cookie.
If the application cookie is explicitly removed or expires, the session stops being sticky until a new application cookie is issued.
For more information, see Application-Controlled Session Stickiness in the Classic Load Balancers Guide.
+Creates an Application Load Balancer or a Network Load Balancer.
When you create a load balancer, you can specify security groups, public subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.
To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.
For limit information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide.
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds.
For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide.
- @param request A container for the necessary parameters to execute the CreateAppCookieStickinessPolicy service method. + @param request A container for the necessary parameters to execute the CreateLoadBalancer service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingCreateAppCookieStickinessPolicyOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorDuplicatePolicyName`, `AWSElasticLoadBalancingErrorTooManyPolicies`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingCreateLoadBalancerOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateLoadBalancerName`, `AWSElasticLoadBalancingErrorTooManyLoadBalancers`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorSubnetNotFound`, `AWSElasticLoadBalancingErrorInvalidSubnet`, `AWSElasticLoadBalancingErrorInvalidSecurityGroup`, `AWSElasticLoadBalancingErrorInvalidScheme`, `AWSElasticLoadBalancingErrorTooManyTags`, `AWSElasticLoadBalancingErrorDuplicateTagKeys`, `AWSElasticLoadBalancingErrorResourceInUse`, `AWSElasticLoadBalancingErrorAllocationIdNotFound`, `AWSElasticLoadBalancingErrorAvailabilityZoneNotSupported`, `AWSElasticLoadBalancingErrorOperationNotPermitted`. - @see AWSElasticLoadBalancingCreateAppCookieStickinessPolicyInput - @see AWSElasticLoadBalancingCreateAppCookieStickinessPolicyOutput + @see AWSElasticLoadBalancingCreateLoadBalancerInput + @see AWSElasticLoadBalancingCreateLoadBalancerOutput */ -- (AWSTaskGenerates a stickiness policy with sticky session lifetimes that follow that of an application-generated cookie. This policy can be associated only with HTTP/HTTPS listeners.
This policy is similar to the policy created by CreateLBCookieStickinessPolicy, except that the lifetime of the special Elastic Load Balancing cookie, AWSELB
, follows the lifetime of the application-generated cookie specified in the policy configuration. The load balancer only inserts a new stickiness cookie when the application response includes a new application cookie.
If the application cookie is explicitly removed or expires, the session stops being sticky until a new application cookie is issued.
For more information, see Application-Controlled Session Stickiness in the Classic Load Balancers Guide.
+Creates an Application Load Balancer or a Network Load Balancer.
When you create a load balancer, you can specify security groups, public subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.
To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.
For limit information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide.
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds.
For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide.
- @param request A container for the necessary parameters to execute the CreateAppCookieStickinessPolicy service method. + @param request A container for the necessary parameters to execute the CreateLoadBalancer 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorDuplicatePolicyName`, `AWSElasticLoadBalancingErrorTooManyPolicies`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateLoadBalancerName`, `AWSElasticLoadBalancingErrorTooManyLoadBalancers`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorSubnetNotFound`, `AWSElasticLoadBalancingErrorInvalidSubnet`, `AWSElasticLoadBalancingErrorInvalidSecurityGroup`, `AWSElasticLoadBalancingErrorInvalidScheme`, `AWSElasticLoadBalancingErrorTooManyTags`, `AWSElasticLoadBalancingErrorDuplicateTagKeys`, `AWSElasticLoadBalancingErrorResourceInUse`, `AWSElasticLoadBalancingErrorAllocationIdNotFound`, `AWSElasticLoadBalancingErrorAvailabilityZoneNotSupported`, `AWSElasticLoadBalancingErrorOperationNotPermitted`. - @see AWSElasticLoadBalancingCreateAppCookieStickinessPolicyInput - @see AWSElasticLoadBalancingCreateAppCookieStickinessPolicyOutput + @see AWSElasticLoadBalancingCreateLoadBalancerInput + @see AWSElasticLoadBalancingCreateLoadBalancerOutput */ -- (void)createAppCookieStickinessPolicy:(AWSElasticLoadBalancingCreateAppCookieStickinessPolicyInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingCreateAppCookieStickinessPolicyOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)createLoadBalancer:(AWSElasticLoadBalancingCreateLoadBalancerInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingCreateLoadBalancerOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent) or a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners.
When a load balancer implements this policy, the load balancer uses a special cookie to track the instance for each request. When the load balancer receives a request, it first checks to see if this cookie is present in the request. If so, the load balancer sends the request to the application server specified in the cookie. If not, the load balancer sends the request to a server that is chosen based on the existing load-balancing algorithm.
A cookie is inserted into the response for binding subsequent requests from the same user to that server. The validity of the cookie is based on the cookie expiration time, which is specified in the policy configuration.
For more information, see Duration-Based Session Stickiness in the Classic Load Balancers Guide.
+Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer.
Each rule consists of a priority, one or more actions, and one or more conditions. Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see Listener Rules in the Application Load Balancers Guide.
To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.
- @param request A container for the necessary parameters to execute the CreateLBCookieStickinessPolicy service method. + @param request A container for the necessary parameters to execute the CreateRule service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingCreateLBCookieStickinessPolicyOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorDuplicatePolicyName`, `AWSElasticLoadBalancingErrorTooManyPolicies`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingCreateRuleOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorPriorityInUse`, `AWSElasticLoadBalancingErrorTooManyTargetGroups`, `AWSElasticLoadBalancingErrorTooManyRules`, `AWSElasticLoadBalancingErrorTargetGroupAssociationLimit`, `AWSElasticLoadBalancingErrorIncompatibleProtocols`, `AWSElasticLoadBalancingErrorListenerNotFound`, `AWSElasticLoadBalancingErrorTargetGroupNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorTooManyRegistrationsForTargetId`, `AWSElasticLoadBalancingErrorTooManyTargets`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`, `AWSElasticLoadBalancingErrorTooManyActions`, `AWSElasticLoadBalancingErrorInvalidLoadBalancerAction`, `AWSElasticLoadBalancingErrorTooManyUniqueTargetGroupsPerLoadBalancer`. - @see AWSElasticLoadBalancingCreateLBCookieStickinessPolicyInput - @see AWSElasticLoadBalancingCreateLBCookieStickinessPolicyOutput + @see AWSElasticLoadBalancingCreateRuleInput + @see AWSElasticLoadBalancingCreateRuleOutput */ -- (AWSTaskGenerates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent) or a specified expiration period. This policy can be associated only with HTTP/HTTPS listeners.
When a load balancer implements this policy, the load balancer uses a special cookie to track the instance for each request. When the load balancer receives a request, it first checks to see if this cookie is present in the request. If so, the load balancer sends the request to the application server specified in the cookie. If not, the load balancer sends the request to a server that is chosen based on the existing load-balancing algorithm.
A cookie is inserted into the response for binding subsequent requests from the same user to that server. The validity of the cookie is based on the cookie expiration time, which is specified in the policy configuration.
For more information, see Duration-Based Session Stickiness in the Classic Load Balancers Guide.
+Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer.
Each rule consists of a priority, one or more actions, and one or more conditions. Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see Listener Rules in the Application Load Balancers Guide.
To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.
- @param request A container for the necessary parameters to execute the CreateLBCookieStickinessPolicy service method. + @param request A container for the necessary parameters to execute the CreateRule 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorDuplicatePolicyName`, `AWSElasticLoadBalancingErrorTooManyPolicies`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorPriorityInUse`, `AWSElasticLoadBalancingErrorTooManyTargetGroups`, `AWSElasticLoadBalancingErrorTooManyRules`, `AWSElasticLoadBalancingErrorTargetGroupAssociationLimit`, `AWSElasticLoadBalancingErrorIncompatibleProtocols`, `AWSElasticLoadBalancingErrorListenerNotFound`, `AWSElasticLoadBalancingErrorTargetGroupNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorTooManyRegistrationsForTargetId`, `AWSElasticLoadBalancingErrorTooManyTargets`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`, `AWSElasticLoadBalancingErrorTooManyActions`, `AWSElasticLoadBalancingErrorInvalidLoadBalancerAction`, `AWSElasticLoadBalancingErrorTooManyUniqueTargetGroupsPerLoadBalancer`. - @see AWSElasticLoadBalancingCreateLBCookieStickinessPolicyInput - @see AWSElasticLoadBalancingCreateLBCookieStickinessPolicyOutput + @see AWSElasticLoadBalancingCreateRuleInput + @see AWSElasticLoadBalancingCreateRuleOutput */ -- (void)createLBCookieStickinessPolicy:(AWSElasticLoadBalancingCreateLBCookieStickinessPolicyInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingCreateLBCookieStickinessPolicyOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)createRule:(AWSElasticLoadBalancingCreateRuleInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingCreateRuleOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Creates a Classic Load Balancer.
You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using CreateLoadBalancerListeners, ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags.
To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.
You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.
+Creates a target group.
To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.
To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.
To delete a target group, use DeleteTargetGroup.
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds.
For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide or Target Groups for Your Network Load Balancers in the Network Load Balancers Guide.
- @param request A container for the necessary parameters to execute the CreateLoadBalancer service method. + @param request A container for the necessary parameters to execute the CreateTargetGroup service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingCreateAccessPointOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateAccessPointName`, `AWSElasticLoadBalancingErrorTooManyAccessPoints`, `AWSElasticLoadBalancingErrorCertificateNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorSubnetNotFound`, `AWSElasticLoadBalancingErrorInvalidSubnet`, `AWSElasticLoadBalancingErrorInvalidSecurityGroup`, `AWSElasticLoadBalancingErrorInvalidScheme`, `AWSElasticLoadBalancingErrorTooManyTags`, `AWSElasticLoadBalancingErrorDuplicateTagKeys`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`, `AWSElasticLoadBalancingErrorOperationNotPermitted`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingCreateTargetGroupOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateTargetGroupName`, `AWSElasticLoadBalancingErrorTooManyTargetGroups`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. - @see AWSElasticLoadBalancingCreateAccessPointInput - @see AWSElasticLoadBalancingCreateAccessPointOutput + @see AWSElasticLoadBalancingCreateTargetGroupInput + @see AWSElasticLoadBalancingCreateTargetGroupOutput */ -- (AWSTaskCreates a Classic Load Balancer.
You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using CreateLoadBalancerListeners, ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags.
To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.
You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.
+Creates a target group.
To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.
To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.
To delete a target group, use DeleteTargetGroup.
This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds.
For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide or Target Groups for Your Network Load Balancers in the Network Load Balancers Guide.
- @param request A container for the necessary parameters to execute the CreateLoadBalancer service method. + @param request A container for the necessary parameters to execute the CreateTargetGroup 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateAccessPointName`, `AWSElasticLoadBalancingErrorTooManyAccessPoints`, `AWSElasticLoadBalancingErrorCertificateNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorSubnetNotFound`, `AWSElasticLoadBalancingErrorInvalidSubnet`, `AWSElasticLoadBalancingErrorInvalidSecurityGroup`, `AWSElasticLoadBalancingErrorInvalidScheme`, `AWSElasticLoadBalancingErrorTooManyTags`, `AWSElasticLoadBalancingErrorDuplicateTagKeys`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`, `AWSElasticLoadBalancingErrorOperationNotPermitted`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorDuplicateTargetGroupName`, `AWSElasticLoadBalancingErrorTooManyTargetGroups`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. - @see AWSElasticLoadBalancingCreateAccessPointInput - @see AWSElasticLoadBalancingCreateAccessPointOutput + @see AWSElasticLoadBalancingCreateTargetGroupInput + @see AWSElasticLoadBalancingCreateTargetGroupOutput */ -- (void)createLoadBalancer:(AWSElasticLoadBalancingCreateAccessPointInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingCreateAccessPointOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)createTargetGroup:(AWSElasticLoadBalancingCreateTargetGroupInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingCreateTargetGroupOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Creates one or more listeners for the specified load balancer. If a listener with the specified port does not already exist, it is created; otherwise, the properties of the new listener must match the properties of the existing listener.
For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.
+Deletes the specified listener.
Alternatively, your listener is deleted when you delete the load balancer to which it is attached, using DeleteLoadBalancer.
- @param request A container for the necessary parameters to execute the CreateLoadBalancerListeners service method. + @param request A container for the necessary parameters to execute the DeleteListener service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingCreateLoadBalancerListenerOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorDuplicateListener`, `AWSElasticLoadBalancingErrorCertificateNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDeleteListenerOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorListenerNotFound`. - @see AWSElasticLoadBalancingCreateLoadBalancerListenerInput - @see AWSElasticLoadBalancingCreateLoadBalancerListenerOutput + @see AWSElasticLoadBalancingDeleteListenerInput + @see AWSElasticLoadBalancingDeleteListenerOutput */ -- (AWSTaskCreates one or more listeners for the specified load balancer. If a listener with the specified port does not already exist, it is created; otherwise, the properties of the new listener must match the properties of the existing listener.
For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.
+Deletes the specified listener.
Alternatively, your listener is deleted when you delete the load balancer to which it is attached, using DeleteLoadBalancer.
- @param request A container for the necessary parameters to execute the CreateLoadBalancerListeners service method. + @param request A container for the necessary parameters to execute the DeleteListener 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorDuplicateListener`, `AWSElasticLoadBalancingErrorCertificateNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorListenerNotFound`. - @see AWSElasticLoadBalancingCreateLoadBalancerListenerInput - @see AWSElasticLoadBalancingCreateLoadBalancerListenerOutput + @see AWSElasticLoadBalancingDeleteListenerInput + @see AWSElasticLoadBalancingDeleteListenerOutput */ -- (void)createLoadBalancerListeners:(AWSElasticLoadBalancingCreateLoadBalancerListenerInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingCreateLoadBalancerListenerOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)deleteListener:(AWSElasticLoadBalancingDeleteListenerInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeleteListenerOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Creates a policy with the specified attributes for the specified load balancer.
Policies are settings that are saved for your load balancer and that can be applied to the listener or the application server, depending on the policy type.
+Deletes the specified Application Load Balancer or Network Load Balancer and its attached listeners.
You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.
Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them.
- @param request A container for the necessary parameters to execute the CreateLoadBalancerPolicy service method. + @param request A container for the necessary parameters to execute the DeleteLoadBalancer service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingCreateLoadBalancerPolicyOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorPolicyTypeNotFound`, `AWSElasticLoadBalancingErrorDuplicatePolicyName`, `AWSElasticLoadBalancingErrorTooManyPolicies`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDeleteLoadBalancerOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorLoadBalancerNotFound`, `AWSElasticLoadBalancingErrorOperationNotPermitted`, `AWSElasticLoadBalancingErrorResourceInUse`. - @see AWSElasticLoadBalancingCreateLoadBalancerPolicyInput - @see AWSElasticLoadBalancingCreateLoadBalancerPolicyOutput + @see AWSElasticLoadBalancingDeleteLoadBalancerInput + @see AWSElasticLoadBalancingDeleteLoadBalancerOutput */ -- (AWSTaskCreates a policy with the specified attributes for the specified load balancer.
Policies are settings that are saved for your load balancer and that can be applied to the listener or the application server, depending on the policy type.
+Deletes the specified Application Load Balancer or Network Load Balancer and its attached listeners.
You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.
Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them.
- @param request A container for the necessary parameters to execute the CreateLoadBalancerPolicy service method. + @param request A container for the necessary parameters to execute the DeleteLoadBalancer 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorPolicyTypeNotFound`, `AWSElasticLoadBalancingErrorDuplicatePolicyName`, `AWSElasticLoadBalancingErrorTooManyPolicies`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorLoadBalancerNotFound`, `AWSElasticLoadBalancingErrorOperationNotPermitted`, `AWSElasticLoadBalancingErrorResourceInUse`. - @see AWSElasticLoadBalancingCreateLoadBalancerPolicyInput - @see AWSElasticLoadBalancingCreateLoadBalancerPolicyOutput + @see AWSElasticLoadBalancingDeleteLoadBalancerInput + @see AWSElasticLoadBalancingDeleteLoadBalancerOutput */ -- (void)createLoadBalancerPolicy:(AWSElasticLoadBalancingCreateLoadBalancerPolicyInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingCreateLoadBalancerPolicyOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)deleteLoadBalancer:(AWSElasticLoadBalancingDeleteLoadBalancerInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeleteLoadBalancerOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Deletes the specified load balancer.
If you are attempting to recreate a load balancer, you must reconfigure all settings. The DNS name associated with a deleted load balancer are no longer usable. The name and associated DNS record of the deleted load balancer no longer exist and traffic sent to any of its IP addresses is no longer delivered to your instances.
If the load balancer does not exist or has already been deleted, the call to DeleteLoadBalancer
still succeeds.
Deletes the specified rule.
You can't delete the default rule.
- @param request A container for the necessary parameters to execute the DeleteLoadBalancer service method. + @param request A container for the necessary parameters to execute the DeleteRule service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDeleteAccessPointOutput`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDeleteRuleOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorRuleNotFound`, `AWSElasticLoadBalancingErrorOperationNotPermitted`. - @see AWSElasticLoadBalancingDeleteAccessPointInput - @see AWSElasticLoadBalancingDeleteAccessPointOutput + @see AWSElasticLoadBalancingDeleteRuleInput + @see AWSElasticLoadBalancingDeleteRuleOutput */ -- (AWSTaskDeletes the specified load balancer.
If you are attempting to recreate a load balancer, you must reconfigure all settings. The DNS name associated with a deleted load balancer are no longer usable. The name and associated DNS record of the deleted load balancer no longer exist and traffic sent to any of its IP addresses is no longer delivered to your instances.
If the load balancer does not exist or has already been deleted, the call to DeleteLoadBalancer
still succeeds.
Deletes the specified rule.
You can't delete the default rule.
- @param request A container for the necessary parameters to execute the DeleteLoadBalancer service method. + @param request A container for the necessary parameters to execute the DeleteRule 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. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorRuleNotFound`, `AWSElasticLoadBalancingErrorOperationNotPermitted`. - @see AWSElasticLoadBalancingDeleteAccessPointInput - @see AWSElasticLoadBalancingDeleteAccessPointOutput + @see AWSElasticLoadBalancingDeleteRuleInput + @see AWSElasticLoadBalancingDeleteRuleOutput */ -- (void)deleteLoadBalancer:(AWSElasticLoadBalancingDeleteAccessPointInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeleteAccessPointOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)deleteRule:(AWSElasticLoadBalancingDeleteRuleInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeleteRuleOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Deletes the specified listeners from the specified load balancer.
+Deletes the specified target group.
You can delete a target group if it is not referenced by any actions. Deleting a target group also deletes any associated health checks.
- @param request A container for the necessary parameters to execute the DeleteLoadBalancerListeners service method. + @param request A container for the necessary parameters to execute the DeleteTargetGroup service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDeleteLoadBalancerListenerOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDeleteTargetGroupOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorResourceInUse`. - @see AWSElasticLoadBalancingDeleteLoadBalancerListenerInput - @see AWSElasticLoadBalancingDeleteLoadBalancerListenerOutput + @see AWSElasticLoadBalancingDeleteTargetGroupInput + @see AWSElasticLoadBalancingDeleteTargetGroupOutput */ -- (AWSTaskDeletes the specified listeners from the specified load balancer.
+Deletes the specified target group.
You can delete a target group if it is not referenced by any actions. Deleting a target group also deletes any associated health checks.
- @param request A container for the necessary parameters to execute the DeleteLoadBalancerListeners service method. + @param request A container for the necessary parameters to execute the DeleteTargetGroup 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorResourceInUse`. - @see AWSElasticLoadBalancingDeleteLoadBalancerListenerInput - @see AWSElasticLoadBalancingDeleteLoadBalancerListenerOutput + @see AWSElasticLoadBalancingDeleteTargetGroupInput + @see AWSElasticLoadBalancingDeleteTargetGroupOutput */ -- (void)deleteLoadBalancerListeners:(AWSElasticLoadBalancingDeleteLoadBalancerListenerInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeleteLoadBalancerListenerOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)deleteTargetGroup:(AWSElasticLoadBalancingDeleteTargetGroupInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeleteTargetGroupOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Deletes the specified policy from the specified load balancer. This policy must not be enabled for any listeners.
+Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.
- @param request A container for the necessary parameters to execute the DeleteLoadBalancerPolicy service method. + @param request A container for the necessary parameters to execute the DeregisterTargets service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDeleteLoadBalancerPolicyOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDeregisterTargetsOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorTargetGroupNotFound`, `AWSElasticLoadBalancingErrorInvalidTarget`. - @see AWSElasticLoadBalancingDeleteLoadBalancerPolicyInput - @see AWSElasticLoadBalancingDeleteLoadBalancerPolicyOutput + @see AWSElasticLoadBalancingDeregisterTargetsInput + @see AWSElasticLoadBalancingDeregisterTargetsOutput */ -- (AWSTaskDeletes the specified policy from the specified load balancer. This policy must not be enabled for any listeners.
+Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.
- @param request A container for the necessary parameters to execute the DeleteLoadBalancerPolicy service method. + @param request A container for the necessary parameters to execute the DeregisterTargets 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidConfigurationRequest`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorTargetGroupNotFound`, `AWSElasticLoadBalancingErrorInvalidTarget`. - @see AWSElasticLoadBalancingDeleteLoadBalancerPolicyInput - @see AWSElasticLoadBalancingDeleteLoadBalancerPolicyOutput + @see AWSElasticLoadBalancingDeregisterTargetsInput + @see AWSElasticLoadBalancingDeregisterTargetsOutput */ -- (void)deleteLoadBalancerPolicy:(AWSElasticLoadBalancingDeleteLoadBalancerPolicyInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeleteLoadBalancerPolicyOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)deregisterTargets:(AWSElasticLoadBalancingDeregisterTargetsInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeregisterTargetsOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Deregisters the specified instances from the specified load balancer. After the instance is deregistered, it no longer receives traffic from the load balancer.
You can use DescribeLoadBalancers to verify that the instance is deregistered from the load balancer.
For more information, see Register or De-Register EC2 Instances in the Classic Load Balancers Guide.
+Describes the current Elastic Load Balancing resource limits for your AWS account.
For more information, see Limits for Your Application Load Balancers in the Application Load Balancer Guide or Limits for Your Network Load Balancers in the Network Load Balancers Guide.
- @param request A container for the necessary parameters to execute the DeregisterInstancesFromLoadBalancer service method. + @param request A container for the necessary parameters to execute the DescribeAccountLimits service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDeregisterEndPointsOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidEndPoint`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDescribeAccountLimitsOutput`. - @see AWSElasticLoadBalancingDeregisterEndPointsInput - @see AWSElasticLoadBalancingDeregisterEndPointsOutput + @see AWSElasticLoadBalancingDescribeAccountLimitsInput + @see AWSElasticLoadBalancingDescribeAccountLimitsOutput */ -- (AWSTaskDeregisters the specified instances from the specified load balancer. After the instance is deregistered, it no longer receives traffic from the load balancer.
You can use DescribeLoadBalancers to verify that the instance is deregistered from the load balancer.
For more information, see Register or De-Register EC2 Instances in the Classic Load Balancers Guide.
+Describes the current Elastic Load Balancing resource limits for your AWS account.
For more information, see Limits for Your Application Load Balancers in the Application Load Balancer Guide or Limits for Your Network Load Balancers in the Network Load Balancers Guide.
- @param request A container for the necessary parameters to execute the DeregisterInstancesFromLoadBalancer service method. + @param request A container for the necessary parameters to execute the DescribeAccountLimits 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidEndPoint`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. - @see AWSElasticLoadBalancingDeregisterEndPointsInput - @see AWSElasticLoadBalancingDeregisterEndPointsOutput + @see AWSElasticLoadBalancingDescribeAccountLimitsInput + @see AWSElasticLoadBalancingDescribeAccountLimitsOutput */ -- (void)deregisterInstancesFromLoadBalancer:(AWSElasticLoadBalancingDeregisterEndPointsInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeregisterEndPointsOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)describeAccountLimits:(AWSElasticLoadBalancingDescribeAccountLimitsInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDescribeAccountLimitsOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Describes the current Elastic Load Balancing resource limits for your AWS account.
For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.
+Describes the default certificate and the certificate list for the specified HTTPS or TLS listener.
If the default certificate is also in the certificate list, it appears twice in the results (once with IsDefault
set to true and once with IsDefault
set to false).
For more information, see SSL Certificates in the Application Load Balancers Guide.
- @param request A container for the necessary parameters to execute the DescribeAccountLimits service method. + @param request A container for the necessary parameters to execute the DescribeListenerCertificates service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDescribeAccountLimitsOutput`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDescribeListenerCertificatesOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorListenerNotFound`. - @see AWSElasticLoadBalancingDescribeAccountLimitsInput - @see AWSElasticLoadBalancingDescribeAccountLimitsOutput + @see AWSElasticLoadBalancingDescribeListenerCertificatesInput + @see AWSElasticLoadBalancingDescribeListenerCertificatesOutput */ -- (AWSTaskDescribes the current Elastic Load Balancing resource limits for your AWS account.
For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.
+Describes the default certificate and the certificate list for the specified HTTPS or TLS listener.
If the default certificate is also in the certificate list, it appears twice in the results (once with IsDefault
set to true and once with IsDefault
set to false).
For more information, see SSL Certificates in the Application Load Balancers Guide.
- @param request A container for the necessary parameters to execute the DescribeAccountLimits service method. + @param request A container for the necessary parameters to execute the DescribeListenerCertificates 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. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorListenerNotFound`. - @see AWSElasticLoadBalancingDescribeAccountLimitsInput - @see AWSElasticLoadBalancingDescribeAccountLimitsOutput + @see AWSElasticLoadBalancingDescribeListenerCertificatesInput + @see AWSElasticLoadBalancingDescribeListenerCertificatesOutput */ -- (void)describeAccountLimits:(AWSElasticLoadBalancingDescribeAccountLimitsInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDescribeAccountLimitsOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)describeListenerCertificates:(AWSElasticLoadBalancingDescribeListenerCertificatesInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDescribeListenerCertificatesOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Describes the state of the specified instances with respect to the specified load balancer. If no instances are specified, the call describes the state of all instances that are currently registered with the load balancer. If instances are specified, their state is returned even if they are no longer registered with the load balancer. The state of terminated instances is not returned.
+Describes the specified listeners or the listeners for the specified Application Load Balancer or Network Load Balancer. You must specify either a load balancer or one or more listeners.
For an HTTPS or TLS listener, the output includes the default certificate for the listener. To describe the certificate list for the listener, use DescribeListenerCertificates.
- @param request A container for the necessary parameters to execute the DescribeInstanceHealth service method. + @param request A container for the necessary parameters to execute the DescribeListeners service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDescribeEndPointStateOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidEndPoint`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDescribeListenersOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorListenerNotFound`, `AWSElasticLoadBalancingErrorLoadBalancerNotFound`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`. - @see AWSElasticLoadBalancingDescribeEndPointStateInput - @see AWSElasticLoadBalancingDescribeEndPointStateOutput + @see AWSElasticLoadBalancingDescribeListenersInput + @see AWSElasticLoadBalancingDescribeListenersOutput */ -- (AWSTaskDescribes the state of the specified instances with respect to the specified load balancer. If no instances are specified, the call describes the state of all instances that are currently registered with the load balancer. If instances are specified, their state is returned even if they are no longer registered with the load balancer. The state of terminated instances is not returned.
+Describes the specified listeners or the listeners for the specified Application Load Balancer or Network Load Balancer. You must specify either a load balancer or one or more listeners.
For an HTTPS or TLS listener, the output includes the default certificate for the listener. To describe the certificate list for the listener, use DescribeListenerCertificates.
- @param request A container for the necessary parameters to execute the DescribeInstanceHealth service method. + @param request A container for the necessary parameters to execute the DescribeListeners 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorInvalidEndPoint`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorListenerNotFound`, `AWSElasticLoadBalancingErrorLoadBalancerNotFound`, `AWSElasticLoadBalancingErrorUnsupportedProtocol`. - @see AWSElasticLoadBalancingDescribeEndPointStateInput - @see AWSElasticLoadBalancingDescribeEndPointStateOutput + @see AWSElasticLoadBalancingDescribeListenersInput + @see AWSElasticLoadBalancingDescribeListenersOutput */ -- (void)describeInstanceHealth:(AWSElasticLoadBalancingDescribeEndPointStateInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDescribeEndPointStateOutput * _Nullable response, NSError * _Nullable error))completionHandler; +- (void)describeListeners:(AWSElasticLoadBalancingDescribeListenersInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDescribeListenersOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Describes the attributes for the specified load balancer.
+Describes the attributes for the specified Application Load Balancer or Network Load Balancer.
For more information, see Load Balancer Attributes in the Application Load Balancers Guide or Load Balancer Attributes in the Network Load Balancers Guide.
@param request A container for the necessary parameters to execute the DescribeLoadBalancerAttributes service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDescribeLoadBalancerAttributesOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorLoadBalancerAttributeNotFound`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDescribeLoadBalancerAttributesOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorLoadBalancerNotFound`. @see AWSElasticLoadBalancingDescribeLoadBalancerAttributesInput @see AWSElasticLoadBalancingDescribeLoadBalancerAttributesOutput @@ -562,12 +537,12 @@ FOUNDATION_EXPORT NSString *const AWSElasticLoadBalancingSDKVersion; - (AWSTaskDescribes the attributes for the specified load balancer.
+Describes the attributes for the specified Application Load Balancer or Network Load Balancer.
For more information, see Load Balancer Attributes in the Application Load Balancers Guide or Load Balancer Attributes in the Network Load Balancers Guide.
@param request A container for the necessary parameters to execute the DescribeLoadBalancerAttributes 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. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorLoadBalancerAttributeNotFound`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorLoadBalancerNotFound`. @see AWSElasticLoadBalancingDescribeLoadBalancerAttributesInput @see AWSElasticLoadBalancingDescribeLoadBalancerAttributesOutput @@ -575,86 +550,86 @@ FOUNDATION_EXPORT NSString *const AWSElasticLoadBalancingSDKVersion; - (void)describeLoadBalancerAttributes:(AWSElasticLoadBalancingDescribeLoadBalancerAttributesInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDescribeLoadBalancerAttributesOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -Describes the specified policies.
If you specify a load balancer name, the action returns the descriptions of all policies created for the load balancer. If you specify a policy name associated with your load balancer, the action returns the description of that policy. If you don't specify a load balancer name, the action returns descriptions of the specified sample policies, or descriptions of all sample policies. The names of the sample policies have the ELBSample-
prefix.
Describes the specified load balancers or all of your load balancers.
To describe the listeners for a load balancer, use DescribeListeners. To describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.
- @param request A container for the necessary parameters to execute the DescribeLoadBalancerPolicies service method. + @param request A container for the necessary parameters to execute the DescribeLoadBalancers service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDescribeLoadBalancerPoliciesOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorAccessPointNotFound`, `AWSElasticLoadBalancingErrorPolicyNotFound`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSElasticLoadBalancingDescribeLoadBalancersOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSElasticLoadBalancingErrorDomain` domain and the following error code: `AWSElasticLoadBalancingErrorLoadBalancerNotFound`. - @see AWSElasticLoadBalancingDescribeLoadBalancerPoliciesInput - @see AWSElasticLoadBalancingDescribeLoadBalancerPoliciesOutput + @see AWSElasticLoadBalancingDescribeLoadBalancersInput + @see AWSElasticLoadBalancingDescribeLoadBalancersOutput */ -- (AWSTask