aws-sdk-ec2 1.579.0 → 1.580.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2441,13 +2441,39 @@ module Aws::EC2
2441
2441
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2442
2442
  # @return [Boolean]
2443
2443
  #
2444
+ # @!attribute [rw] availability_zone
2445
+ # For regional NAT gateways only: The Availability Zone where you want
2446
+ # to associate an Elastic IP address (EIP). The regional NAT gateway
2447
+ # uses a separate EIP in each AZ to handle outbound NAT traffic from
2448
+ # that AZ.
2449
+ #
2450
+ # A regional NAT gateway is a single NAT Gateway that works across
2451
+ # multiple availability zones (AZs) in your VPC, providing redundancy,
2452
+ # scalability and availability across all the AZs in a Region.
2453
+ # @return [String]
2454
+ #
2455
+ # @!attribute [rw] availability_zone_id
2456
+ # For regional NAT gateways only: The ID of the Availability Zone
2457
+ # where you want to associate an Elastic IP address (EIP). The
2458
+ # regional NAT gateway uses a separate EIP in each AZ to handle
2459
+ # outbound NAT traffic from that AZ. Use this instead of
2460
+ # AvailabilityZone for consistent identification of AZs across Amazon
2461
+ # Web Services Regions.
2462
+ #
2463
+ # A regional NAT gateway is a single NAT Gateway that works across
2464
+ # multiple availability zones (AZs) in your VPC, providing redundancy,
2465
+ # scalability and availability across all the AZs in a Region.
2466
+ # @return [String]
2467
+ #
2444
2468
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateNatGatewayAddressRequest AWS API Documentation
2445
2469
  #
2446
2470
  class AssociateNatGatewayAddressRequest < Struct.new(
2447
2471
  :nat_gateway_id,
2448
2472
  :allocation_ids,
2449
2473
  :private_ip_addresses,
2450
- :dry_run)
2474
+ :dry_run,
2475
+ :availability_zone,
2476
+ :availability_zone_id)
2451
2477
  SENSITIVE = []
2452
2478
  include Aws::Structure
2453
2479
  end
@@ -3861,6 +3887,60 @@ module Aws::EC2
3861
3887
  include Aws::Structure
3862
3888
  end
3863
3889
 
3890
+ # For regional NAT gateways only: The configuration specifying which
3891
+ # Elastic IP address (EIP) to use for handling outbound NAT traffic from
3892
+ # a specific Availability Zone.
3893
+ #
3894
+ # A regional NAT gateway is a single NAT Gateway that works across
3895
+ # multiple availability zones (AZs) in your VPC, providing redundancy,
3896
+ # scalability and availability across all the AZs in a Region.
3897
+ #
3898
+ # For more information, see [Regional NAT gateways for automatic
3899
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
3900
+ #
3901
+ #
3902
+ #
3903
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
3904
+ #
3905
+ # @!attribute [rw] availability_zone
3906
+ # For regional NAT gateways only: The Availability Zone where this
3907
+ # specific NAT gateway configuration will be active. Each AZ in a
3908
+ # regional NAT gateway has its own configuration to handle outbound
3909
+ # NAT traffic from that AZ.
3910
+ #
3911
+ # A regional NAT gateway is a single NAT Gateway that works across
3912
+ # multiple availability zones (AZs) in your VPC, providing redundancy,
3913
+ # scalability and availability across all the AZs in a Region.
3914
+ # @return [String]
3915
+ #
3916
+ # @!attribute [rw] availability_zone_id
3917
+ # For regional NAT gateways only: The ID of the Availability Zone
3918
+ # where this specific NAT gateway configuration will be active. Each
3919
+ # AZ in a regional NAT gateway has its own configuration to handle
3920
+ # outbound NAT traffic from that AZ. Use this instead of
3921
+ # AvailabilityZone for consistent identification of AZs across Amazon
3922
+ # Web Services Regions.
3923
+ #
3924
+ # A regional NAT gateway is a single NAT Gateway that works across
3925
+ # multiple availability zones (AZs) in your VPC, providing redundancy,
3926
+ # scalability and availability across all the AZs in a Region.
3927
+ # @return [String]
3928
+ #
3929
+ # @!attribute [rw] allocation_ids
3930
+ # The allocation IDs of the Elastic IP addresses (EIPs) to be used for
3931
+ # handling outbound NAT traffic in this specific Availability Zone.
3932
+ # @return [Array<String>]
3933
+ #
3934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZoneAddress AWS API Documentation
3935
+ #
3936
+ class AvailabilityZoneAddress < Struct.new(
3937
+ :availability_zone,
3938
+ :availability_zone_id,
3939
+ :allocation_ids)
3940
+ SENSITIVE = []
3941
+ include Aws::Structure
3942
+ end
3943
+
3864
3944
  # Describes a message about an Availability Zone, Local Zone, or
3865
3945
  # Wavelength Zone.
3866
3946
  #
@@ -10677,6 +10757,62 @@ module Aws::EC2
10677
10757
  include Aws::Structure
10678
10758
  end
10679
10759
 
10760
+ # @!attribute [rw] dry_run
10761
+ # A check for whether you have the required permissions for the action
10762
+ # without actually making the request and provides an error response.
10763
+ # If you have the required permissions, the error response is
10764
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
10765
+ # @return [Boolean]
10766
+ #
10767
+ # @!attribute [rw] tag_specifications
10768
+ # The tags to assign to the IPAM policy.
10769
+ # @return [Array<Types::TagSpecification>]
10770
+ #
10771
+ # @!attribute [rw] client_token
10772
+ # A unique, case-sensitive identifier to ensure the idempotency of the
10773
+ # request.
10774
+ #
10775
+ # **A suitable default value is auto-generated.** You should normally
10776
+ # not need to pass this option.
10777
+ # @return [String]
10778
+ #
10779
+ # @!attribute [rw] ipam_id
10780
+ # The ID of the IPAM for which you're creating the policy.
10781
+ # @return [String]
10782
+ #
10783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateIpamPolicyRequest AWS API Documentation
10784
+ #
10785
+ class CreateIpamPolicyRequest < Struct.new(
10786
+ :dry_run,
10787
+ :tag_specifications,
10788
+ :client_token,
10789
+ :ipam_id)
10790
+ SENSITIVE = []
10791
+ include Aws::Structure
10792
+ end
10793
+
10794
+ # @!attribute [rw] ipam_policy
10795
+ # Information about the created IPAM policy.
10796
+ #
10797
+ # An IPAM policy is a set of rules that define how public IPv4
10798
+ # addresses from IPAM pools are allocated to Amazon Web Services
10799
+ # resources. Each rule maps an Amazon Web Services service to IPAM
10800
+ # pools that the service will use to get IP addresses. A single policy
10801
+ # can have multiple rules and be applied to multiple Amazon Web
10802
+ # Services Regions. If the IPAM pool run out of addresses then the
10803
+ # services fallback to Amazon-provided IP addresses. A policy can be
10804
+ # applied to an individual Amazon Web Services account or an entity
10805
+ # within Amazon Web Services Organizations.
10806
+ # @return [Types::IpamPolicy]
10807
+ #
10808
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateIpamPolicyResult AWS API Documentation
10809
+ #
10810
+ class CreateIpamPolicyResult < Struct.new(
10811
+ :ipam_policy)
10812
+ SENSITIVE = []
10813
+ include Aws::Structure
10814
+ end
10815
+
10680
10816
  # @!attribute [rw] dry_run
10681
10817
  # A check for whether you have the required permissions for the action
10682
10818
  # without actually making the request and provides an error response.
@@ -11977,6 +12113,24 @@ module Aws::EC2
11977
12113
  include Aws::Structure
11978
12114
  end
11979
12115
 
12116
+ # @!attribute [rw] availability_mode
12117
+ # Specifies whether to create a zonal (single-AZ) or regional
12118
+ # (multi-AZ) NAT gateway. Defaults to `zonal`.
12119
+ #
12120
+ # A zonal NAT gateway is a NAT Gateway that provides redundancy and
12121
+ # scalability within a single availability zone. A regional NAT
12122
+ # gateway is a single NAT Gateway that works across multiple
12123
+ # availability zones (AZs) in your VPC, providing redundancy,
12124
+ # scalability and availability across all the AZs in a Region.
12125
+ #
12126
+ # For more information, see [Regional NAT gateways for automatic
12127
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
12128
+ #
12129
+ #
12130
+ #
12131
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
12132
+ # @return [String]
12133
+ #
11980
12134
  # @!attribute [rw] allocation_id
11981
12135
  # \[Public NAT gateways only\] The allocation ID of an Elastic IP
11982
12136
  # address to associate with the NAT gateway. You cannot specify an
@@ -12011,6 +12165,32 @@ module Aws::EC2
12011
12165
  # The ID of the subnet in which to create the NAT gateway.
12012
12166
  # @return [String]
12013
12167
  #
12168
+ # @!attribute [rw] vpc_id
12169
+ # The ID of the VPC where you want to create a regional NAT gateway.
12170
+ # @return [String]
12171
+ #
12172
+ # @!attribute [rw] availability_zone_addresses
12173
+ # For regional NAT gateways only: Specifies which Availability Zones
12174
+ # you want the NAT gateway to support and the Elastic IP addresses
12175
+ # (EIPs) to use in each AZ. The regional NAT gateway uses these EIPs
12176
+ # to handle outbound NAT traffic from their respective AZs. If not
12177
+ # specified, the NAT gateway will automatically expand to new AZs and
12178
+ # associate EIPs upon detection of an elastic network interface. If
12179
+ # you specify this parameter, auto-expansion is disabled and you must
12180
+ # manually manage AZ coverage.
12181
+ #
12182
+ # A regional NAT gateway is a single NAT Gateway that works across
12183
+ # multiple availability zones (AZs) in your VPC, providing redundancy,
12184
+ # scalability and availability across all the AZs in a Region.
12185
+ #
12186
+ # For more information, see [Regional NAT gateways for automatic
12187
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
12188
+ #
12189
+ #
12190
+ #
12191
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
12192
+ # @return [Array<Types::AvailabilityZoneAddress>]
12193
+ #
12014
12194
  # @!attribute [rw] tag_specifications
12015
12195
  # The tags to assign to the NAT gateway.
12016
12196
  # @return [Array<Types::TagSpecification>]
@@ -12059,10 +12239,13 @@ module Aws::EC2
12059
12239
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayRequest AWS API Documentation
12060
12240
  #
12061
12241
  class CreateNatGatewayRequest < Struct.new(
12242
+ :availability_mode,
12062
12243
  :allocation_id,
12063
12244
  :client_token,
12064
12245
  :dry_run,
12065
12246
  :subnet_id,
12247
+ :vpc_id,
12248
+ :availability_zone_addresses,
12066
12249
  :tag_specifications,
12067
12250
  :connectivity_type,
12068
12251
  :private_ip_address,
@@ -17390,6 +17573,48 @@ module Aws::EC2
17390
17573
  include Aws::Structure
17391
17574
  end
17392
17575
 
17576
+ # @!attribute [rw] dry_run
17577
+ # A check for whether you have the required permissions for the action
17578
+ # without actually making the request and provides an error response.
17579
+ # If you have the required permissions, the error response is
17580
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
17581
+ # @return [Boolean]
17582
+ #
17583
+ # @!attribute [rw] ipam_policy_id
17584
+ # The ID of the IPAM policy to delete.
17585
+ # @return [String]
17586
+ #
17587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteIpamPolicyRequest AWS API Documentation
17588
+ #
17589
+ class DeleteIpamPolicyRequest < Struct.new(
17590
+ :dry_run,
17591
+ :ipam_policy_id)
17592
+ SENSITIVE = []
17593
+ include Aws::Structure
17594
+ end
17595
+
17596
+ # @!attribute [rw] ipam_policy
17597
+ # Information about the deleted IPAM policy.
17598
+ #
17599
+ # An IPAM policy is a set of rules that define how public IPv4
17600
+ # addresses from IPAM pools are allocated to Amazon Web Services
17601
+ # resources. Each rule maps an Amazon Web Services service to IPAM
17602
+ # pools that the service will use to get IP addresses. A single policy
17603
+ # can have multiple rules and be applied to multiple Amazon Web
17604
+ # Services Regions. If the IPAM pool run out of addresses then the
17605
+ # services fallback to Amazon-provided IP addresses. A policy can be
17606
+ # applied to an individual Amazon Web Services account or an entity
17607
+ # within Amazon Web Services Organizations.
17608
+ # @return [Types::IpamPolicy]
17609
+ #
17610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteIpamPolicyResult AWS API Documentation
17611
+ #
17612
+ class DeleteIpamPolicyResult < Struct.new(
17613
+ :ipam_policy)
17614
+ SENSITIVE = []
17615
+ include Aws::Structure
17616
+ end
17617
+
17393
17618
  # @!attribute [rw] dry_run
17394
17619
  # A check for whether you have the required permissions for the action
17395
17620
  # without actually making the request and provides an error response.
@@ -26127,6 +26352,69 @@ module Aws::EC2
26127
26352
  include Aws::Structure
26128
26353
  end
26129
26354
 
26355
+ # @!attribute [rw] dry_run
26356
+ # A check for whether you have the required permissions for the action
26357
+ # without actually making the request and provides an error response.
26358
+ # If you have the required permissions, the error response is
26359
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
26360
+ # @return [Boolean]
26361
+ #
26362
+ # @!attribute [rw] filters
26363
+ # One or more filters for the IPAM policy description.
26364
+ # @return [Array<Types::Filter>]
26365
+ #
26366
+ # @!attribute [rw] max_results
26367
+ # The maximum number of results to return in a single call.
26368
+ # @return [Integer]
26369
+ #
26370
+ # @!attribute [rw] next_token
26371
+ # The token for the next page of results.
26372
+ # @return [String]
26373
+ #
26374
+ # @!attribute [rw] ipam_policy_ids
26375
+ # The IDs of the IPAM policies to describe.
26376
+ # @return [Array<String>]
26377
+ #
26378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamPoliciesRequest AWS API Documentation
26379
+ #
26380
+ class DescribeIpamPoliciesRequest < Struct.new(
26381
+ :dry_run,
26382
+ :filters,
26383
+ :max_results,
26384
+ :next_token,
26385
+ :ipam_policy_ids)
26386
+ SENSITIVE = []
26387
+ include Aws::Structure
26388
+ end
26389
+
26390
+ # @!attribute [rw] next_token
26391
+ # The token to use to retrieve the next page of results. This value is
26392
+ # `null` when there are no more results to return.
26393
+ # @return [String]
26394
+ #
26395
+ # @!attribute [rw] ipam_policies
26396
+ # Information about the IPAM policies.
26397
+ #
26398
+ # An IPAM policy is a set of rules that define how public IPv4
26399
+ # addresses from IPAM pools are allocated to Amazon Web Services
26400
+ # resources. Each rule maps an Amazon Web Services service to IPAM
26401
+ # pools that the service will use to get IP addresses. A single policy
26402
+ # can have multiple rules and be applied to multiple Amazon Web
26403
+ # Services Regions. If the IPAM pool run out of addresses then the
26404
+ # services fallback to Amazon-provided IP addresses. A policy can be
26405
+ # applied to an individual Amazon Web Services account or an entity
26406
+ # within Amazon Web Services Organizations.
26407
+ # @return [Array<Types::IpamPolicy>]
26408
+ #
26409
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamPoliciesResult AWS API Documentation
26410
+ #
26411
+ class DescribeIpamPoliciesResult < Struct.new(
26412
+ :next_token,
26413
+ :ipam_policies)
26414
+ SENSITIVE = []
26415
+ include Aws::Structure
26416
+ end
26417
+
26130
26418
  # @!attribute [rw] dry_run
26131
26419
  # A check for whether you have the required permissions for the action
26132
26420
  # without actually making the request and provides an error response.
@@ -26323,8 +26611,7 @@ module Aws::EC2
26323
26611
  # @return [Array<String>]
26324
26612
  #
26325
26613
  # @!attribute [rw] next_token
26326
- # Specify the pagination token from a previous request to retrieve the
26327
- # next page of results.
26614
+ # The token for the next page of results.
26328
26615
  # @return [String]
26329
26616
  #
26330
26617
  # @!attribute [rw] max_results
@@ -26353,8 +26640,8 @@ module Aws::EC2
26353
26640
  # @return [Array<Types::IpamResourceDiscovery>]
26354
26641
  #
26355
26642
  # @!attribute [rw] next_token
26356
- # Specify the pagination token from a previous request to retrieve the
26357
- # next page of results.
26643
+ # The token to use to retrieve the next page of results. This value is
26644
+ # `null` when there are no more results to return.
26358
26645
  # @return [String]
26359
26646
  #
26360
26647
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamResourceDiscoveriesResult AWS API Documentation
@@ -26408,8 +26695,8 @@ module Aws::EC2
26408
26695
  # @return [Array<Types::IpamResourceDiscoveryAssociation>]
26409
26696
  #
26410
26697
  # @!attribute [rw] next_token
26411
- # Specify the pagination token from a previous request to retrieve the
26412
- # next page of results.
26698
+ # The token to use to retrieve the next page of results. This value is
26699
+ # `null` when there are no more results to return.
26413
26700
  # @return [String]
26414
26701
  #
26415
26702
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamResourceDiscoveryAssociationsResult AWS API Documentation
@@ -35318,6 +35605,51 @@ module Aws::EC2
35318
35605
  include Aws::Structure
35319
35606
  end
35320
35607
 
35608
+ # @!attribute [rw] dry_run
35609
+ # A check for whether you have the required permissions for the action
35610
+ # without actually making the request and provides an error response.
35611
+ # If you have the required permissions, the error response is
35612
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
35613
+ # @return [Boolean]
35614
+ #
35615
+ # @!attribute [rw] ipam_policy_id
35616
+ # The ID of the IPAM policy to disable.
35617
+ # @return [String]
35618
+ #
35619
+ # @!attribute [rw] organization_target_id
35620
+ # The ID of the Amazon Web Services Organizations target for which to
35621
+ # disable the IPAM policy. This parameter is required only when IPAM
35622
+ # is integrated with Amazon Web Services Organizations. When IPAM is
35623
+ # not integrated with Amazon Web Services Organizations, omit this
35624
+ # parameter and the policy will be disabled for the current account.
35625
+ #
35626
+ # A target can be an individual Amazon Web Services account or an
35627
+ # entity within an Amazon Web Services Organization to which an IPAM
35628
+ # policy can be applied.
35629
+ # @return [String]
35630
+ #
35631
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableIpamPolicyRequest AWS API Documentation
35632
+ #
35633
+ class DisableIpamPolicyRequest < Struct.new(
35634
+ :dry_run,
35635
+ :ipam_policy_id,
35636
+ :organization_target_id)
35637
+ SENSITIVE = []
35638
+ include Aws::Structure
35639
+ end
35640
+
35641
+ # @!attribute [rw] return
35642
+ # Returns true if the IPAM policy was successfully disabled.
35643
+ # @return [Boolean]
35644
+ #
35645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableIpamPolicyResult AWS API Documentation
35646
+ #
35647
+ class DisableIpamPolicyResult < Struct.new(
35648
+ :return)
35649
+ SENSITIVE = []
35650
+ include Aws::Structure
35651
+ end
35652
+
35321
35653
  # @!attribute [rw] route_server_id
35322
35654
  # The ID of the route server for which to disable propagation.
35323
35655
  # @return [String]
@@ -38224,6 +38556,51 @@ module Aws::EC2
38224
38556
  include Aws::Structure
38225
38557
  end
38226
38558
 
38559
+ # @!attribute [rw] dry_run
38560
+ # A check for whether you have the required permissions for the action
38561
+ # without actually making the request and provides an error response.
38562
+ # If you have the required permissions, the error response is
38563
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
38564
+ # @return [Boolean]
38565
+ #
38566
+ # @!attribute [rw] ipam_policy_id
38567
+ # The ID of the IPAM policy to enable.
38568
+ # @return [String]
38569
+ #
38570
+ # @!attribute [rw] organization_target_id
38571
+ # The ID of the Amazon Web Services Organizations target for which to
38572
+ # enable the IPAM policy. This parameter is required only when IPAM is
38573
+ # integrated with Amazon Web Services Organizations. When IPAM is not
38574
+ # integrated with Amazon Web Services Organizations, omit this
38575
+ # parameter and the policy will apply to the current account.
38576
+ #
38577
+ # A target can be an individual Amazon Web Services account or an
38578
+ # entity within an Amazon Web Services Organization to which an IPAM
38579
+ # policy can be applied.
38580
+ # @return [String]
38581
+ #
38582
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableIpamPolicyRequest AWS API Documentation
38583
+ #
38584
+ class EnableIpamPolicyRequest < Struct.new(
38585
+ :dry_run,
38586
+ :ipam_policy_id,
38587
+ :organization_target_id)
38588
+ SENSITIVE = []
38589
+ include Aws::Structure
38590
+ end
38591
+
38592
+ # @!attribute [rw] ipam_policy_id
38593
+ # The ID of the IPAM policy that was enabled.
38594
+ # @return [String]
38595
+ #
38596
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableIpamPolicyResult AWS API Documentation
38597
+ #
38598
+ class EnableIpamPolicyResult < Struct.new(
38599
+ :ipam_policy_id)
38600
+ SENSITIVE = []
38601
+ include Aws::Structure
38602
+ end
38603
+
38227
38604
  # @!attribute [rw] dry_run
38228
38605
  # Checks whether you have the required permissions for the action,
38229
38606
  # without actually making the request, and provides an error response.
@@ -39491,7 +39868,7 @@ module Aws::EC2
39491
39868
  # in that system.
39492
39869
  #
39493
39870
  # For more information, see [Integrate VPC IPAM with Infoblox
39494
- # infrastructure][1] in the *Amazon VPC IPAM User Guide*..
39871
+ # infrastructure][1] in the *Amazon VPC IPAM User Guide*.
39495
39872
  #
39496
39873
  #
39497
39874
  #
@@ -42179,6 +42556,43 @@ module Aws::EC2
42179
42556
  include Aws::Structure
42180
42557
  end
42181
42558
 
42559
+ # @!attribute [rw] dry_run
42560
+ # A check for whether you have the required permissions for the action
42561
+ # without actually making the request and provides an error response.
42562
+ # If you have the required permissions, the error response is
42563
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
42564
+ # @return [Boolean]
42565
+ #
42566
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEnabledIpamPolicyRequest AWS API Documentation
42567
+ #
42568
+ class GetEnabledIpamPolicyRequest < Struct.new(
42569
+ :dry_run)
42570
+ SENSITIVE = []
42571
+ include Aws::Structure
42572
+ end
42573
+
42574
+ # @!attribute [rw] ipam_policy_enabled
42575
+ # Indicates whether the IPAM policy is enabled.
42576
+ # @return [Boolean]
42577
+ #
42578
+ # @!attribute [rw] ipam_policy_id
42579
+ # The ID of the enabled IPAM policy.
42580
+ # @return [String]
42581
+ #
42582
+ # @!attribute [rw] managed_by
42583
+ # The entity that manages the IPAM policy.
42584
+ # @return [String]
42585
+ #
42586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEnabledIpamPolicyResult AWS API Documentation
42587
+ #
42588
+ class GetEnabledIpamPolicyResult < Struct.new(
42589
+ :ipam_policy_enabled,
42590
+ :ipam_policy_id,
42591
+ :managed_by)
42592
+ SENSITIVE = []
42593
+ include Aws::Structure
42594
+ end
42595
+
42182
42596
  # @!attribute [rw] dry_run
42183
42597
  # Checks whether you have the required permissions for the action,
42184
42598
  # without actually making the request, and provides an error response.
@@ -42863,6 +43277,135 @@ module Aws::EC2
42863
43277
  include Aws::Structure
42864
43278
  end
42865
43279
 
43280
+ # @!attribute [rw] dry_run
43281
+ # A check for whether you have the required permissions for the action
43282
+ # without actually making the request and provides an error response.
43283
+ # If you have the required permissions, the error response is
43284
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
43285
+ # @return [Boolean]
43286
+ #
43287
+ # @!attribute [rw] ipam_policy_id
43288
+ # The ID of the IPAM policy for which to get allocation rules.
43289
+ # @return [String]
43290
+ #
43291
+ # @!attribute [rw] filters
43292
+ # One or more filters for the allocation rules.
43293
+ # @return [Array<Types::Filter>]
43294
+ #
43295
+ # @!attribute [rw] locale
43296
+ # The locale for which to get the allocation rules.
43297
+ # @return [String]
43298
+ #
43299
+ # @!attribute [rw] resource_type
43300
+ # The resource type for which to get the allocation rules.
43301
+ #
43302
+ # The Amazon Web Services service or resource type that can use IP
43303
+ # addresses through IPAM policies. Supported services and resource
43304
+ # types include:
43305
+ #
43306
+ # * Elastic IP addresses
43307
+ #
43308
+ # ^
43309
+ # @return [String]
43310
+ #
43311
+ # @!attribute [rw] max_results
43312
+ # The maximum number of results to return in a single call.
43313
+ # @return [Integer]
43314
+ #
43315
+ # @!attribute [rw] next_token
43316
+ # The token for the next page of results.
43317
+ # @return [String]
43318
+ #
43319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPolicyAllocationRulesRequest AWS API Documentation
43320
+ #
43321
+ class GetIpamPolicyAllocationRulesRequest < Struct.new(
43322
+ :dry_run,
43323
+ :ipam_policy_id,
43324
+ :filters,
43325
+ :locale,
43326
+ :resource_type,
43327
+ :max_results,
43328
+ :next_token)
43329
+ SENSITIVE = []
43330
+ include Aws::Structure
43331
+ end
43332
+
43333
+ # @!attribute [rw] ipam_policy_documents
43334
+ # The IPAM policy documents containing the allocation rules.
43335
+ #
43336
+ # Allocation rules are optional configurations within an IPAM policy
43337
+ # that map Amazon Web Services resource types to specific IPAM pools.
43338
+ # If no rules are defined, the resource types default to using
43339
+ # Amazon-provided IP addresses.
43340
+ # @return [Array<Types::IpamPolicyDocument>]
43341
+ #
43342
+ # @!attribute [rw] next_token
43343
+ # The token to use to retrieve the next page of results.
43344
+ # @return [String]
43345
+ #
43346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPolicyAllocationRulesResult AWS API Documentation
43347
+ #
43348
+ class GetIpamPolicyAllocationRulesResult < Struct.new(
43349
+ :ipam_policy_documents,
43350
+ :next_token)
43351
+ SENSITIVE = []
43352
+ include Aws::Structure
43353
+ end
43354
+
43355
+ # @!attribute [rw] dry_run
43356
+ # A check for whether you have the required permissions for the action
43357
+ # without actually making the request and provides an error response.
43358
+ # If you have the required permissions, the error response is
43359
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
43360
+ # @return [Boolean]
43361
+ #
43362
+ # @!attribute [rw] max_results
43363
+ # The maximum number of results to return in a single call.
43364
+ # @return [Integer]
43365
+ #
43366
+ # @!attribute [rw] next_token
43367
+ # The token for the next page of results.
43368
+ # @return [String]
43369
+ #
43370
+ # @!attribute [rw] ipam_policy_id
43371
+ # The ID of the IPAM policy for which to get Amazon Web Services
43372
+ # Organizations targets.
43373
+ # @return [String]
43374
+ #
43375
+ # @!attribute [rw] filters
43376
+ # One or more filters for the Amazon Web Services Organizations
43377
+ # targets.
43378
+ # @return [Array<Types::Filter>]
43379
+ #
43380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPolicyOrganizationTargetsRequest AWS API Documentation
43381
+ #
43382
+ class GetIpamPolicyOrganizationTargetsRequest < Struct.new(
43383
+ :dry_run,
43384
+ :max_results,
43385
+ :next_token,
43386
+ :ipam_policy_id,
43387
+ :filters)
43388
+ SENSITIVE = []
43389
+ include Aws::Structure
43390
+ end
43391
+
43392
+ # @!attribute [rw] organization_targets
43393
+ # The Amazon Web Services Organizations targets for an IPAM policy.
43394
+ # @return [Array<Types::IpamPolicyOrganizationTarget>]
43395
+ #
43396
+ # @!attribute [rw] next_token
43397
+ # The token to use to retrieve the next page of results.
43398
+ # @return [String]
43399
+ #
43400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPolicyOrganizationTargetsResult AWS API Documentation
43401
+ #
43402
+ class GetIpamPolicyOrganizationTargetsResult < Struct.new(
43403
+ :organization_targets,
43404
+ :next_token)
43405
+ SENSITIVE = []
43406
+ include Aws::Structure
43407
+ end
43408
+
42866
43409
  # @!attribute [rw] dry_run
42867
43410
  # A check for whether you have the required permissions for the action
42868
43411
  # without actually making the request and provides an error response.
@@ -52031,6 +52574,166 @@ module Aws::EC2
52031
52574
  include Aws::Structure
52032
52575
  end
52033
52576
 
52577
+ # Information about an IPAM policy.
52578
+ #
52579
+ # An IPAM policy is a set of rules that define how public IPv4 addresses
52580
+ # from IPAM pools are allocated to Amazon Web Services resources. Each
52581
+ # rule maps an Amazon Web Services service to IPAM pools that the
52582
+ # service will use to get IP addresses. A single policy can have
52583
+ # multiple rules and be applied to multiple Amazon Web Services Regions.
52584
+ # If the IPAM pool run out of addresses then the services fallback to
52585
+ # Amazon-provided IP addresses. A policy can be applied to an individual
52586
+ # Amazon Web Services account or an entity within Amazon Web Services
52587
+ # Organizations.
52588
+ #
52589
+ # @!attribute [rw] owner_id
52590
+ # The account ID that owns the IPAM policy.
52591
+ # @return [String]
52592
+ #
52593
+ # @!attribute [rw] ipam_policy_id
52594
+ # The ID of the IPAM policy.
52595
+ # @return [String]
52596
+ #
52597
+ # @!attribute [rw] ipam_policy_arn
52598
+ # The Amazon Resource Name (ARN) of the IPAM policy.
52599
+ # @return [String]
52600
+ #
52601
+ # @!attribute [rw] ipam_policy_region
52602
+ # The Region of the IPAM policy.
52603
+ # @return [String]
52604
+ #
52605
+ # @!attribute [rw] state
52606
+ # The state of the IPAM policy.
52607
+ # @return [String]
52608
+ #
52609
+ # @!attribute [rw] state_message
52610
+ # A message about the state of the IPAM policy.
52611
+ # @return [String]
52612
+ #
52613
+ # @!attribute [rw] tags
52614
+ # The tags assigned to the IPAM policy.
52615
+ # @return [Array<Types::Tag>]
52616
+ #
52617
+ # @!attribute [rw] ipam_id
52618
+ # The ID of the IPAM this policy belongs to.
52619
+ # @return [String]
52620
+ #
52621
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicy AWS API Documentation
52622
+ #
52623
+ class IpamPolicy < Struct.new(
52624
+ :owner_id,
52625
+ :ipam_policy_id,
52626
+ :ipam_policy_arn,
52627
+ :ipam_policy_region,
52628
+ :state,
52629
+ :state_message,
52630
+ :tags,
52631
+ :ipam_id)
52632
+ SENSITIVE = []
52633
+ include Aws::Structure
52634
+ end
52635
+
52636
+ # Information about an IPAM policy allocation rule.
52637
+ #
52638
+ # Allocation rules are optional configurations within an IPAM policy
52639
+ # that map Amazon Web Services resource types to specific IPAM pools. If
52640
+ # no rules are defined, the resource types default to using
52641
+ # Amazon-provided IP addresses.
52642
+ #
52643
+ # @!attribute [rw] source_ipam_pool_id
52644
+ # The ID of the source IPAM pool for the allocation rule.
52645
+ #
52646
+ # An IPAM pool is a collection of IP addresses in IPAM that can be
52647
+ # allocated to Amazon Web Services resources.
52648
+ # @return [String]
52649
+ #
52650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicyAllocationRule AWS API Documentation
52651
+ #
52652
+ class IpamPolicyAllocationRule < Struct.new(
52653
+ :source_ipam_pool_id)
52654
+ SENSITIVE = []
52655
+ include Aws::Structure
52656
+ end
52657
+
52658
+ # Information about a requested IPAM policy allocation rule.
52659
+ #
52660
+ # Allocation rules are optional configurations within an IPAM policy
52661
+ # that map Amazon Web Services resource types to specific IPAM pools. If
52662
+ # no rules are defined, the resource types default to using
52663
+ # Amazon-provided IP addresses.
52664
+ #
52665
+ # @!attribute [rw] source_ipam_pool_id
52666
+ # The ID of the source IPAM pool for the requested allocation rule.
52667
+ #
52668
+ # An IPAM pool is a collection of IP addresses in IPAM that can be
52669
+ # allocated to Amazon Web Services resources.
52670
+ # @return [String]
52671
+ #
52672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicyAllocationRuleRequest AWS API Documentation
52673
+ #
52674
+ class IpamPolicyAllocationRuleRequest < Struct.new(
52675
+ :source_ipam_pool_id)
52676
+ SENSITIVE = []
52677
+ include Aws::Structure
52678
+ end
52679
+
52680
+ # Information about an IPAM policy.
52681
+ #
52682
+ # @!attribute [rw] ipam_policy_id
52683
+ # The ID of the IPAM policy.
52684
+ # @return [String]
52685
+ #
52686
+ # @!attribute [rw] locale
52687
+ # The locale of the IPAM policy document.
52688
+ # @return [String]
52689
+ #
52690
+ # @!attribute [rw] resource_type
52691
+ # The resource type of the IPAM policy document.
52692
+ #
52693
+ # The Amazon Web Services service or resource type that can use IP
52694
+ # addresses through IPAM policies. Supported services and resource
52695
+ # types include:
52696
+ #
52697
+ # * Elastic IP addresses
52698
+ #
52699
+ # ^
52700
+ # @return [String]
52701
+ #
52702
+ # @!attribute [rw] allocation_rules
52703
+ # The allocation rules in the IPAM policy document.
52704
+ #
52705
+ # Allocation rules are optional configurations within an IPAM policy
52706
+ # that map Amazon Web Services resource types to specific IPAM pools.
52707
+ # If no rules are defined, the resource types default to using
52708
+ # Amazon-provided IP addresses.
52709
+ # @return [Array<Types::IpamPolicyAllocationRule>]
52710
+ #
52711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicyDocument AWS API Documentation
52712
+ #
52713
+ class IpamPolicyDocument < Struct.new(
52714
+ :ipam_policy_id,
52715
+ :locale,
52716
+ :resource_type,
52717
+ :allocation_rules)
52718
+ SENSITIVE = []
52719
+ include Aws::Structure
52720
+ end
52721
+
52722
+ # The Amazon Web Services Organizations target for an IPAM policy.
52723
+ #
52724
+ # @!attribute [rw] organization_target_id
52725
+ # The ID of a Amazon Web Services Organizations target for an IPAM
52726
+ # policy.
52727
+ # @return [String]
52728
+ #
52729
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicyOrganizationTarget AWS API Documentation
52730
+ #
52731
+ class IpamPolicyOrganizationTarget < Struct.new(
52732
+ :organization_target_id)
52733
+ SENSITIVE = []
52734
+ include Aws::Structure
52735
+ end
52736
+
52034
52737
  # In IPAM, a pool is a collection of contiguous IP addresses CIDRs.
52035
52738
  # Pools enable you to organize your IP addresses according to your
52036
52739
  # routing and security needs. For example, if you have separate routing
@@ -59123,6 +59826,66 @@ module Aws::EC2
59123
59826
  include Aws::Structure
59124
59827
  end
59125
59828
 
59829
+ # @!attribute [rw] dry_run
59830
+ # A check for whether you have the required permissions for the action
59831
+ # without actually making the request and provides an error response.
59832
+ # If you have the required permissions, the error response is
59833
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
59834
+ # @return [Boolean]
59835
+ #
59836
+ # @!attribute [rw] ipam_policy_id
59837
+ # The ID of the IPAM policy whose allocation rules you want to modify.
59838
+ # @return [String]
59839
+ #
59840
+ # @!attribute [rw] locale
59841
+ # The locale for which to modify the allocation rules.
59842
+ # @return [String]
59843
+ #
59844
+ # @!attribute [rw] resource_type
59845
+ # The resource type for which to modify the allocation rules.
59846
+ #
59847
+ # The Amazon Web Services service or resource type that can use IP
59848
+ # addresses through IPAM policies. Supported services and resource
59849
+ # types include:
59850
+ #
59851
+ # * Elastic IP addresses
59852
+ #
59853
+ # ^
59854
+ # @return [String]
59855
+ #
59856
+ # @!attribute [rw] allocation_rules
59857
+ # The new allocation rules to apply to the IPAM policy.
59858
+ #
59859
+ # Allocation rules are optional configurations within an IPAM policy
59860
+ # that map Amazon Web Services resource types to specific IPAM pools.
59861
+ # If no rules are defined, the resource types default to using
59862
+ # Amazon-provided IP addresses.
59863
+ # @return [Array<Types::IpamPolicyAllocationRuleRequest>]
59864
+ #
59865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpamPolicyAllocationRulesRequest AWS API Documentation
59866
+ #
59867
+ class ModifyIpamPolicyAllocationRulesRequest < Struct.new(
59868
+ :dry_run,
59869
+ :ipam_policy_id,
59870
+ :locale,
59871
+ :resource_type,
59872
+ :allocation_rules)
59873
+ SENSITIVE = []
59874
+ include Aws::Structure
59875
+ end
59876
+
59877
+ # @!attribute [rw] ipam_policy_document
59878
+ # The modified IPAM policy containing the updated allocation rules.
59879
+ # @return [Types::IpamPolicyDocument]
59880
+ #
59881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpamPolicyAllocationRulesResult AWS API Documentation
59882
+ #
59883
+ class ModifyIpamPolicyAllocationRulesResult < Struct.new(
59884
+ :ipam_policy_document)
59885
+ SENSITIVE = []
59886
+ include Aws::Structure
59887
+ end
59888
+
59126
59889
  # @!attribute [rw] dry_run
59127
59890
  # A check for whether you have the required permissions for the action
59128
59891
  # without actually making the request and provides an error response.
@@ -63054,6 +63817,64 @@ module Aws::EC2
63054
63817
  # connectivity.
63055
63818
  # @return [String]
63056
63819
  #
63820
+ # @!attribute [rw] availability_mode
63821
+ # Indicates whether this is a zonal (single-AZ) or regional (multi-AZ)
63822
+ # NAT gateway.
63823
+ #
63824
+ # A zonal NAT gateway is a NAT Gateway that provides redundancy and
63825
+ # scalability within a single availability zone. A regional NAT
63826
+ # gateway is a single NAT Gateway that works across multiple
63827
+ # availability zones (AZs) in your VPC, providing redundancy,
63828
+ # scalability and availability across all the AZs in a Region.
63829
+ #
63830
+ # For more information, see [Regional NAT gateways for automatic
63831
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
63832
+ #
63833
+ #
63834
+ #
63835
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
63836
+ # @return [String]
63837
+ #
63838
+ # @!attribute [rw] auto_scaling_ips
63839
+ # For regional NAT gateways only: Indicates whether Amazon Web
63840
+ # Services automatically allocates additional Elastic IP addresses
63841
+ # (EIPs) in an AZ when the NAT gateway needs more ports due to
63842
+ # increased concurrent connections to a single destination from that
63843
+ # AZ.
63844
+ #
63845
+ # For more information, see [Regional NAT gateways for automatic
63846
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
63847
+ #
63848
+ #
63849
+ #
63850
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
63851
+ # @return [String]
63852
+ #
63853
+ # @!attribute [rw] auto_provision_zones
63854
+ # For regional NAT gateways only: Indicates whether Amazon Web
63855
+ # Services automatically manages AZ coverage. When enabled, the NAT
63856
+ # gateway associates EIPs in all AZs where your VPC has subnets to
63857
+ # handle outbound NAT traffic, expands to new AZs when you create
63858
+ # subnets there, and retracts from AZs where you've removed all
63859
+ # subnets. When disabled, you must manually manage which AZs the NAT
63860
+ # gateway supports and their corresponding EIPs.
63861
+ #
63862
+ # A regional NAT gateway is a single NAT Gateway that works across
63863
+ # multiple availability zones (AZs) in your VPC, providing redundancy,
63864
+ # scalability and availability across all the AZs in a Region.
63865
+ #
63866
+ # For more information, see [Regional NAT gateways for automatic
63867
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
63868
+ #
63869
+ #
63870
+ #
63871
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
63872
+ # @return [String]
63873
+ #
63874
+ # @!attribute [rw] route_table_id
63875
+ # For regional NAT gateways only, this is the ID of the NAT gateway.
63876
+ # @return [String]
63877
+ #
63057
63878
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGateway AWS API Documentation
63058
63879
  #
63059
63880
  class NatGateway < Struct.new(
@@ -63068,7 +63889,11 @@ module Aws::EC2
63068
63889
  :subnet_id,
63069
63890
  :vpc_id,
63070
63891
  :tags,
63071
- :connectivity_type)
63892
+ :connectivity_type,
63893
+ :availability_mode,
63894
+ :auto_scaling_ips,
63895
+ :auto_provision_zones,
63896
+ :route_table_id)
63072
63897
  SENSITIVE = []
63073
63898
  include Aws::Structure
63074
63899
  end
@@ -63111,6 +63936,18 @@ module Aws::EC2
63111
63936
  # The address status.
63112
63937
  # @return [String]
63113
63938
  #
63939
+ # @!attribute [rw] availability_zone
63940
+ # The Availability Zone where this Elastic IP address (EIP) is being
63941
+ # used to handle outbound NAT traffic.
63942
+ # @return [String]
63943
+ #
63944
+ # @!attribute [rw] availability_zone_id
63945
+ # The ID of the Availability Zone where this Elastic IP address (EIP)
63946
+ # is being used to handle outbound NAT traffic. Use this instead of
63947
+ # AvailabilityZone for consistent identification of AZs across Amazon
63948
+ # Web Services Regions.
63949
+ # @return [String]
63950
+ #
63114
63951
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGatewayAddress AWS API Documentation
63115
63952
  #
63116
63953
  class NatGatewayAddress < Struct.new(
@@ -63121,7 +63958,9 @@ module Aws::EC2
63121
63958
  :association_id,
63122
63959
  :is_primary,
63123
63960
  :failure_message,
63124
- :status)
63961
+ :status,
63962
+ :availability_zone,
63963
+ :availability_zone_id)
63125
63964
  SENSITIVE = []
63126
63965
  include Aws::Structure
63127
63966
  end